2010年5月26日 星期三

Fedora Linux 或 Red Hat Linux 的 Apache

確定在 Apache 配置檔案 /etc/httpd/conf/httpd.conf "NameVirtualHost *"前的 "#" 已被刪去:
NameVirtualHost *:80
/etc/httpd/conf/httpd.conf 的尾部加入以下內容:

#
ServerName 後加上的網站名稱
ServerName
www.examples.net
#
如果想多個網站名稱都取得相同的網站,可以加在 ServerAlias 後加上其他網站別名。
#
別名間以空格間開。
ServerAlias web.examples.net mail.examples.net
#
ServerAdmin 後加上網站管理員的電郵地址,方便別人有問題是可以聯絡網站管理員。
ServerAdmin webmaster@examples.net
#
DocumentRoot 後加上存放網站內容的目錄路徑
DocumentRoot /var/www/www.examples.net
/var/www/www.examples.net> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Allow from all

ErrorLog /var/log/httpd/error.log
# Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn
CustomLog /var/log/httpd/access.log combined ServerSignature On
記謹建立在以上配置檔中所提到的目錄,例如 /var/www/www.examples.net
# mkdir /var/www/www.examples.net
查您的配置檔中是否有任何語法錯誤:
# apachectl configtest
重新 Apache
# /etc/init.d/httpd reload (service httpd restart)
根據以上說明,我們可以這樣做
vim /etc/httpd/conf/httpd.conf
找到 #NameVirtualHost *:80 並將前端的#字號去掉
了後續方便,建議將 的配置,寫到/etc/httpd/conf.d
比如,有一個DomainName a0.xxx.com,則建立一檔案名a0.conf 放至於/etc/httpd/conf.d
vim /etc/httpd/conf.d/a0.conf
ServerAdmin antonio.hsu@xxx.com //管理人員的Mail
DocumentRoot /var/www/vhost/name_base/a0 //實際HTML的存放路徑
ServerName a0.xxx.com //該網站的DomainName
ErrorLog logs/a0.xxx.com-error_log //error log 存放路徑
CustomLog logs/a0.xxx.com-access_log common //access log 存放路徑
注意:程式並不會主動幫建立路徑,必需要手動建立,否則程序執行會有錯誤,或甚至無法執行
切換至設定實際HTML的存放路徑,並建立一index.html ,其內容可以如下
A0 "Hello World" below:


設定Apache 之後,記得要restart Apache service
了進行測試,應該在電腦的c:\windows\system32\drivers\etc\hosts 中加入一些設定
192.168.0.38 a0.xxx.com
192.168.0.38 a1.xxx.com
192.168.0.38 a2.xxx.com
前面的IP就是安裝 Apache 服務的主機,後面的DomainName 責是預其要提供的URL,設定後,不用重新動主機,就可以生效
若在Internet環境,則需要向DNS下手,比如這樣
dns IN A 192.168.0.38 這個IP的名稱是dns,是本尊;
a0 IN CNAME dns 這是第一個別名(CNAME)--分身;
a1 IN CNAME dns 這是第二個別名(CNAME)--分身;
a2 IN CNAME dns 這是第三個別名(CNAME)--分身;

沒有留言: