在現在的一般家庭個人電腦中,所使用的作業系統當然還是以Microsoft Windows居多,在windows的環境下,以現在比較多人使用的XP或Vista來說,要在電腦上架設伺服器當然也是可行的,可以直接到控制台去開啟IIS(Internet Information Services)的服務就可以。不過在Apache這個免費軟體也不失為是一個輕薄方便的好選擇,尤其是現在有AppServ這個軟體已經整合了Apache、PHP、MySQL於一身,對有興趣自己架個站來玩玩的人是非常方便的。
那麼曾經在大學時代作過網頁的我,因為畢業後學校主機上的空間使用權也就被取消了,所以就萌生了自己在家架站的念頭。但是在家裡使用寬頻分享器的浮動IP要怎麼架站呢?經過一番研究和實驗終於成功了,這裡把方法簡述如下:
- 安裝AppServ,沒有什麼特別要注意的,一路點下去就是了,唯一要提的地方就是在安裝Apache時,Server Name可以填打算架設的伺服器的Domain Name,如果已經向如No-IP這類公司申請了浮動ip使用的domain name可以直接在這裡輸入了。
- 安裝正確的話,在browser輸入localhost或127.0.0.1應該都能看到AppServ預設的index.php了。
- 然後先來設定一下Apache必須讀取的組態文檔httpd.conf吧!要設定它可以去點「程式集」-> 「appserv」 -> 「configuration server」 ->「Apache Edit the httpd.conf configuration file」,也可以在C:\AppServ\Apache2\conf這裡找到。
- 要確定或修改的地方說明如下:
- 如果之前把AppServ裝在C槽下的話確認ServerRoot是建立在 “C:/AppServ/Apache2″
- ServerName確定是你所指定的domain name(ex: abc.no-ip.com)
- DocumentRoot確認是“C:/AppServ/www”
- 為了要確保能使.php能被正確地執行,要確認DirectoryIndex的內容是index.php index.html index.htm index.html.var
- ScriptAlias後面是在對執行script的資料夾作alias的對應,也就是說abc.no-ip.com/cgi-bin/會對應在硬碟上的資料夾,一開始可以指定為“C:/AppServ/www/cgi-bin”
- 接下來為了讓CGI可以執行要作下列修正:
<Directory “C:/AppServ/www/cgi-bin”>
AllowOverride all
Options all
Order allow,deny
Allow from a
</Directory>
- 把AddHandler cgi-script加入.cgi和.pl才能確保perl和cgi程式可以執行(變成AddHandler cgi-script .cgi .pl )
- #AddType text/html .shtml前面的#去掉,打開這項
- 經過這樣的確認和調整之後丟一個.cgi或.pl的程式到 C:/AppServ/www/cgi-bin裡執行看看,或是直接測試cgi-bin裡的printenv.pl來看看環境變數是否可以無誤地顯示於瀏覽器上,如果看得到就代表對cgi的設定也成功了。(不過要先安裝ActivePerl才能跑 )
5. 再來,是要對寬頻分享器的虛擬主機的設定,不然此時只能從本機上看到網頁。在設定Virtual Host之前,要先 解決連接埠(port)的問題,一般來說分享器的韌體預設的 port都是80,所以在分享器上的電腦都可以在browser上輸入192.168.1.1看到分享器的狀態,如果現在要架伺服器,為了不要發生相衝突的問題,一個方法是把port設為其他號碼(如8080),再去作redirect。或者簡單一點 就是不要動port的設定,直接把分享器的port改成8080, 以後如果要觀看或調整分享器的狀態時,只要輸入192.168.1.1:8080還是一樣沒問題。改完了分享器的port之後就可以來設虛擬主機,在自己的分享器設定畫面裡 去新增虛擬主機,要注意的是ip要設為server所在機器 在LAN內的虛擬ip(ex: 192.168.1.x),然後port設為80,設完了以後應該就沒問題了。然後在本機或其他電腦上 輸入server name,應該就可以 看到網頁了。