提到免費 DNS 伺服器,首先推薦穩定性高且操作簡便的 FreeDNS,它可讓你的網域(Domain)或子網域(Subdomain)直接對應到 IP,省下自架 DNS server 的麻煩。

接下來直接進入主題,如何透過 FreeDNS 在 Apache 完成子網域架設(一個目錄對應一個子網域)? 或者,如何在一個IP之下架設多網站(一個目錄對應一個網站)? 這些問題相信是架站人士所關心的。

例如這裡有 mydomain1.com, mydomain2.com
需建立的子網域有: sub1.mydomain1.com, sub2.mydomain.com
擁有 IP 為 1.2.3.4

1. FreeDNS,新增 Domain(mydomain1.com, mydomain2.com)(約等兩天)
這裡要先申請 FreeDNS 帳號成為一般會員,若有不懂的地方可參考相關連結。
在左側選單選 Domains,並選擇 Add A Domain,名詞解釋如下:

Clone 若你在 FreeDNS 已擁有網域,可複製相關設定,一般而言不用選
Sub Clone 複製子網域資料,一般也不必勾選
Domain 填入你的網域,這裡填寫 mydomain1.com
Shared State 選擇是否要開放給別人使用,這裡我選擇 Private 不公開

設定完成後,非 Premium 會員要等2天左右,對應成功之前顯示為 Broken,實際上不需要等那麼久,我曾在它還顯示為 Broken 時即發現已完成 Domain Name 對應。

2. 到你申請網域的網站輸入 DNS Server 資料(約等一天半)
你的網域名稱業者要能自管 DNS Server 才自行完成此設定。
輸入 FreeDNS 提供的 DNS Server 資訊,這裡顯示為:
NS1.AFRAID.ORG (67.19.72.206)
NS2.AFRAID.ORG (66.252.1.255)
NS3.AFRAID.ORG (72.20.25.134)
NS4.AFRAID.ORG (67.18.179.15)


建議輸入名稱(ns1.afraid.org, ns2.afraid.org...),因為 IP 有可能會被 FreeDNS 更換。
DNS 設定一般認為會在 24-48 小時內完成,約等一天半左右就可以了。

3. FreeDNS,新增子網域 Subdomain(約等半小時)
在左側選單選 Subdomains,並選擇 add,Type 名詞解釋如下:

A 對應到IP
AAAA 對應到 IPv6
CNAME 對應到另一部伺服器(IP或域名)
NS 對應到另一部 name server
MX 對應到 mail server
TXT 對應到 spam 處理系統
LOC 對應到 DNS 地理系統
HINFO 對應到主機資訊記錄 
RP 對應到負責人記錄
SRV 對應到服務位置記錄

首先針對 domain1.com 作設定,這兩項應該是不必懷疑:
domain1.com A 1.2.3.4
www.domain1.com A 1.2.3.4

其次是子網域的部份
sub1.domain1.com A 1.2.3.4
sub2.domain1.com A 1.2.3.4

最後是第二網域名稱
domain2.com A 1.2.3.4
www.domain2.com A 1.2.3.4

沒錯,全都以 A 的方式對應到同一個 IP,辨識的工作移交給 Apache 處理即可。值得注意的是,子網域的對應中,有些是即時對應,有些要等半小時左右,即時對應在這裡應該是 FreeDNS 想要保留給 Premium 會員的福利,所以知道這個狀況即可,畢竟是免費服務,一般會員不影響穩定性已經要偷笑了。所以,對應不到時先別緊張,等就是了。

4. Apache,修改 httpd.conf(需重啟 Apache)

Apache 虛擬主機格式如下:

<VirtualHost *>
ServerName 網域名稱
DocumentRoot "目錄名稱"
</VirtualHost>

依本例而言,找到 Listen 80, 在下方新增以下資訊:

NameVirtualHost *

<VirtualHost *>
ServerName domain1.com
DocumentRoot "C:/www"
</VirtualHost>

<VirtualHost *>
ServerName sub1.domain1.com
DocumentRoot "C:/www/sub1"
</VirtualHost>

<VirtualHost *>
ServerName sub2.domain1.com
DocumentRoot "C:/www/sub2"
</VirtualHost>

<VirtualHost *>
ServerName domain2.com
DocumentRoot "C:/www/www2"
</VirtualHost>

<VirtualHost *>
ServerName www.domain2.com
DocumentRoot "C:/www/www2"
</VirtualHost>

第一項填入主網域,二三項為子網域的部份,四五項為多網域的部份;因為主網域填入第一項,因此 www.domain1.com 雖未輸入,也會自動對應到第一項。
修改完畢後,重新啟動 Apache server 即可。

注意事項

以上步驟 1,2 都需要長時間等待,並且都是必須先通過的項目,若你不知道如何測試網域對應,等到 FreeDNS 在各網域上顯示的 Broken 字樣消失即可。

相關連結:FreeDNS
     重灌狂人,FreeDNS 免費的DNS管理、轉址服務

2009/01/21 13:47 2009/01/21 13:47
2009/01/21 13:47 

想知道如何在 Windows 架支援 PHP 的 Apache Server 看這篇就對了~

安裝版本 除了 Apache2,請準備 zip 壓縮版本,而不要用安裝版本,備齊這些資料就可以開始了。

示範平台:Windows Vista

一、Apache2

因為 Apache2 自動安裝比手動安裝穩定得多,因此不再推薦手動安裝了,自動安裝請跳過
非官方 Apache2 on Windows 手動安裝步驟如下:

1. 請先安裝 Visual C++ 2005 Redistributable Package(2.55MB)http://www.apachelounge.com/download/vcredist_x86-sp1.exe

2. 將 Apache2 解壓縮到 C:\ (例:C:\Apache2)

3.
開始 > 執行 > 輸入 cmd > 確定(Vista 可能需要以系統管理員身份執行 [命令提示字元] )
cd\apache2\bin
httpd -k install
httpd -k start
(P.S. httpd -k uninstall 為移除 Apache2 服務)

測試 Apache2

開啟一個瀏覽器,在網址列輸入 http://localhost 測試,出現「It works!」字樣即為安裝成功。(預設網站資料夾為 C:\Apache2\htdocs)


二、PHP

安裝 PHP

將 PHP 檔案解壓縮到資料夾 C:\php (沒有請新增)
將 php5ts.dll、libmcrypt.dll、libmysql.dll copy 到 C:\Apache2\bin
將 php.ini-dist copy 到 C:\apache2 並更名為 php.ini

設定 php.ini

找到 extension_dir = "./" 改成 extension_dir = "C:\php\ext"
找到 ;extension=php_mbstring.dll 改成 extension=php_mbstring.dll
找到 ;extension=php_mcrypt.dll 改成 extension=php_mcrypt.dll
找到 ;extension=php_mysql.dll 改成 extension=php_mysql.dll
找到 ;date.timezone = 改成 date.timezone = "Asia/Taipei"
(如果你不在台灣,請改成你的時區.. )
將 php.ini 存檔後關閉

設定 Apache,以模組方式載入 PHP

開啟 C:\Apache2\conf\httpd.conf

找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下方加入 LoadModule php5_module "c:/php/php5apache2_2.dll"

找到 AddType application/x-gzip .gz .tgz
在下方加入 AddType application/x-httpd-php .php

找到 DocumentRoot "c:/Apache2/htdocs" ,改成你的網站資料夾
(例 www)DocumentRoot "c:/www"

找到 <Directory "c:/Apache2/htdocs"> ,改成你的網站資料夾
(例 www)<Directory "c:/www">

找到 DirectoryIndex index.html ,改成
DirectoryIndex index.html index.htm index.php

設定 Apache,開啟 rewrite 模組(不需要者可略過)

找到 #LoadModule rewrite_module modules/mod_rewrite.so
改成 LoadModule rewrite_module modules/mod_rewrite.so

搜尋 AllowOverride None (可找到三個結果)
全部改成 AllowOverride All

重新啟動 Apache

開始 > 執行... > 輸入 cmd > 確定
cd\apache2\bin
httpd -k restart

測試 PHP 環境

請在你的網站資料夾裡新建檔案 phpinfo.php ,內容只有一行如下:
<?php phpinfo() ?>

開啟一個瀏覽器,並在網址列輸入 http://localhost/phpinfo.php
如果有出現 php 相關訊息就代表安裝成功了。


三、MySQL

安裝 MySQL

將 MySQL 檔案解壓縮到 C:\ 並將資料夾 mysql-5.0.37-winx64 更名為 mysql,
(例C:\mysql)

依下列程序安裝 MySQL 服務
開始 > 搜尋列
輸入 C:\mysql\bin\mysqld -install 按確定

MySQL 講座(懂了就可以跳過,請確認 MySQL 已啟動)

一般在 WindowsNT/2000/XP/Vista,MySQL需要安裝成為一個系統服務。
你可以在以下程序看到 MySQL 服務。
我的電腦上按右鍵選管理
服務及應用程式 > 服務
在 MySQL 上點兩下(如果沒有找到代表你安裝不成功)
啟用類型: 自動.. 服務狀態: 已啟動 才是正常,如果不是請設定成這樣。經過此設定後,MySQL 服務將會在你每次開機後自行啟動。

如果要移除 MySQL 服務,請作以下動作
先停止 MySQL 服務,我的電腦上按右鍵選管理
服務及應用程式 > 服務
在 MySQL 上點兩下
啟用類型: 自動.. 服務狀態: 已停止,設定成這樣。
開始 > 執行
輸入 C:\mysql\bin\mysqld -remove 按確定
需注意,若沒有這個動作自行刪除 MySQL 檔案,這裡的 MySQL 服務就會變成無法移除了!

設定 MySQL 編碼
在 C:\WINDOWS\ 之下建立檔案 my.ini ,設定 MySQL 預設編碼為 UTF-8 (或其他)

my.ini
[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8

重新啟動 MySQL
我的電腦上按右鍵選管理
服務及應用程式 > 服務
在 MySQL 上按右鍵 > 重新啟動


四、phpMyAdmin

安裝 phpMyAdmin

將 phpMyAdmin 檔案解壓縮到 (你的網站資料夾)\phpmyadmin,
(例C:\www\phpmyadmin)

強化phpMyAdmin安全
開啟 (phpMyAdmin資料夾)\libraries\config.default.php
找到 $cfg['blowfish_secret'] = ''; 改為 $cfg['blowfish_secret'] = '(你的亂數密碼)';
你的亂數密碼在 46 字元以內,可包含英文、數字、符號,只作為加密用不必記憶。
( 例:spt^&G*UHFm7vaisoeaf20disjf4lsdazk98dfhsuO!#f )

若你的 root 沒設定密碼
找到 $cfg['Servers'][$i]['AllowNoPasswordRoot'] = false;
改為 $cfg['Servers'][$i]['AllowNoPasswordRoot'] = true; 即可

測試 phpMyAdmin

開一個新的瀏覽器,並在網址列輸入 http://localhost/phpmyadmin/index.php有畫面的話,就是代表安裝成功了。

2007/04/29 16:56 2007/04/29 16:56
2007/04/29 16:56 

第一次介紹 Apache Server 的架設方式,因為習慣用的整合型 PHP Server「Appserv」尚未支援 64 位元,只好轉向研究 Apache Server 架設了。走在 64 位元的路上,就是要隨時抱持這種心情,山不轉路轉。這是屬於 64 位元的文章,32 位元的朋友可以跳過這篇,謝謝。

這次準備要安裝的版本如下:
1. Apache 2.2.4 x64
2. PHP 5.2.1 x64 2007-03-23
3. MySQL 5.0.37 x64
4. phpMyAdmin 2.10.0.2

找齊這些版本可是費了我不少時間,所以把連結也附上。請準備以上項目的 zip 壓縮版本,而不要用安裝版本,備齊就可以開始了。

示範平台:Windows Vista x64

一、Apache

安裝 Apache

執行 httpd-2.2.4_x64.exe
在 Destination folder 欄位填入 C:\,按 Install
它會在 C:\ 建立一個資料夾名為 httpd-2.2_x64 ,即是 Apache Server,服務也一起啟動了
若 Windows 防火牆出現提示,請解除它對 Apache Server 的封鎖


二、PHP

安裝 PHP

查看 PHP 壓縮檔 php-5.2.1-x64-2007-03-23.zip,並且只取出 php-5.2.1 (x64) 資料夾
將它移到 C:\,為了便於記憶,資料夾名稱改為 php,(例C:\php)
將 php5ts.dll、libmysql.dll copy 到 C:\httpd-2.2_x64\bin
將 php.ini-recommanded copy 到 C:\httpd-2.2_x64 並更名為 php.ini

設定 php.ini

找到 extension_dir = "./" 改成 extension_dir = "C:\php\ext"
找到 ;extension=php_mbstring.dll 改成 extension=php_mbstring.dll
找到 ;extension=php_mysql.dll 改成 extension=php_mysql.dll
找到 ;date.timezone = 改成 date.timezone = "Asia/Taipei"
(如果你不在台灣,請改成你的時區.. )
將 php.ini 存檔後關閉

設定 Apache,以模組方式載入 PHP

開啟 C:\httpd-2.2_x64\conf\httpd.conf

找到 #LoadModule ssl_module modules/mod_ssl.so
在下方加入 LoadModule php5_module "c:/php/php5apache2_2.dll"

找到 AddType application/x-gzip .gz .tgz
在下方加入 AddType application/x-httpd-php .php

找到 DocumentRoot "/httpd-2.2_x64/htdocs" ,改成你的網站資料夾
(例 www)DocumentRoot "c:/www"

找到 <Directory "/httpd-2.2_x64/htdocs"> ,改成你的網站資料夾
(例 www)<Directory "c:/www">

找到 DirectoryIndex index.html ,改成
DirectoryIndex index.html index.htm index.php

重新啟動 Apache

開始 > 搜尋列 > 輸入 cmd > 按 Enter
cd\httpd-2.2_x64\bin
httpd -k shutdown
httpd -k start
(理論上可用 httpd -k restart 重新啟動,但這個版本的 Apache restart 似乎有問題.. )

測試 PHP 環境

請在你的網站資料夾裡新建檔案 phpinfo.php ,內容只有一行如下:
<?php phpinfo() ?>

開一個新的瀏覽器,並在網址列輸入 http://localhost/phpinfo.php
如果有出現 php 相關訊息就代表安裝成功了。

使用者插入圖片
64位元 PHP Server 成型!


三、MySQL

安裝 MySQL

將 MySQL 檔案解壓縮到 C:\ 並將資料夾 mysql-5.0.37-winx64 更名為 mysql,
(例C:\mysql)

依下列程序安裝 MySQL 服務
開始 > 搜尋列
輸入 C:\mysql\bin\mysqld -install 按確定

MySQL 講座(懂了就可以跳過,請確認 MySQL 已啟動)

一般在 WindowsNT/2000/XP/Vista,MySQL需要安裝成為一個系統服務。
你可以在以下程序看到 MySQL 服務。
我的電腦上按右鍵選管理
服務及應用程式 > 服務
在 MySQL 上點兩下(如果沒有找到代表你安裝不成功)
啟用類型: 自動.. 服務狀態: 已啟動 才是正常,如果不是請設定成這樣。經過此設定後,MySQL 服務將會在你每次開機後自行啟動。

如果要移除 MySQL 服務,請作以下動作
先停止 MySQL 服務,我的電腦上按右鍵選管理
服務及應用程式 > 服務
在 MySQL 上點兩下
啟用類型: 自動.. 服務狀態: 已停止,設定成這樣。
開始 > 執行
輸入 C:\mysql\bin\mysqld -remove 按確定
需注意,若沒有這個動作自行刪除 MySQL 檔案,這裡的 MySQL 服務就會變成無法移除了!


四、phpMyAdmin

安裝 phpMyAdmin

將 phpMyAdmin 檔案解壓縮到 (你的網站資料夾)\phpmyadmin,
(例C:\www\phpmyadmin)

設定 phpMyAdmin

開啟 phpMyAdmin\libraries 資料夾中的 config.default.php
找到 $cfg['PmaAbsoluteUri'] = ''; 改成
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
(設定 phpMyAdmin 的絕對路徑)

測試 phpMyAdmin

開一個新的瀏覽器,並在網址列輸入 http://localhost/phpmyadmin/index.php
有畫面的話,就是代表安裝成功了。


恭喜,64 位元 Apache PHP Server 已經在 Windows Vista 之上架設好了!
這種 64 位元的 Server 架設文章雖然現在有點曲高和寡,不過我想未來大家都有機會用得到。

(終於寫完~~)

2007/04/05 23:28 2007/04/05 23:28
2007/04/05 23:28