Apache 的小設定

上回講到 Windows 版 apache 伺服器的設定檔與 Linux 版 apache 的設定檔不同,不能用上課老師給的筆記來設置 Virtual Hosting,今天就來介紹一下如何在 Windows 下進行基本的 apache 設置、Virtual Hosting 和使用 apache 進行網頁轉址。因為 apache 是免費軟件,怎樣下載安裝什麼的就不說了,而安裝好 apache 之後要設定的檔案一共有三個:httpd.conf、httpd-vhosts.conf 和 hosts

註:上述檔案中的 # 為註解,系統不會讀取該行出現 # 後的值
首先是設置 httpd.conf,如果是新安裝的話下列參數就一定要設置好,否則會導致無法進入網頁
(httpd.conf 的預設檔案位置為 C:\Program Files\Apache Software Foundation\Apache2.2\conf)

必需設置的三個參數分別是
‧Listen (監聽的連接埠,預設是 80,如果被 ISP 封掉 Port 80 或想改用其他連接埠亦可在此指定)
‧ServerName (伺服器的網址,由於會用到 Virtual Hosting,因此這裡設為 localhost)
‧DocumentRoot (伺服器的根目錄)

Listen 80
ServerName localhost:80
DocumentRoot “D:\Web\”

如果要設置 Virtual Hosting,還要改變下面的參數(將前方的 # 拿走)

Include conf/extra/httpd-vhosts.conf

如果要設置轉址,則要允許使用者覆蓋 apache 的設定(將 AllowOverride 改成 All)

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

然後就到 httpd-vhosts.conf,預設檔案位置為 C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra
新增一個網站需填的是:
DocumentRoot(該虛擬網站的根目錄)
ServerName(伺服器的網址)
ServerAlias (同上即可)
而這些則可自訂:
ServerAdmin (填入管理員的 e-mail,伺服器發生錯誤時可回報給使用者)
ErrorLog  (log檔位置)
CustomLog (log檔位置)

ServerAdmin hana@maho.no-ip.info
DocumentRoot “D:/Web/Hana”
ServerName maho.no-ip.info
ServerAlias maho.no-ip.info
ErrorLog “logs/maho.no-ip.info.error.log”
CustomLog “logs/maho.no-ip.info.access.log” common


ServerAdmin test@haha.no-ip.info
DocumentRoot “D:/Web/Tools”
ServerName haha.no-ip.info
ServerAlias haha.no-ip.info
ErrorLog “logs/haha.no-ip.info.error.log”
CustomLog “logs/haha.no-ip.info.access.log” common

設定好之後重新啟動 apache 伺服器就完成了 Virtual Hosting 的設定了。
即使設置了 Port Forwarding 甚至 DMZ,但有些路由器不能進入自己的 ip,因此接下來就要到 C:\WINDOWS\system32\drivers\etc 修改 host 檔,讓自己也能在本機進入這些網站。在 host 檔下新增數行:

127.0.0.1   maho.no-ip.info
127.0.0.1   haha.no-ip.info

最後,要進行轉址,就需要在該資料夾下建立一個 .htaccess 檔案來引導 apache 執行轉址動作:
(Redirect [要轉址的目錄] [目標網址])

Redirect /hana http://maho.no-ip.info

現在使用 http://maho.no-ip.info/hana 進入網址的朋友就是透過 apache 自動轉址並重新導向到 http://maho.no-ip.info 了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *