一)配置虛擬主機
(1)基於域名虛擬主機
192.168.0.105 www.test1.com
192.168.0.105 www.test2.com
vim httpd.conf
390 Include conf/extra/httpd-vhosts.conf
vim extra/httpd-vhosts.conf
NameVirtualHost 192.168.0.105
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
echo "www.test1.com" >> /usr/local/http/htdocs/test1/index.html
echo "www.test2.com" >> /usr/local/http/htdocs/test2/index.html
測試:
http://www.test1.com
http://www.test2.com
(2)基於IP虛擬主機
NameVirtualHost 192.168.0.105
NameVirtualHost 192.168.0.106
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.0.106>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
(3)基於端口虛擬主機
vim httpd.conf
Listen 80
Listen 8080
vim extra/httpd-vhosts.conf
NameVirtualHost 192.168.0.105:80
<VirtualHost 192.168.0.105:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
NameVirtualHost 192.168.0.105:8080
<VirtualHost 192.168.0.105:8080>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
(4)個人主頁
httpd.conf
384 Include conf/extra/httpd-userdir.conf
useradd test1
useradd test2
mkdir /home/test1/public_html
mkdir /home/test2/public_html
vim extra/httpd-userdir.conf
UserDir public_html
Alias /test1 /home/test1/public_html/
Alias /test2 /home/test2/public_html/
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
echo "test1" >> /home/test1/public_html/index.html
echo "test2" >> /home/test2/public_html/index.html
chmod +x /home/test* -R
service httpd stop
service httpd start
測試
http://www.test1.com/test1
http://www.test2.com/test2
(1)基於域名虛擬主機
192.168.0.105 www.test1.com
192.168.0.105 www.test2.com
vim httpd.conf
390 Include conf/extra/httpd-vhosts.conf
vim extra/httpd-vhosts.conf
NameVirtualHost 192.168.0.105
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
echo "www.test1.com" >> /usr/local/http/htdocs/test1/index.html
echo "www.test2.com" >> /usr/local/http/htdocs/test2/index.html
測試:
http://www.test1.com
http://www.test2.com
(2)基於IP虛擬主機
NameVirtualHost 192.168.0.105
NameVirtualHost 192.168.0.106
<VirtualHost 192.168.0.105>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.0.106>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
(3)基於端口虛擬主機
vim httpd.conf
Listen 80
Listen 8080
vim extra/httpd-vhosts.conf
NameVirtualHost 192.168.0.105:80
<VirtualHost 192.168.0.105:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test1"
ServerName www.test1.com
ErrorLog "logs/test1.com-error_log"
CustomLog "logs/test1.example.com-access_log" common
</VirtualHost>
NameVirtualHost 192.168.0.105:8080
<VirtualHost 192.168.0.105:8080>
ServerAdmin [email protected]
DocumentRoot "/usr/local/http/htdocs/test2"
ServerName www.test2.com
ErrorLog "logs/test2.com-error_log"
CustomLog "logs/test2.com-access_log" common
</VirtualHost>
(4)個人主頁
httpd.conf
384 Include conf/extra/httpd-userdir.conf
useradd test1
useradd test2
mkdir /home/test1/public_html
mkdir /home/test2/public_html
vim extra/httpd-userdir.conf
UserDir public_html
Alias /test1 /home/test1/public_html/
Alias /test2 /home/test2/public_html/
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
echo "test1" >> /home/test1/public_html/index.html
echo "test2" >> /home/test2/public_html/index.html
chmod +x /home/test* -R
service httpd stop
service httpd start
測試
http://www.test1.com/test1
http://www.test2.com/test2