Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一)

來源:互聯網
上載者:User
Update history:
2008-12-27: 重新組織了各個部分, 分出了小節便於閱讀.
    添加了若干內容. 重新編寫了前言。

前言 :
    LAMP系統在很多網路系統中,包括開放軟體系統,裡面被廣泛應用,OS X作為基於BSD的主流圖形化使用者介面之一的商業案頭/伺服器系統, 它本來就原生地支援LAMP的(並不完全是),只是在系統預設的情況下,LAMP中的主要元素(Apache, MySQL, and PHP)是關閉disabled的,使用者需要若干步驟來開啟enable這些功能而已。
    雖然是這樣一個思路,但是在配置這些軟體的時候還是會出現各種各樣的問題, 尤其是在Leopard上面操作, 由於各個部分和版本之間的差異, 會造成一些麻煩, 所以有必要記錄下來, 以備後用; 本文也希望可以作為一個參考資料, 將各個軟體的配置情況在Mac系統上的情況給於說明; 還有就是盡量考慮到系統管理員的工作特點, 盡量使用shell命令, 以使管理工作可以盡量自動化。

    OS X Leopard 10.5系統內建的各軟體版本可以滿足絕大多數系統的要求,我的系統目前是10.5.5, 它的Apache是2.2.9(目前Open Source最新版本2.2.11), 而PHP是5.2.6(現在最新版本是5.2.8). 對於在Mac系統上使用LAMP的最大問題是, 這些組件可能需要針對OS X平台的binary版本, 而且PPC/Intel/Universal Binary等可能也是一個問題,根據Apple說它們可以很好地工作在Rosetta下面,但是我沒有測試,總之這些升級可能需要等待第三方或者是Apple來發布更新。

一. Web服務:
    1. Enale Apache
    Apache2的程式儲存在/etc/apache2目錄中.
    這個功能可以通過GUI的直觀方式開啟,分別是在Client和Server上操作的圖示:

注1
注1

    作完上面的工作就可以測試一下web server是否工作了。開啟任何一個瀏覽器,輸入http://localhost/, 就可以看到Apache的簡單的畫面了.

    使用shell命令的話, 就使用:

  1. sudo apachectl start

    同時, OS X的Web serice有一個特性,就是它自動地為原生每個使用者都自動開啟使用者的web service, 也就是說你可以在瀏覽器上輸入使用者的地址就可以看到使用者的web頁面了,比如: http://localhost/~student/.

    2. 還有一點就是,系統預設的web內容的根目錄是/Library/WebServer/Documents, 而每個使用者自己的是/Users/使用者名稱/Sites/. 這些設定可以在/etc/apache2/httpd.conf檔案中找到相應的設定.

    3. 防火牆:
    如果你希望讓區域網路甚至外網的使用者訪問你的web, 那麼你要確認一下OS X的防火牆是不是對web service開啟了連接埠,雖然是預設情況下,當你開啟web server後系統自動開啟該連接埠,但是如果出現無法訪問問題的話,還是要檢查一下。該設定在顯示:


    4. 禁止使用者web服務:
    如果管理員希望禁止某個使用者的web服務, 很好解決, 只要刪除或者移動對應使用者的conf檔案就可以了, 對應於每個使用者的conf檔案可以在/etc/apache2/users/目錄中可以找到.

二. PHP
    1. Enable PHP
    php的設定檔php.ini儲存於/etc/目錄中, 它的程式部分在/usr/apache2/libexec/目錄中.
    其實,對於PHP的支援是已經內建的,只不過是被注釋掉了。看看,

    發現這一行: #LoadModule php5_module        libexec/apache2/libphp5.so. 最前面有一個#符號,這一行變成了注釋行,只要是我們刪除那個#符號然後重新運行Apache就可以了。
    在變更之前,我們作一個備份,然後再修改內容,是一個好的習慣。

  1. cp /private/etc/apache2/httpd.conf /tmp/httpd.conf
  2. mv /private/etc/apache2/httpd.conf /private/etc/apache2/httpd.conf.org

    然後使用任何一個你熟悉的文字編輯器編輯/tmp/httpd.conf,刪除那個#號。我使用在Terminal裡面的nano, 它是內建的編輯器:

  1. nano /tmp/httpd.conf

    按鍵ctrl+w輸入php5,這樣nano就找到了那一行,刪除後,按鍵Ctrl-x, 它詢問你是否儲存變更,輸入y,  再按斷行符號,就可以儲存了,最後把/tmp目錄下的檔案挪回來就好了。(如果系統詢問password,那麼輸入administrator的密碼)

  1. mv /tmp/httpd.conf /private/etc/apache2/
  2. sudo chown root:wheel /private/etc/apache2/httpd.conf

    2. 設定變更的檢驗:
    首先是運行下面的命令來重新啟動apache或者重新啟動電腦也可以:

  1. sudo /usr/sbin/apachectl restart

    最後是檢驗結果了。開啟TextEdit,然後輸入下面一行代碼:

  1. <?php phpinfo(); ?>

    儲存到使用者的sites目錄下面的檔案名稱為phpinfo.php檔案,再瀏覽器的地址欄輸入http://localhost/~test/phpinfo.php,只要是上面的步驟都正確就可以看到php的infomation頁面了.

    3. Use SQLite.
    在PHPInfo裡面,可以找到, sqlite已經被開啟了,見:

上面這些過程, 操作起來一般來說沒有問題, 畢竟是Leopard內建的, 但是節下來的工作就需要一些耐心了, 請看Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(二).

注1: 資源來自於ref裡面的頁面。
Ref: http://developer.apple.com/mac/articles/internet/phpeasyway.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.