Symfoware

Symfowareについての考察blog

軽量Webサーバー Mongoose サンプルとしてmantisをインストール

Mongooseでphpが動くようになりました。
軽量Webサーバー Mongoose phpをcgiで動かす

せっかくなので、普段よく使用する障害管理ツール
mantisをインストールしてみます。



mysqlとphp-mysqlのインストール



mantisはデータベースにmysqlを使用するので、インストールします。
※他のデータベースも使用可能ですが、経験がないので・・・

あわせて、phpのライブラリもインストールしてしまいます。


# apt-get install mysql-server
# apt-get install php5-mysql





mantisのインストール



データベースはインストール時に作成可能ですが、以前文字コードで痛い目を見たので、
私は事前にデータベースを作成する派です。
# mysql -root -ppiroko
mysql> CREATE DATABASE mantis CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.03 sec)


モジュールをダウンロードし、展開。

# cd /var/www
# wget http://sourceforge.net/projects/mantisbt/files/mantis-stable/1.1.8/mantisbt-1.1.8.tar.gz/download
# tar zxf mantisbt-1.1.8.tar.gz



ディレクトリ名を任意に変更

# mv mantisbt-1.1.8 mantis




これで下ごしらえは完了です。

http://[サーバー名]/mantis/admin/install.php
にアクセスすると、設定画面が表示されます。
mon_06_01.png

データベースユーザーとパスワードを入力し、データベース名を
手動で作成したmantisに変更します。

Install/Upgrade Databaseを押せば設定完了。

ログイン画面で、
ユーザー:administrator
パスワード:root
を入力すると、ログインできるかと。

当たり前なんですが、普通に動いてくれました。



  1. 2009/11/18(水) 12:04:14|
  2. Mongoose
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

軽量Webサーバー Mongoose phpをcgiで動かす

Mongooseでperlをcgiとして動かすことに成功しました。
軽量Webサーバー Mongoose perlをcgiで動かす

phpもcgiとして動かしてみます。


php-cgiのインストール



php-cgiをインストールします。


# apt-get install php5-cgi



インストールできたか確認

# which php-cgi
/usr/bin/php-cgi





mongoose.confの編集



php-cgiを有効にするため、mongoose.confを編集しました。


root            /var/www
#ports         80,443s
ports         80
access_log     /usr/local/mongoose/logs/access_log.txt
error_log     /usr/local/mongoose/logs/error_log.txt

# NOTE FOR PHP USERS:
# Correct PHP binary to use is php-cgi.exe, NOT php.exe!
cgi_interp    /usr/bin/perl
cgi_interp    /usr/bin/php-cgi
# cgi_interp    c:\perl\bin\perl.exe
# cgi_interp    c:\perl\bin\perl.exe
# cgi_interp    C:\WINDOWS\system32\cmd.exe

cgi_ext     cgi,pl,php



cgi_interpに/usr/bin/php-cgiを追加
cgi_extはcgi,pl,phpとしました。



php-cgiの動作確認



/var/wwwにテスト用のphpスクリプトを作成します。


# vi /var/www/test.php



ファイルの内容はおなじみのこれ。

<?php phpInfo(); ?>




http:/[mongooseサーバー]/test.phpにアクセスすると、こんな画面が表示されます。

mon_05_01.png


しかし、ここで問題発生。
perlのcgiが動かなくなってしまいました。


・・・ひょっとして、mongooseで動作可能なcgiは一種類だけ?
今度、ソースを確認してみようかと。





  1. 2009/11/17(火) 12:20:25|
  2. Mongoose
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

軽量Webサーバー Mongoose perlをcgiで動かす

Mongooseでperlを動かしてみます。

軽量Webサーバー Mongoose 設定ファイルの作成
ここで作成した設定ファイルをちょっと変更してやればOK

まず、perlの場所を確認します。
私の環境では(というか、大体こうだと思いますが、)/usr/bin/perlです。

# which perl
/usr/bin/perl




設定ファイルmongoose.confの変更



使用した設定ファイルは以下のとおり。

root            /var/www
#ports         80,443s
ports         80
access_log     /usr/local/mongoose/logs/access_log.txt
error_log     /usr/local/mongoose/logs/error_log.txt

# NOTE FOR PHP USERS:
# Correct PHP binary to use is php-cgi.exe, NOT php.exe!
cgi_interp    /usr/bin/perl
# cgi_interp    c:\perl\bin\perl.exe
# cgi_interp    c:\perl\bin\perl.exe
# cgi_interp    C:\WINDOWS\system32\cmd.exe

cgi_ext     cgi,pl



cgi_interpに/usr/bin/perlを指定。
cgi_extにcgiとplを指定しました。



cgi(perl)の動作確認



/var/wwwにtest.plというファイルを作成して確認しました。


#vi /var/www/test.pl



test.plの内容は以下のとおり。


print "Content-type: text/html\n";
print "\n";
print "Hello World! from perl!";



mongooseが/usr/bin/perlにファイルを直接渡してくれるようで、
ファイル文頭の
#!/usr/bin/perl
というお品書きは不要でした。


http:[mongooseサーバー]/test.pl
にブラウザでアクセスすると、こんな結果が表示されると思います。

mon_04_01.png

意外とお手軽。





  1. 2009/11/16(月) 12:15:22|
  2. Mongoose
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

軽量Webサーバー Mongoose 起動スクリプトの作成

Mongooseを手動で起動するのがめんどくさくなったので、起動スクリプトを作成しました。
※Debian版です。

作成する上で、Mongooseはどうも.pidファイルを出力しないっぽいので
プロセスIDをどうやって取得しようかと思っていたら・・・

LinuxでプロセスIDをgrepして引数に渡す方法
http://d.hatena.ne.jp/tanamon/20081010/1223621055

pgrepというコマンドが使えそう。


kill `pgrep mongoose`


これでmongooseのプロセスが終了します。


設定ファイルの作成は

# vi /etc/init.d/mongoose




/etc/init.d/mongooseの内容は以下のとおり。
※すみません。内容は微妙です・・・

#! /bin/sh
### BEGIN INIT INFO
# Provides: mongoose
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongoose web server
# Description: mongoose web server
### END INIT INFO

DESC="mongoose web server"
NAME=mongoose
DAEMON=/usr/local/mongoose/$NAME
SCRIPTNAME=/etc/init.d/$NAME

case "$1" in
    start)
        echo -n "Starting web server: $NAME"
        $DAEMON &
        ;;
    stop)
        echo -n "Stopping web server: $NAME"
        kill `pgrep $NAME`
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop}" >&2
        exit 1
        ;;
esac





実行権限を付与します。

# chmod +x /etc/init.d/mongoose




実行

# /etc/init.d/mongoose start



停止

# /etc/init.d/mongoose stop






【参考URL】
LinuxでプロセスIDをgrepして引数に渡す方法
http://d.hatena.ne.jp/tanamon/20081010/1223621055




  1. 2009/11/15(日) 12:11:24|
  2. Mongoose
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

軽量Webサーバー Mongoose 設定ファイルの作成

軽量Webサーバー Mongoose をDebianにインストールする

ここで、DebianにMongooseをインストールしました。

起動時の引数で、ポート番号などを指定できますが、
今後のことも考えて設定ファイルを作成し、ポート番号などを
指定することにします。



設定ファイルmongoose.confの作成



設定は、モジュールと同一階層にmongoose.confというファイルを作成し、
その中に記述します。


vi /usr/local/mongoose/mongoose.conf



mongoose.confの内容

# Mongoose web server configuration file.
# Lines starting with '#' and empty lines are ignored.
# For detailed description of every option, visit
# http://code.google.com/p/mongoose/wiki/MongooseManual

root        /var/www
#ports        80,443s
ports        80
access_log    /usr/local/mongoose/logs/access_log.txt
error_log    /usr/local/mongoose/logs/error_log.txt

# NOTE FOR PHP USERS:
# Correct PHP binary to use is php-cgi.exe, NOT php.exe!
# cgi_interp    c:\php\php-cgi.exe
# cgi_interp    c:\perl\bin\perl.exe
# cgi_interp    C:\WINDOWS\system32\cmd.exe


# cgi_ext     cgi,pl,php
# ssi_ext     shtml,shtm
# auth_realm    mydomain.com
# dir_list     no
# index_files index.html,index.htm,index.php,index.cgi
# aliases    /my_d_disk=d:\,/my_e_disk=e:\
# acl         -0.0.0.0/0,+10.0.0.0/8,+192.168.0.0/16
# admin_uri     /remote_admin
# protect     /remote_admin=c:\passwords.txt
# cgi_env     FOO=BAR,BAZ=POO
# auth_gpass    c:\mongoose_global_web_passwords.txt
# auth_PUT     c:\mongoose_put_delete_passwords.txt
# ssl_cert     ssl_cert.pem
# max_threads    100
# idle_time    10



rootディレクトリを/var/www
80ポートで起動
access_logを/usr/local/mongoose/logs/access_log.txtに作成
error_logを/usr/local/mongoose/logs/error_log.txtに作成
という最低限の指定を行っています。


設定ファイルで指定したディレクトリを作成しておきます。

# mkdir /usr/local/mongoose/logs
# mkdir /var/www





起動確認



/var/wwwにindex.htmlを作成します。
サンプルなので、内容はこんな感じにしました。


<html>
<head>
<title>mongoose</title>
</head>
<body>
Mongoose!
</body>
</html>



mongooseを起動します。

# cd /usr/local/mongoose
# ./mongoose



http://[mongooseサーバー]/
にアクセスすると、ちゃんとindex.htmlが表示されます。

mon_02_01.png



  1. 2009/11/14(土) 12:12:55|
  2. Mongoose
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
次のページ