apache virtualhost configuration
一、配置Apache 虛擬主機, 由於尚未完成虛擬IP 的配置,so 先期配置基於域名的虛擬主機. 並且在DNS 文件中加入需要解析的域名地址
1. 首先修改apache 的conf 文件,vi /home/http/conf/httpd.conf 增加如下選項
NameVirtualHost *
# www.myhome.com
<VirtualHost *>
ServerAdmin root@myhome.com
DocumentRoot /home/http/htdocs/myhome
ServerName www.myhome.com
ErrorLog logs/myhome-error_log
TransferLog logs/myhome-access_log
</VirtualHost>
#acer.myhome.com
<VirtualHost *>
ServerAdmin Webmaster@acer.com.cn
DocumentRoot /home/http/htdocs/acermyhome
ServerName acer.myhome.com
ErrorLog logs/acermyhome-error_log
TransferLog logs/acermyhome-access_log
</VirtualHost>
1. 首先修改apache 的conf 文件,vi /home/http/conf/httpd.conf 增加如下選項
NameVirtualHost *
# www.myhome.com
<VirtualHost *>
ServerAdmin root@myhome.com
DocumentRoot /home/http/htdocs/myhome
ServerName www.myhome.com
ErrorLog logs/myhome-error_log
TransferLog logs/myhome-access_log
</VirtualHost>
#acer.myhome.com
<VirtualHost *>
ServerAdmin Webmaster@acer.com.cn
DocumentRoot /home/http/htdocs/acermyhome
ServerName acer.myhome.com
ErrorLog logs/acermyhome-error_log
TransferLog logs/acermyhome-access_log
</VirtualHost>
2. 增加完成后,通過 /home/http/bin/apachectl -t 檢查語法格式的問題,並通過/home/http/bin/apachectl -S 檢查虛擬主機的相關配置;
如果配置正確將得到以下信息
default server www.myhome.com (/home/http/conf/httpd.conf:??)
port * namevhost www.myhome.com (/home/http/conf/httpd.conf:??)
port * namevhost acer.myhome.com (/home/http/conf/httpd.conf:??)
Syntax OK
如果配置正確將得到以下信息
default server www.myhome.com (/home/http/conf/httpd.conf:??)
port * namevhost www.myhome.com (/home/http/conf/httpd.conf:??)
port * namevhost acer.myhome.com (/home/http/conf/httpd.conf:??)
Syntax OK
3. 由於配置前並沒有把acer.myhome.com 的目錄放在指定的/home/http/目錄下,造成了訪問出現404 錯誤提示,禁止訪問;在日志文件中得到
[error] [client 192.168.1.1] (13)Permission denied: access to / denied 錯誤信息log 日志, 修正后才可以通過遠端來分別訪問虛擬主機WEB 頁面。
[error] [client 192.168.1.1] (13)Permission denied: access to / denied 錯誤信息log 日志, 修正后才可以通過遠端來分別訪問虛擬主機WEB 頁面。
二、配置本地Eth0 邦定多個IP
linux的網絡設備配置文件存放在/etc/sysconfig/network-scripts里面, 對於以太網的第一個網絡設備,配置文件名一般為ifcfg-eth0。如果需要為第一個網絡設
備多綁定一個IP地址,只需要在/etc/sysconfig/network-scripts目錄里面創建一個名為ifcfg-eth0:0的文件,於是參考ifcfg-eth0 直接cp 為ifcfg-eth0:0 ,並修改為:
DEVICE=eth0:0
BOOTPROTO=none
BROADCAST=192.168.10.255
IPADDR=192.168.10.100
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no
linux的網絡設備配置文件存放在/etc/sysconfig/network-scripts里面, 對於以太網的第一個網絡設備,配置文件名一般為ifcfg-eth0。如果需要為第一個網絡設
備多綁定一個IP地址,只需要在/etc/sysconfig/network-scripts目錄里面創建一個名為ifcfg-eth0:0的文件,於是參考ifcfg-eth0 直接cp 為ifcfg-eth0:0 ,並修改為:
DEVICE=eth0:0
BOOTPROTO=none
BROADCAST=192.168.10.255
IPADDR=192.168.10.100
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no
如果需要再綁定多一個IP地址,只需要把文件名和文件內的DEVICE中的eth0:x加一即可。LINUX最多可以支持255個IP別名。
三、 建立基於IP 地址的虛擬主機,編輯/home/http/conf/httpd.con 文件,增加如下參數
NameVirtualHost 192.168.10.100:8080
<VirtualHost 192.168.10.100:8080>
ServerAdmin root@myhome.com
DocumentRoot /home/http/htdocs/myhome_ip/
ServerName www.ipmyhome.com
ErrorLog logs/ipmyhome-error.log
TransferLog logs/ipmyhome-access.log
</VirtualHost>
Listen 8080
NameVirtualHost 192.168.10.100:8080
<VirtualHost 192.168.10.100:8080>
ServerAdmin root@myhome.com
DocumentRoot /home/http/htdocs/myhome_ip/
ServerName www.ipmyhome.com
ErrorLog logs/ipmyhome-error.log
TransferLog logs/ipmyhome-access.log
</VirtualHost>
Listen 8080