Pages

Monday, December 11, 2006

lighttpd + gallery v1.x

這幾天又吃錯藥,來試用一下傳說中神奇的 lighttpd。一開始想說該有的功能 lighttpd 都有支援,所以換掉 web server 應該不是難事,但實際設定的時候還是遇到一些小問題,在這邊做個記錄。

lighttpd 的設定檔跟 apache 比起來是相當簡單的,最重要的應該是 fastcgi + php 的設定,參考一下文件就可以設定好。不過事實證明我想的太美好了,測試的時候發現大部份服務雖然都正常運作,但 gallery 因為少了 mod_rewrite,全部都爛光光了....因為我用的是 gallery v1,在官方論壇找了半天沒找到設定方法,只好自己試著改寫:

url.rewrite = ( "^/gallery/(css|docs|images|java|js|setup|skins|tools|html_wrap)/(.*)$" => "/gallery/$1/$2", "^/gallery/([^.\?/]+.php(?:\?.*)?)" => "/gallery/$1", "^/gallery/?$" => "/gallery/index.php", "^/gallery/albums/(.*)$" => "/gallery/albums/$1", "^/gallery/([^.\?/]+)/([0-9]+)" => "/gallery/view_photo.php?set_albumName=$1&index=$2", "^/gallery/([^.\?/]+)/([A-Za-z_0-9\-]+)" => "/gallery/view_photo.php?set_albumName=$1&id=$2", "^/gallery/([^.\?/]+)\?(.+)$" => "/gallery/view_album.php?set_albumName=$1&$2", "^/gallery/([^.\?/]+)" => "/gallery/view_album.php?set_albumName=$1", )
另外也發現 css 效果完全不見,一開始還以為是 rewrite rule 寫錯所以讀不到,不過確認過 css 路徑的存取正常後,改用 MSIE 看看,沒想到竟然可以正常讀到 css 檔。想了老半天想不通,就把腦筋動到 mimetype 上。因為 gallery 預設的 css 檔名最後都多了 ".default" 也許是沒設定好導致 Firefox 不認得。Debian 上的 lighttpd 把 mimetype 部份移到其他套件,再用另一隻程式產生 lighttpd 的設定,研究了一下 Debian 的配置後,只要把 /etc/mime.types 中的 "text/css" 後面補上 "css.default" 就可以了。

另外還有一點比較麻煩,在 Config wizard 中因為偵測不到 apache mod_rewrite,會自動把 rewrite 關掉,關掉後網址會變比較冗長一些。如果要開啟 rewrite 功能,需要手動修改 config.php (放在 gallery 的安裝目錄下),把 rewrite 的設定改為 1 即可 (不用重新啟動 httpd)。

接下來應該會找個 wiki system 來玩玩。目前屬意的是 Moinmoin,看到 Debian wiki 弄的很不錯,不曉得好不好設定。如果有其他建議的話也歡迎提供 :)


This article was originally posted on this site.

No comments:

Post a Comment