Category lighttpd.

やっぱ root で実行させておくと怖いっていうか、はぁ? root で実行してたのかよ、とか怒られそうなので (誰に) ごにょごにょ。これでいいかは知らない。

# ユーザ作成
sudo useradd -s /bin/false -d /www www
# なんか既に www-data はあったので追加
sudo usermod -G www-data www
sudo vi /etc/lighttpd/lighttpd.conf
で server.username, server.groupname をアクティブにして変更

これだけやって起動してみるといろいろエラーが出る。/www とその中身やらログファイルやらが root 所有なので chown www:www-data **/* とかやって所有者変えておいた。fcgi なやつは chmod +x した。rep2 のデータディレクトリ以下も root 所有になってパーミッションエラーがでるので chown www:www-data **/* しといた。

とりあえずここまで。まだなんかありそうで怖い。

  1. トップ
  2. lighttpd
  3. lighttpd, 実行ユーザ変えた
  1. トップ
  2. linux
  3. lighttpd, 実行ユーザ変えた

ソースがドキュメントですってアレでソレで解決させたナニか。

iso-8859-1XML 宣言で決めうちされてて日本語のファイル名 (utf8) が化ける。なんだこれと思い、めんどくさいながら決めうちしなおすパッチを作ったはいいものの、周辺のソースを見てみるとちゃんと設定を読んでいるっぽい雰囲気をかもし出しているっていう。

結果を書くと、dir-listing.encoding = "utf-8" と lighttpd.conf に書けばいいだけだった。公式のドキュメントに載ってないからといって設定がないわけじゃないってことですね! 当たり前ってか!!

  1. トップ
  2. lighttpd
  3. lighttpd の dir_listing が以下略

こう、Apache の .htaccess は偉大だなぁってちょっと思った。いちいち再起動させるのは面倒くさい。

$HTTP["host"] == "temp.test.lowreal.net" {
$HTTP["url"] =~ "^/source" {
dir-listing.activate = "enable"
cgi.assign = ("")
mimetype.assign += (".rb" => "text/plain")
}
}

cgi.assign = () って最初書いたけどパースエラー。少なくとも一つ値を書かないとだめらしい。

  1. トップ
  2. lighttpd
  3. lighttpd, 特定ディレクトリで CGI を実行させない
  1. トップ
  2. soft
  3. lighttpd, 特定ディレクトリで CGI を実行させない