lighttpdの設定

1 インストール
2 lighttpdでrubyのCGIを動作させるための設定
3 rubyのCGIサンプル
4 lighttpdのBASIC認証   
                       

         Jun 2014

OS: Raspbian (Debian wheezy for Raspiberry Pi)


1 インストール

apt-get install lighttpd  ruby

2 lighttpdでRubyのCGIを動作させるための設定

(1) 拡張子 .rb を追加
/etc/lighttpd/lighttpd.conf
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".rb" )

/etc/lighttpd/conf-available/10-cgi.conf
cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".py"  => "/usr/bin/python",
        ".rb"  => "/usr/bin/ruby",
)


cgiを許可する。
lighty-enable-mod cgi
このコマンドで/etc/lighttpd/conf-available/10-cgi.conf ファイルが/etc/lighttpd/conf-enable/10-cgi.confにリンクされる。

lighttpdの再起動
/etc/init.d/lighttpd  restart

 ruby のcgi サンプル


/var/wwww/tameshi.rb
#!/usr/bin/ruby -Ku
#ヘッダー部
puts "Content-Type: text/html"
puts #ここでひとつ改行コードを送る
#body部
print <<"EOB"
<html>
        <head>
                <meta http-equiv="content-type" content="text/html; charset=utf8">
                <title>Ruby!</title>
        </head>
        <body>
                <h3>Hello</h3>
                <p>これは、おためしサンプルです。</p>
        </body>
</html>
EOB
chmod 755 /var/www/tameshi.rb を実行してパーミションを実行形式にする。

http://サーバーアドレス/tameshi.rb  で動く


4 lighttpdでBASIC認証

/etc/lighttpd/lighttpd.user というファイルを作成。IDとパスワードを書き込む
(たったの1行)
hogehoge:パスワード

パーミションとオーナー等を変更
# chown www-data /etc/lighttpd/lighttpd.user
# chgrp www-data /etc/lighttpd/lighttpd.user
# chmod 600 www-data /etc/lighttpd/lighttpd.user

 /etc/lighttpd//conf-available/05- auth.confを次のように変更する。(緑太斜体字の部分)
# /usr/share/doc/lighttpd/authentication.txt.gz

server.modules                += ( "mod_auth" )

auth.backend                 = "plain"
auth.backend.plain.userfile  = "/etc/lighttpd/lighttpd.user"

# auth.backend.plain.groupfile = "lighttpd.group"

# auth.backend.ldap.hostname   = "localhost"
# auth.backend.ldap.base-dn    = "dc=my-domain,dc=com"
# auth.backend.ldap.filter     = "(uid=$)"

auth.require                 = ( "/" =>
                                ( "method"  => "basic",
                                  "realm"   => "Secret",
                                  "require" => "valid-user"
                                )
                                )


# auth.require                 = ( "/server-status" =>
#                                (
#                  "method"  => "digest",
#                  "realm"   => "download archiv",
#                  "require" => "group=www|user=jan|host=192.168.2.10"
#                ),
#                "/server-info" =>
#                                (
#                  "method"  => "digest",
#                  "realm"   => "download archiv",
#                  "require" => "group=www|user=jan|host=192.168.2.10"
#                )
#                              )



認証モジュールをenableにして再起動
# lighty-enable-mod auth

/etc/init.d/lighttpd  restart