顯示具有 Server 標籤的文章。 顯示所有文章
顯示具有 Server 標籤的文章。 顯示所有文章

2011年12月24日 星期六

Aptana + MAMP 自定伺服器

參考:Setting up an external web server to preview PHP and other non-HTML pages

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
  1. MAMP官方網站上,下載MAMP
  2. 從1.8版開始,MAMP把免費跟商用的Pro版本放在一起,所以解開dmg檔案後會有兩個版本。我們只要免費的MAMP就好了。把MAMP檔案夾拖進“應用程式(Appliactions)”檔案夾;
  3. 打開 /Appliaction/MAMP/MAMP 程式;
  4. 會提示輸入OSX的使用者密碼。啓用與關閉MAMP都要輸入據有管理員等級的使用者密碼;
  5. 然後就會出現MAMP視窗;
  6. 同時會啓動瀏覽器,顯示MAMP的起始頁面(Start Page)。
MAMP設置
  1. 按一下MAMP視窗的"Preferences..."按鈕;
  2. 基本上我個人習慣使用內建的Port,可以在測試時,少打一些字。按一下"Port"標籤,然後按下“Set to default Apache and MySQL ports”
  3. 要注意,如果使用Apache預設的port 80,記住要關掉OSX系統內建的“個人網頁共享”功能,以免內建的Apache伺服器跟MAMP衝突。
接下來要安裝開發環境Aptana。

2009年2月24日 星期二

OSX Server 10.5 Server Admin(1): 安裝與連線伺服器

OSX Server 10.5提供了方便好用的伺服器管理程式,可以本地或遠端地管理OSX Server。

一、在OSX Client安裝OSX 10.5 Admin Tools

如果你不能直接登入OSX Server主機,或必須使用OSX Client版以遠端遙控的方式管理的話,就需要安裝Server版的第二片光碟 Admin Tools 裡的 Server Administration Software。
  1. 將 Admin Tools 光碟裡的 ServerAdministrationSoftware.mpkg 檔案點二下打開;

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

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

二、用Server Admin管理OSX Server的服務

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

三、Server Admin無法連線問題

  1. 如果確定 伺服器位址、帳號、密碼 都沒有錯誤,不能連線的可能原因就是防火牆擋住了必要的通訊埠(Port),用 Port Used for Administration 就可以在 OSX Server 上查到必要的通訊埠。如果OSX Server本身並沒有打開防火牆服務(firewall)的話,就要檢查一下 路由器(Router) 上的NATVirtual Server的傳輸埠設定。
  2. 有些陽春的路由器只能開10個區段,只好冒險打開多一點的範圍,才能讓Sever AdminApple RemoteDesktop等軟體可以透過路由器連線到OSX Server上;

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, mbstringgd 模組。

OSX 10.5之前,OSX 10.4上安裝具有 iconv, mbstringgd 模組的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模組

  1. 登入 root 帳號;
    如果不想老是用終端機程式(Terminal.app)輸入一堆指令,最好的方式是啟用OSX的 root 帳號,就能直接用 文字編輯(TextEdit.app) 軟體修改 Apache 與 PHP 的設定檔。啟動 10.5 的 root 帳號,請先參考OSX 10.5 啟動與登入 root 帳號這一篇。

  2. 先打開 應用程式 檔案夾,找到 文字編輯(/Applications/TextEdit.app) 備用,或是拉到 Dock 上作一個替身;

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

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


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


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

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

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

  9. 4會跳到這一行:
    #LoadModule php5_module libexec/apache2/libphp5.so

    請把一行最前面的 #刪除
    LoadModule php5_module libexec/apache2/libphp5.so

    # 字元是httpd.conf 檔案的註記符號,只要刪掉它,Apache 就會載入內建的php5模組。

  10. 然後按一下S (同時按下Command鍵()與S鍵) 存檔,然後離開 文字編輯 程式。

二、測試10.5 Client內建的Apache伺服器

接下來要測試 Apache 伺服器是否能順利啟動,因為如果 httpd.conf 檔案修改不當,可能會導致 Apache 伺服器無法順利啟動,而OSX 10.5 Client並不會像 10.4 一樣會顯示無法啟動的訊息,所以必須手動測試。
  1. 打開 蘋果選單 > 系統偏好設置… > 共享
  2. 共享 項目的側邊欄,找到 網頁共享 項目。如果 網頁共享 項目已經被勾選,請先把它取消這個動作會關閉OSX內建的Apache網頁伺服器,要套用 httpd.conf 檔案的更動,就必須重新啟動 Apache 伺服器才行 。等到右側出現 網頁共享:關閉 之後,再勾選一次 網頁共享 項目,稍等一下,右側就會出現 網頁共享:啟用

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

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


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


  6. 如果碰到 Apache 無法啟動的狀況,請用 root 帳號把有問題的 httpd.conf 檔案刪除,然後把備份的 httpd.conf 拷貝 檔案“複製並更名”為原來的 httpd.conf 。然後 關閉 然後 啟用 網頁共享 的動作。如果當初備份的 httpd.conf 拷貝 的檔案沒有問題,應該就可以順利啟動 Apache。所以,更動 httpd.conf 前一定要記得先留下正確可以運行的備份檔案。

三、測試10.5 Client內建的php模組

如果 Apache 伺服器可以正常運作,接下來要測試 php 模組是不是可以使用。
  1. 如果目前是以 root 帳號登入,請先登出並以一般使用者登入。如果你已經開啟了“快速切換使用者”功能,就可以從右上角的“使用者選單”選擇你要登入的帳號;

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

  4. 然後,請輸入以下的 php 程式碼,只有三行:

    <?php
    phpinfo();
    ?>


  5. 然後存檔,從選單選擇 檔案 > 儲存為…

  6. 存檔時請注意檔案格式與路徑。請將存檔路徑更換到 個人家目錄/網站 (/Users/用戶名稱/Sites) 底下,檔案名稱取為 phpinfo.php
    對話框的下方 純文字編碼選單,由於沒有中文字,所以選擇 Unicode/西方語系/繁體中文 皆可。
    注意!
    存檔對話框的下方 隱藏副檔名如果未提供副檔名,請使用“.txt”。這兩個項目請都不要勾選!框然後按下“儲存”按鈕。

  7. 接下來開啟你的瀏覽器,輸入你的網址,例如 http://127.0.0.1/~用戶名稱
    如果你稿不清楚自己的用戶名稱或一直無法輸入正確的網址,也可以打開 蘋果選單 > 系統偏好設置… > 共享 > 網頁共享 項目,點選右下角的 你的個人網站: 下方的網址;
  8. 網址正確的話,就會在瀏覽器上看到個人網站的預設歡迎頁面;

  9. 然後在你的瀏覽器上個人網站的網址後面,加入 phpinfo.php 檔名,
    例如:http://127.0.0.1/~用戶名稱/phpinfo.php
    然後按下鍵盤的 Enter 鍵或瀏覽器的 前往 按鈕,就可以打開 php 測試網頁;

  10. 恭喜!如果你看到了測試頁,就表示你不但已經成功地啟動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): 安裝與連線伺服器」;
  1. 先用 Server Admin 軟體連線到OSX Server伺服器,點一下左邊側邊欄的 伺服器的名稱或位置 左方的 三角形圖示 ,底下就會顯示出目前伺服器正在運作的服務項目;
  2. a. 請點選 Web 服務項目;
    b. 再按右上方的 Setting 圖示
    c. 接下來點下方的 Modules 標籤;
    d. 把 Modules 標籤頁的底下模組欄位視窗往下捲動,找到 php5_module 項目,然後請勾選 php5_module 項目;
    e. 按右下角的“Save”按鈕存檔,Server Admin 就會自動幫你修改 httpd.conf 檔案;
    f.最後按左下角的 Stop Web 按鈕,把伺服器的 Web 服務關閉;

  3. Server Admin 軟體會提示是否要關閉 服務(Server)。關閉一個服務並不會影響伺服器上其他的服務功能,請按下“Stop Now”按鈕;

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

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