確定在 Apache 配置檔案 /etc/httpd/conf/httpd.conf 的"NameVirtualHost *"前的 "#" 已被刪去:
NameVirtualHost *:80
在 /etc/httpd/conf/httpd.conf 的尾部加入以下內容:
#
ServerName www.examples.net
# 如果您想多個網站名稱都取得相同的網站,可以加在 ServerAlias 後加上其他網站別名。
# 別名間以空格間開。
ServerAlias web.examples.net mail.examples.net
# 在 ServerAdmin 後加上網站管理員的電郵地址,方便別人有問題是可以聯絡網站管理員。
ServerAdmin webmaster@examples.net
# 在 DocumentRoot 後加上存放網站內容的目錄路徑
DocumentRoot /var/www/www.examples.net
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)--分身;
沒有留言:
張貼留言