2009年12月21日 星期一
CakePHP教學 on OSX(二)安裝伺服器:MAMP
AMP開發伺服器的選擇
在OSX上要開發AMP網站基本上很容易。因為Apache伺服器跟PHP程式都是內建的,隨著作業系統還有免費的XCode開發環境。伺服器版的OSX Server內建MySQL,只有一般用的OSX版本需要額外安裝MySQL。對於高手來說,OSX上的AMP可以說是萬事俱備。
但是不幸的是,OSX內建的PHP,不知為何缺乏一些網站必要的函式庫,如處理圖檔的GD,處理雙位元語言的mbstring等等。對於程式高手來說,可以用XCode自己編譯這些函式庫並加入PHP,這對於我們這種非科班的程式的開發者來說,在OSX上要安裝這些PHP套件就非常麻煩。
對於我來說,有兩個選擇,一是安裝Marc Liyanage事先編譯好的Entropy PHP套件,另外就是使用MAMP程式。兩者的差別是,前者適用來取代系統內建的PHP,所以啓動方式往往得用到root權限來修改系統內建的一些設定檔案,比較適合拿來取代真正要作為伺服器使用的OSX上的PHP。後者是與作業系統分離的獨立軟體,不會干擾到系統的設置,比較適合拿來作在OSX上作程式開發之用。
此外,PHP的版本更新上,Entropy PHP套件的版本受限於Marc Liyanage個人的時間,更新速度比較慢;相較之下,MAMP的PHP版本更新速度就快很多。除了PHP版本外,使用Entropy PHP,還是得要自行安裝MySQL套件與phpMyAdmin。但往往因為OSX、MySQL、PHP的版本更新,尤其經歷OSX 10.5, 10.6大改版之後,往往造成Apache, PHP, MySQL與phpMyAdmin四者整合連線上的問題。而MAMP一個套件整合了Apache, MySQL, PHP4/5 跟phpMyAdmin等,讓開發者不須要自己解決整合問題,可以說省事許多。因此在OSX 10.6上開發AMP網站,MAMP可以說是最好的選擇。
安裝與啓動MAMP
在OSX上要開發AMP網站基本上很容易。因為Apache伺服器跟PHP程式都是內建的,隨著作業系統還有免費的XCode開發環境。伺服器版的OSX Server內建MySQL,只有一般用的OSX版本需要額外安裝MySQL。對於高手來說,OSX上的AMP可以說是萬事俱備。
但是不幸的是,OSX內建的PHP,不知為何缺乏一些網站必要的函式庫,如處理圖檔的GD,處理雙位元語言的mbstring等等。對於程式高手來說,可以用XCode自己編譯這些函式庫並加入PHP,這對於我們這種非科班的程式的開發者來說,在OSX上要安裝這些PHP套件就非常麻煩。
對於我來說,有兩個選擇,一是安裝Marc Liyanage事先編譯好的Entropy PHP套件,另外就是使用MAMP程式。兩者的差別是,前者適用來取代系統內建的PHP,所以啓動方式往往得用到root權限來修改系統內建的一些設定檔案,比較適合拿來取代真正要作為伺服器使用的OSX上的PHP。後者是與作業系統分離的獨立軟體,不會干擾到系統的設置,比較適合拿來作在OSX上作程式開發之用。
此外,PHP的版本更新上,Entropy PHP套件的版本受限於Marc Liyanage個人的時間,更新速度比較慢;相較之下,MAMP的PHP版本更新速度就快很多。除了PHP版本外,使用Entropy PHP,還是得要自行安裝MySQL套件與phpMyAdmin。但往往因為OSX、MySQL、PHP的版本更新,尤其經歷OSX 10.5, 10.6大改版之後,往往造成Apache, PHP, MySQL與phpMyAdmin四者整合連線上的問題。而MAMP一個套件整合了Apache, MySQL, PHP4/5 跟phpMyAdmin等,讓開發者不須要自己解決整合問題,可以說省事許多。因此在OSX 10.6上開發AMP網站,MAMP可以說是最好的選擇。
安裝與啓動MAMP
- 從MAMP官方網站上,下載MAMP;
- 從1.8版開始,MAMP把免費跟商用的Pro版本放在一起,所以解開dmg檔案後會有兩個版本。我們只要免費的MAMP就好了。把MAMP檔案夾拖進“應用程式(Appliactions)”檔案夾;


- 打開 /Appliaction/MAMP/MAMP 程式;

- 會提示輸入OSX的使用者密碼。啓用與關閉MAMP都要輸入據有管理員等級的使用者密碼;

- 然後就會出現MAMP視窗;

- 同時會啓動瀏覽器,顯示MAMP的起始頁面(Start Page)。

- 按一下MAMP視窗的"Preferences..."按鈕;

- 基本上我個人習慣使用內建的Port,可以在測試時,少打一些字。按一下"Port"標籤,然後按下“Set to default Apache and MySQL ports”

- 要注意,如果使用Apache預設的port 80,記住要關掉OSX系統內建的“個人網頁共享”功能,以免內建的Apache伺服器跟MAMP衝突。

接下來要安裝開發環境Aptana。
上一篇 |下一篇 Aptana >
2009年2月24日 星期二
OSX Server 10.5 Server Admin(1): 安裝與連線伺服器
OSX Server 10.5提供了方便好用的伺服器管理程式,可以本地或遠端地管理OSX Server。
二、用Server Admin管理OSX Server的服務
三、Server Admin無法連線問題
一、在OSX Client安裝OSX 10.5 Admin Tools
如果你不能直接登入OSX Server主機,或必須使用OSX Client版以遠端遙控的方式管理的話,就需要安裝Server版的第二片光碟 Admin Tools 裡的 Server Administration Software。- 將 Admin Tools 光碟裡的 ServerAdministrationSoftware.mpkg 檔案點二下打開;

- 依照指示將軟體安裝到磁碟機,過程中需要具管理員權限(不是 root)的帳號密碼,安裝過程跟一般軟體相同,應該不需再要詳細說明了吧;

- 安裝完畢後,在 應用程式/Server (/Applications/Server/) 檔案夾裡,就會有管理 OSX Server 的相關軟體。Server 版的 OSX 會自動安裝這些軟體到伺服器相同的路徑上,只有 Client 版需要手動安裝;

二、用Server Admin管理OSX Server的服務
- 請找到 應用程式/Server (/Applications/Server/) 檔案夾裡的 Server Admin 程式,點二下打開,會出現新增伺服器的視窗。
Address: 會出現目前你執行 Server Admin 程式的主機位址,例如 X-X-X.local 。如果你要連線的不是你手上正在使用的電腦,這個欄位請輸入伺服器正確的位址;
User Name: 請輸入伺服器上的管理員用戶名稱;
Password: 請輸入伺服器上的管理員用戶密碼;
- 連線到伺服器後,左邊的側邊欄靠到 伺服器的名稱或位址 ,點一下 伺服器的名稱或位置,然後按一下上方的 Overview 圖示,可以看到伺服器的概況;

- 接下來要顯示伺服器正在提供的服務,請點一下 伺服器的名稱或位置 左方的 三角形圖示 ,底下就會顯示出目前伺服器正在運作的服務項目;

三、Server Admin無法連線問題
2009年2月22日 星期日
OSX 10.5 啟用 PHP5
OSX的兩個版本(Server, Client)都已經內建了 PHP,但不是缺乏處理雙位元字元的 iconv, mbstring (10.4)或是處理圖檔的 gd (10.4/10.5)等重要擴充模組。對於需要建置處理雙位元或Unicode字元,以及需要處理圖片的網站,造成很多困擾。而且,OSX上的PHP不能像是Windows的PHP模組,可以透過Windows本身的動態連結程式庫(DLL)功能,直接修改一下 php.ini 設定檔案就可以掛入 iconv, mbstring 與 gd 模組。
在OSX 10.5之前,OSX 10.4上安裝具有 iconv, mbstring 與 gd 模組的PHP最簡單的方式,除了直接安裝一些AMP整合套件(Apache+MySQL+PHP)如 MAMP 之外,就是安裝 Marc Liyanage 編譯好的 PHP for OSX 模組。安裝AMP套件最簡單,但是OSX既然已經內建了Apache (2.x for OSX Server & 10.5, 1.x for Client 10.4),實在不需要再多裝一個;另外,AMP套件中的MySQL也不能自己選擇版本。因此 Marc Liyanage 的版本一直是許多人Mac使用者的最佳選擇。但可惜在10.5之後,就不再提供可以直接安裝的 Package 的版本,而必須以終端機程式,手動鍵入指令的方式來安裝。
如果不需要 iconv, mbstring (10.4)或是 gd 模組,使用OSX內建的php模組是不錯的選擇。以下介紹OSX 10.5 Client與Server版本啟動內建php模組的方法。
在OSX 10.5之前,OSX 10.4上安裝具有 iconv, mbstring 與 gd 模組的PHP最簡單的方式,除了直接安裝一些AMP整合套件(Apache+MySQL+PHP)如 MAMP 之外,就是安裝 Marc Liyanage 編譯好的 PHP for OSX 模組。安裝AMP套件最簡單,但是OSX既然已經內建了Apache (2.x for OSX Server & 10.5, 1.x for Client 10.4),實在不需要再多裝一個;另外,AMP套件中的MySQL也不能自己選擇版本。因此 Marc Liyanage 的版本一直是許多人Mac使用者的最佳選擇。但可惜在10.5之後,就不再提供可以直接安裝的 Package 的版本,而必須以終端機程式,手動鍵入指令的方式來安裝。
如果不需要 iconv, mbstring (10.4)或是 gd 模組,使用OSX內建的php模組是不錯的選擇。以下介紹OSX 10.5 Client與Server版本啟動內建php模組的方法。
一、啟動OSX 10.5 Client內建的PHP模組
- 登入 root 帳號;
如果不想老是用終端機程式(Terminal.app)輸入一堆指令,最好的方式是啟用OSX的 root 帳號,就能直接用 文字編輯(TextEdit.app) 軟體修改 Apache 與 PHP 的設定檔。啟動 10.5 的 root 帳號,請先參考OSX 10.5 啟動與登入 root 帳號這一篇。 - 先打開 應用程式 檔案夾,找到 文字編輯(/Applications/TextEdit.app) 備用,或是拉到 Dock 上作一個替身;

- 另外打開一個新視窗,然後按 前往選單 > 前往檔案夾… 選單;

- 在 前往檔案夾: 欄位中輸入: /etc/apache2 ,然後按下“前往”按鈕;

- 找到 httpd.conf 檔案,這是 Apache 網頁伺服器的設定檔。先不要打開它!先按一下鍵盤捷徑 D (同時按下Command鍵()與D鍵)複製一份拷貝,萬一設定錯誤導致網頁伺服器無法順利啟動時,就可以用備份的設定檔來恢復。

- httpd.conf 檔案不能直接點二下打開,把 httpd.conf 檔案拉到上 文字編輯(/Applications/TextEdit.app) 就可以開啟了;

- 因為字元編碼與隱藏字元(如斷行符號)處理的問題,有人建議是不要直接用 文字編輯 而用 BBEdit 之類的文字處理器比較安全,不過我用 文字編輯 是還沒發現啥大問題,如果不放心又不想花錢,免費的 BBEdit Lite 是不錯的選擇 。

- 接下來就要修改 httpd.conf 檔案。按一下鍵盤捷徑 D (同時按下Command鍵()與F鍵)打開尋找視窗,在 尋找 欄位輸入 php 然後按“下一個”按鈕;

- 4會跳到這一行:
#LoadModule php5_module libexec/apache2/libphp5.so
請把一行最前面的 # 給刪除:
LoadModule php5_module libexec/apache2/libphp5.so
# 字元是httpd.conf 檔案的註記符號,只要刪掉它,Apache 就會載入內建的php5模組。
- 然後按一下S (同時按下Command鍵()與S鍵) 存檔,然後離開 文字編輯 程式。
二、測試10.5 Client內建的Apache伺服器
接下來要測試 Apache 伺服器是否能順利啟動,因為如果 httpd.conf 檔案修改不當,可能會導致 Apache 伺服器無法順利啟動,而OSX 10.5 Client並不會像 10.4 一樣會顯示無法啟動的訊息,所以必須手動測試。- 打開 蘋果選單 > 系統偏好設置… > 共享 ;

- 在 共享 項目的側邊欄,找到 網頁共享 項目。如果 網頁共享 項目已經被勾選,請先把它取消。這個動作會關閉OSX內建的Apache網頁伺服器,要套用 httpd.conf 檔案的更動,就必須重新啟動 Apache 伺服器才行 。等到右側出現 網頁共享:關閉 之後,再勾選一次 網頁共享 項目,稍等一下,右側就會出現 網頁共享:啟用;

- 接下來可以試試 Apache 伺服器是否順利運行。注意!如果您是使用 root 帳號的話,請不要點選右下角 您的個人網站:下的 http://x.x.x.x/~root/ 的連結,會出現沒有存取權限的錯誤!這是由於網頁共享時,系統會用 www 這個隱藏的使用者來存取你共享的網頁,但為了安全起見, www 是不能取用 root 帳號的任何目錄的。所以要測試的話,請點一下右邊中間 您的電腦網站:下的 http://x.x.x.x/ 這個連結,不過如果您的預設瀏覽器是 Safari 的話,你可能會看到一個滿是亂碼的網頁:

- 這是 Safari 沒有把網頁編碼正確的轉換為 Big5(FireFox 倒是沒有問題,不會出現亂碼),請手動地選擇一下Safari 選單 顯示方式 > 文字編碼 > 繁體中文(Big 5),就可以看到Apache的宣告網頁了。

- 不過萬一不幸的話,你很可能換看到“無法連到伺服器”的錯誤提示,這就表示您修改的httpd.conf 檔案出了問題,導致 Apache 無法順利啟動。
在 OSX 10.4 的時代,內建的 Apache 1.4 無法啟動時,可以在 系統偏好設置… > 共享 > 網頁共享 項目看到“網頁共享:無法啟動”的訊息,但 OSX 10.5 卻還是會顯示“啟用”,真是一大退步!

- 如果碰到 Apache 無法啟動的狀況,請用 root 帳號把有問題的 httpd.conf 檔案刪除,然後把備份的 httpd.conf 拷貝 檔案“複製並更名”為原來的 httpd.conf 。然後 關閉 然後 啟用 網頁共享 的動作。如果當初備份的 httpd.conf 拷貝 的檔案沒有問題,應該就可以順利啟動 Apache。所以,更動 httpd.conf 前一定要記得先留下正確可以運行的備份檔案。
三、測試10.5 Client內建的php模組
如果 Apache 伺服器可以正常運作,接下來要測試 php 模組是不是可以使用。- 如果目前是以 root 帳號登入,請先登出並以一般使用者登入。如果你已經開啟了“快速切換使用者”功能,就可以從右上角的“使用者選單”選擇你要登入的帳號;

- 出現登入視窗後,輸入您的密碼;

- 登入後,接下來要製作一個php測試檔案。這時還不需要動用到 DramWeaver 之類的網頁軟體,用 文字編輯(/Applications/TextEdit.app) 或 BBEdit Lite 就綽綽有餘。打開 文字編輯 軟體後,先從選單 格式 > 製作純文字格式 ,以免製作出的檔案藏了一些與 php 衝突的控制字元;

- 然後,請輸入以下的 php 程式碼,只有三行:
<?php
phpinfo();
?>
- 然後存檔,從選單選擇 檔案 > 儲存為…;

- 存檔時請注意檔案格式與路徑。請將存檔路徑更換到 個人家目錄/網站 (/Users/用戶名稱/Sites) 底下,檔案名稱取為 phpinfo.php 。
對話框的下方 純文字編碼選單,由於沒有中文字,所以選擇 Unicode/西方語系/繁體中文 皆可。
注意!存檔對話框的下方 隱藏副檔名 與 如果未提供副檔名,請使用“.txt”。這兩個項目請都不要勾選!框然後按下“儲存”按鈕。
- 接下來開啟你的瀏覽器,輸入你的網址,例如 http://127.0.0.1/~用戶名稱
如果你稿不清楚自己的用戶名稱或一直無法輸入正確的網址,也可以打開 蘋果選單 > 系統偏好設置… > 共享 > 網頁共享 項目,點選右下角的 你的個人網站: 下方的網址;
- 網址正確的話,就會在瀏覽器上看到個人網站的預設歡迎頁面;

- 然後在你的瀏覽器上個人網站的網址後面,加入 phpinfo.php 檔名,
例如:http://127.0.0.1/~用戶名稱/phpinfo.php
然後按下鍵盤的 Enter 鍵或瀏覽器的 前往 按鈕,就可以打開 php 測試網頁;
- 恭喜!如果你看到了測試頁,就表示你不但已經成功地啟動OSX 10.5內建的 Apache 網頁伺服器,也正確地啟動了系統內建的 php 模組。
四、啟動OSX 10.5 Server內建的PHP模組
啟動OSX 10.5 Server內建的PHP模組要比Client版簡單多了。不過如果你不能直接登入OSX Server,或使用Client版以遠端遙控的方式管理的話,就需要安裝Server版的第二片 Admin Tools 光碟裡的 Server Administration Software,用 Server Admin 軟體與OSX Server連線。安裝 Server Admin 軟體與OSX Server連線的方法,請先參考這一篇:「OSX Server 10.5 Server Admin(1): 安裝與連線伺服器」;- 先用 Server Admin 軟體連線到OSX Server伺服器,點一下左邊側邊欄的 伺服器的名稱或位置 左方的 三角形圖示 ,底下就會顯示出目前伺服器正在運作的服務項目;

- a. 請點選 Web 服務項目;
b. 再按右上方的 Setting 圖示;
c. 接下來點下方的 Modules 標籤;
d. 把 Modules 標籤頁的底下模組欄位視窗往下捲動,找到 php5_module 項目,然後請勾選 php5_module 項目;
e. 按右下角的“Save”按鈕存檔,Server Admin 就會自動幫你修改 httpd.conf 檔案;
f.最後按左下角的 Stop Web 按鈕,把伺服器的 Web 服務關閉;
- Server Admin 軟體會提示是否要關閉 服務(Server)。關閉一個服務並不會影響伺服器上其他的服務功能,請按下“Stop Now”按鈕;

- 跟 Client 版本的 Apache 伺服器一樣,必須關閉後再重新啟動,才能啟動 php 模組。請按左下角 Start Web 按鈕,稍後 Web 服務的圖示就會變成綠燈,表示Web 服務已經啟動;

- 最後一個動作,請按照上面 “三、測試10.5 Client內建的php模組” 方法,製作一份 phpinfo.php 測試檔案,上傳到伺服器上來測試 Apache 與 php 模組是否能正常運作。
訂閱:
文章 (Atom)

