ウェブ-HACKS 「とりあえずやってみよう!」ブログでタグ「lighttpd」が付けられているもの

Hikiの設定方法(lighttpdで設定) hiki error permission deniedを解決!

   ブックマークに追加する
前回、lighttpdでバーチャルホストの設定をしたので、ついでにHikiをインストールすることにしました。HikiはwikiクローンでRubyで作られており非常に使いやすいです。
かなり、インストールに手間取ってしまったので、インストール方法をまとめておきます。

例として、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で既にドメイン取得済みの方限定ですが、サブドメインの設定方法とlighttpdサーバでvhost設定する方法を纏めました。

■ 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 にアクセスする

#4 lighttpdで複数のRailsアプリケーションを立ち上げる(vartualhost)

   ブックマークに追加する
WebScrap(Railsアプリケーション)を立ち上げるのにApacheではなく、lighttpdを使おうと思います。
lighttpdを使用する理由は、Apacheは2系ではサポートされておらず、lighttpdの方が軽量で簡単ということだからです。
※それと実験的に新しいWebサーバを試してみたかったということもあります。

それでは手順は以下の通り。

1) サブドメインを設定する


23scripts.netのDNS設定で以下の設定をする

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の設定方法がわかります。
あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。
Google

Tags