在 Mac 上安裝 lighttpd + PHP + MySQL

只是為了筆記,方便以後查照。

因為希望能隨時隨地(即便在沒有網路的環境)修改自己 blog 的 theme 或是練習 web development ,所以就決定在自己的 iBook G4 (with [tag]Mac[/tag] OS X 10.4.8) 上安裝 [tag]lighttpd[/tag] (lightweight web server)、[tag]PHP[/tag] (server-side scripting language) 及 [tag]MySQL[/tag] (database management system)。

我是利用 DarwinPorts(現在好像叫做 [tag]MacPorts[/tag] 了)來安裝這三個軟體的,安裝就依照我下面介紹的順序:

  • 安裝 MySQL 5

    在終端機下輸入

    sudo port install mysql5

    就可以安裝 MySQL 5 了,不過安裝完要先建立 MySQL 的環境(建立一些必要的 tables),一樣在終端機下輸入:

    sudo mysql_install_db5

    結束後若無意外應該會在 /opt/local/var/db/mysql5 建立這些 tables ,但這個目錄(及其子目錄)的 owner 必須設定給 mysql 這個 user ,所以就再輸入

    sudo chown -R mysql /opt/local/var/db/mysql5

    就可以將 owner 設定給 mysql 了,要啟動的時候可以在終端機下手動輸入:

    sudo mysqld_safe5 &

    若之後沒有出現 error 的訊息,那就表示 MySQL server 已經成功啟動了!不過剛裝好的 MySQL server 要注意記得更改 root(mysql 裡的 root) 的密碼,預設是沒有密碼的。

  • 安裝 php5 (跑 fastcgi)

    這裡介紹的方法是讓 php 跑 fastcgi 而不是 module ,並且支援 MySQL 的相關 functions,所以在安裝時我輸入:

    sudo port install php5 +mysql +fastcgi

    耐心地等待它編譯完應該就沒什麼問題了,PHP 的設定檔會放在 /opt/local/etc 下,剛裝好時裡面有 php.ini-distphp.ini-recommend 兩個設定範例給你參考,你可以選擇一個然後更名為 php.ini 放在 /opt/local/etc 下就可以了。

  • 安裝 lighttpd

    安裝的方式一樣很簡單,輸入:

    sudo port install lighttpd +mysql

    就可以慢慢等他安裝好了,接下來就是要設定 lighttpd 讓它能動起來。

    lighttpd 的設定檔會放在 /opt/local/etc/lighttpd/ 下,它一樣預設有個範例檔案,將它複製一份並更名為 lighttpd.conf 放在該目錄下就可以,然後照下面的方式修改它:


    server.modules
    ...
    "mod_fastcgi" #將 '#' 拿掉,打開 mod_fastcgi 支援
    ...
    server.document-root = "網頁根目錄"
    server.errlog = "存取錯誤的 log 檔位置"
    ...
    accesslog.filename = "存取 log 檔"
    ...
    fastcgi.server = (".php" =>
    ("localhost" =>
    (
    "socket" => "/tmp/php-fastcgi.socket",
    "bin-path" => "/opt/local/bin/php-fcgi"
    )
    )
    )

    存檔之後,啟動 lighttpd 的方法就在終端機輸入:

    sudo /opt/local/sbin/lighttpd -f /opt/local/etc/lighttpd/lighttpd.conf

    如果沒有錯誤訊息,那就恭喜你成功啦~你可以在 document-root 下放一個 test.php 檔,檔案的內容為:



    然後打開瀏覽器到 http://localhost/test.php 看看有沒有錯誤就知道是不是成功了。

如果要更多的訊息,請參考各自的官方網站囉。