Skip to content

Pretty fast Apache setting for Mac OS X contributors

Po-chiang Chao edited this page Nov 23, 2013 · 3 revisions

如果你使用 Mac OS X 而想幫忙修改 www.moztw.org,需要一個自己測試用的 HTTP 主機,超級容易!Mac 裡面大多已經有預裝一個不錯的 HTTP server -- Apache,你只要會設定就可以了。這篇是給還沒有設定過 Apache 的一般使用者參考的,如果你已經很熟... 相信,你不必看這篇 :P

1. 確定 www.moztw.org 的程式碼位置

看你當初把 www.moztw.org 放到哪裡去了,例如可能是 /Users/myname/www.moztw.org 下等等,我們等會的設定會跟這個目錄有關。如果你不知道自己檔案放哪,在 Finder 裡對著 index.shtml 叫 Get Info,那邊有寫 :P

2. 確定自己的 Mac 有預裝 Apache

現在絕大部份的都有,首先請打開終端機 -- 按 Ctrl-Space 使用 Spotlight,打 Term 應該就會出現 Terminal(終端機),接著在終端機下輸入這行

sudo apachectl start

他會問你的密碼,成功後進入瀏覽器,在網址列輸入 http://localhost 試試!成功的話,請見下一步。

3. 修改 Apache 設定

Mac 預裝的 Apache 設定檔放在 /etc/apache2/httpd.conf,接下來我們要繼續用 Terminal 編輯它 -- 不要怕,為了避免更多的麻煩,用 Terminal 是最省事的!打開 Terminal,輸入這行

sudo nano /etc/apache2/httpd.conf

這時可能還會問你密碼... 你知道的,它畢竟躲在一個你從來沒看過的目錄裡,發生什麼事情都很正常。總之輸入密碼後,接下來就是一個你可能也沒看過,但電腦老骨頭可能很似曾相識的「類 PE2」界面。

在這個界面裡修改東西很簡單,上下左右鍵移游標、Delete 鍵刪字元、輸入其他英文字母鍵就是... 輸入英文字母。簡單說,跟一般編輯文件沒兩樣

  • 尋找檔案內的文字,請先按 Ctrl-W,然後輸入自己要搜尋的字串。這個等下會一直用到,請背一下
  • 存檔請用 Ctrl-O,存檔時還會問你要存的檔名,按 Enter 就好了
  • 離開請用 Ctrl-X

接著我們要來試修一下檔案。

3.1 修改文件目錄

首先我們要做到在瀏覽器輸入 http://localhost 時,顯示 moztw.org 的網頁檔案。請這樣修改剛剛的設定檔:

  1. Ctrl-W 搜尋 DocumentRoot。應該會在下面幾行找到類似這樣的文字
    DocumentRoot "/Library/WebServer/Documents"
  1. 把後面的目錄名稱改成你的程式碼位置,例如
    DocumentRoot "/Users/myname/www\.moztw\.org"
  1. Ctrl-W 再搜尋一次 DocumentRoot,此時應該會看到這樣的文字
    <Directory "/Library/WebServer/Documents">
  1. 還有什麼好說呢?這個目錄當然也要改
    <Directory "/Users/myname/www\.moztw\.org">
  1. Ctrl-O 存檔!Ctrl-X 跳離!

接著重新啓動 Apache

sudo apachectl restart

回到瀏覽器,再輸入 http://localhost,你應該... 會看到一行震撼的文字: Access Denied!別擔心,那是因為我還沒發功呀!讓我們繼續看下去...

3.2 修改預設檔名

你在 www.moztw.org 裡看不到 index.html,因為我們只有 index.shtml,於是還要告訴 Apache 在單純輸入 http://localhost 的時候,應該要給我們 http://localhost/index.shtml 的內容:

  1. 再度編輯 httpd.conf
    sudo nano /etc/apache2/httpd.conf
  1. Ctrl-W 搜尋 DirectoryIndex,下面兩行會看到這樣的文字
   DirectoryIndex index.html
  1. 我們要在後頭加上 index.shtml,變成這樣:
   DirectoryIndex index.html index.shtml
  1. Ctrl-O 存檔! Ctrl-X 跳離!

接著重新啓動 Apache

sudo apachectl restart

回到瀏覽器,再輸入 http://localhost,你應該會看到秀麗的程式碼出現在你的眼前,淡淡的不加一點裝飾... (被揍) 總之,我們還差最後一個步驟了!

3.3 加入 SSI

MozTW 網站大量使用 Server Side Include,技術詳情就不在這邊解釋,只說明怎麼開啓以便看到正確的畫面:

  1. 再度編輯 httpd.conf
    sudo nano /etc/apache2/httpd.conf
  1. Ctrl-W 搜尋 Options Indexes FollowSymLinks MultiViews
  2. 在後面加上 IncludesNoExec,變成這樣:
    Options Indexes FollowSymLinks MultiViews IncludesNoExec
  1. Ctrl-W 搜尋 AddType text/html,會看到這兩行
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
  1. 把那兩行前面的 # 刪掉就好了,變成這樣
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  1. Ctrl-O 存檔! Ctrl-X 跳離!

接著重新啓動 Apache

sudo apachectl restart

回到瀏覽器,再輸入 http://localhost,這回總算成功啦!

不用的時候,建議可以使用這行關掉 Apache:

sudo apachectl stop