2008年05月07日
_ [Ubuntu][Arch] Apacheの代わりにLighttpdを入れる
軽くて速いらしいLighttpdを入れたので、その覚え書き。
インストール自体はパッケージが用意されていたので楽。
設定ファイルは/etc/lighttpd/lightppd.confだけなのだが、Ubuntu(Debian?)の場合は利用したいモジュールによっては/etc/lighttpd/conf-available以下に設定ファイルがあり、例えばmod_cgiが利用したい場合は
$ sudo lighty-enable-mod cgi Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl userdir Already enabled modules: Enabling cgi: ok Run /etc/init.d/lighttpd force-reload to enable changes
としてやれば/etc/lighttpd/conf-enabled以下からリンクが張られ有効になる。
このコマンドは結構便利で、
$ sudo lighty-enable-mod
とだけ打ってやると、
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl userdir Already enabled modules: cgi Enable module:
と入力待ちになる。有効か否かが分けて表示されるのでa2enmodに比べると格段に見やすい。
ローカルで遊ぶだけなので、cgiとuserdirぐらいで十分かな。
上にないモジュールはlighttpd.confの中で、
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_rewrite",
)
のように設定。
ほぼデフォルトの設定でも大丈夫だが、少しだけ変えた。
indexファイルと見なすファイル名。
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm",
"index.rb", "index.cgi",
"index.bin",
"index.lighttpd.html" )
ディレクトリを丸見えにする。
dir-listing.encoding = "utf-8" server.dir-listing = "enable"
CGIは拡張子ごとに、何で実行するかを指定しなければならない。
cgi.assign = (
".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl",
".php" => "/usr/bin/php-cgi",
".py" => "/usr/bin/python",
".rb" => "/usr/bin/ruby",
".bin" => ""
)
最後の".bin" => ""は、例えばHyperEstraierで設置したestseek.cgiなどは、そのままアクセスすると上の設定ではPerlで実行しようとしてしまう。
それを避けるため
$ ln -s estseek.cgi estseek.bin
のように、拡張子を.binにしてリンクを張ってやり、それにアクセスすれば無事実行される。
[ツッコミを入れる]
[]
