ウェブ-HACKS 「とりあえずやってみよう!」ブログでタグ「lighttpd」が付けられているもの
前回、lighttpdでバーチャルホストの設定をしたので、ついでにHikiをインストールすることにしました。HikiはwikiクローンでRubyで作られており非常に使いやすいです。
かなり、インストールに手間取ってしまったので、インストール方法をまとめておきます。
例として、hiki.example.comというサブドメインでの設定とします。
1) Hikiサイトより、最新ソースをダウンロードする
2) ダウンロードしたファイルをサーバにアップして解凍する
3) 解凍したファイルのdataディレクトリを公開側でない場所へ移動する
4) hikiconf.rb.sampleをhikiconf.rbに書き換えて@data_pathを設定する
5) lighttpd.confにバーチャルドメインを設定する
6) サーバ(lighttpd)を再起動すればOK
順調に起動するとおもったら、アクセスすると以下のエラーが大分はまってしまいました。
hiki error permission denied data//cache
原因は、dataファイルのパーミッションのせいでした。
(はじめスラッシュが2回続いていることが原因かと思ったのですが、全く関係ありませんでした。)
「/www/hiki/data」のオーナーをlighttpdにし、さらにchmod -R og+w dataとしました。
そしたらパーミッションエラーは表示されず正常に動作しました。
かなり、インストールに手間取ってしまったので、インストール方法をまとめておきます。
例として、hiki.example.comというサブドメインでの設定とします。
1) Hikiサイトより、最新ソースをダウンロードする
2) ダウンロードしたファイルをサーバにアップして解凍する
$ tar xvzf hiki-0.8.7.tar.gz $ mv hiki-0.8.7.tar.gz /www/example.com/hiki
3) 解凍したファイルのdataディレクトリを公開側でない場所へ移動する
$ cp -r /www/example.com/public/hiki/data /www/hiki
4) hikiconf.rb.sampleをhikiconf.rbに書き換えて@data_pathを設定する
$ mv /www/example.com/hiki/hikiconf.rb.sample /www/example.com/hiki/hikiconf.rb $vi /www/example.com/hiki/hikiconf.rb @data_path = '/www/hiki/data'
5) lighttpd.confにバーチャルドメインを設定する
$HTTP["host"] == "hiki.example.com" {
var.servername = "hiki.example.com"
accesslog.filename = "var.servername + "/access.log"
server.errorlog = "var.servername + "/error.log"
server.document-root = "/www/example.com/hiki"
index-file.names = ( "hiki.cgi" )
url.access-deny = ( "hikiconf.rb" )
cgi.assign = ( ".cgi" => "" )
6) サーバ(lighttpd)を再起動すればOK
# service lighttpd restart
順調に起動するとおもったら、アクセスすると以下のエラーが大分はまってしまいました。
hiki error permission denied data//cache
原因は、dataファイルのパーミッションのせいでした。
(はじめスラッシュが2回続いていることが原因かと思ったのですが、全く関係ありませんでした。)
「/www/hiki/data」のオーナーをlighttpdにし、さらにchmod -R og+w dataとしました。
そしたらパーミッションエラーは表示されず正常に動作しました。
VALUE DOMAINで既にドメイン取得済みの方限定ですが、サブドメインの設定方法とlighttpdサーバでvhost設定する方法を纏めました。
■ VALUE DOMAINの設定
1) VALUE DOMAINにアクセスしてログインする
http://www.value-domain.com/ のメニューよりログインを選択する
2) 「取得済みドメイン一覧」を選択
3) サブドメイン設定したいドメインをの「DNS」選択する
4) ホスト名に設定したいサブドメイン名を指定し、ターゲットにグローバルIPを設定する
5) 「変更」ボタンをクリックする
以上でVALUE DOMAINは設定完了
■ lighttpdの設定方法
1) lighttpd.confを編集する
# service lighttpd restart
※ http://subdomain.example.com にアクセスする
■ VALUE DOMAINの設定
1) VALUE DOMAINにアクセスしてログインする
http://www.value-domain.com/ のメニューよりログインを選択する
2) 「取得済みドメイン一覧」を選択
3) サブドメイン設定したいドメインをの「DNS」選択する
4) ホスト名に設定したいサブドメイン名を指定し、ターゲットにグローバルIPを設定する
5) 「変更」ボタンをクリックする
以上でVALUE DOMAINは設定完了
■ lighttpdの設定方法
1) lighttpd.confを編集する
$HTTP["host"] == "subdomain.example.com" {
var.servername = "subdomain.example.com"
accesslog.filename = "/var/log/lighttpd/" + var.servername + "/access.log"
server.errorlog = "/var/log/lighttpd/" + var.servername + "/error.log"
server.document-root = "/var/subdomain.example.com/"
index-file.names = ( "index.cgi" )
cgi.assign = ( ".cgi" => "" )
}
2) lighttpdを再起動してサブドメインにアクセスすればOK!# service lighttpd restart
※ http://subdomain.example.com にアクセスする
WebScrap(Railsアプリケーション)を立ち上げるのにApacheではなく、lighttpdを使おうと思います。
lighttpdを使用する理由は、Apacheは2系ではサポートされておらず、lighttpdの方が軽量で簡単ということだからです。
※それと実験的に新しいWebサーバを試してみたかったということもあります。
それでは手順は以下の通り。
1) サブドメインを設定する
2) lighttpd.confの設定
ApacheでいうところのvartualHostの設定は、lighttpdでは、$HTTP["host"]で設定します。
ちなみに今回はサブドメインでrailsアプリケーションを切り替えましたが、URIで変更することも可能です。
※その場合は$HTTP["url"]を使用する
※今回はサブドメインでの設定例
3) lighttpdの再起動
再起動して、指定したドメインにアクセスしれば正常に画面が表示されます
Apacheモジュールも結構使いたいため、今後はApache+lighttpdで構築しようと思います。
【参考サイト】
非常に参考になりました。より詳細にlighttpdの設定方法がわかります。
lighttpdを使用する理由は、Apacheは2系ではサポートされておらず、lighttpdの方が軽量で簡単ということだからです。
※それと実験的に新しいWebサーバを試してみたかったということもあります。
それでは手順は以下の通り。
1) サブドメインを設定する
webscrap IPaddress A
2) lighttpd.confの設定
ApacheでいうところのvartualHostの設定は、lighttpdでは、$HTTP["host"]で設定します。
ちなみに今回はサブドメインでrailsアプリケーションを切り替えましたが、URIで変更することも可能です。
※その場合は$HTTP["url"]を使用する
※今回はサブドメインでの設定例
$HTTP["host"] == "webscrap.23scripts.net" {
var.servername = "webscrap.23scripts.net"
accesslog.filename = "/var/log/lighttpd/" + var.servername + "/access.log"
server.errorlog = "/var/log/lighttpd/" + var.servername + "/error.log"
server.document-root = "/webscrap/public"
server.error-handler-404 = "dispatch.fcgi"
fastcgi.server = ( "dispatch.fcgi" =>
( "webscrap" =>
(
"socket" => "/var/run/webscrap.fcgi.socket",
"bin-path" => "/webscrap/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "production" )
)
)
)
}
はじめは、以下のsocketエラーが発生しましたが、”socket”の設定をしたら直りました。2008-03-15 10:12:08: (mod_fastcgi.c.2703) fcgi-server re-enabled: unix:/tmp/application.fcgi.socket-0
3) lighttpdの再起動
再起動して、指定したドメインにアクセスしれば正常に画面が表示されます
/etc/init.d/lighttpd restart
Apacheモジュールも結構使いたいため、今後はApache+lighttpdで構築しようと思います。
【参考サイト】
非常に参考になりました。より詳細にlighttpdの設定方法がわかります。

