Apache配置虚拟主机(多IP、多主机、多端口)
本文以CentOS6.6 作服务端,Win7作客户端。参考网上诸多文档加以实验,现总结如下。如有问题,有意还请指出。谢谢!
[一 基于多IP地址]
实验:Server=CentOS6.6,Client=win7。我以root权限直接操作了。
1.安装和起服务httpd(即:Apache)
[[email protected] ~]# yum install httpd -y <==yum安装httpd
[[email protected] ~]# /etc/init.d/httpd start <==临时启动服务,或# service httpd start
2.关闭iptables防火墙
[[email protected] ~]# /etc/init.d/iptables stop <==临时关闭。或永久关闭chkconfig iptables off
3.创建访问路径文件夹和主页文件
[[email protected] /]# makdir /var/www/test1 <==创建自定义文件夹"test1"
[[email protected] /]# echo test1>/var/www/test1/1.html <==创建自定义主页"1.html"
[[email protected] /]# makdir /var/www/test2
[[email protected] /]# echo test2>/var/www/test2/2.html
[[email protected] /]# makdir /var/www/test3
[[email protected] /]# echo test3>/var/www/test3/3.html
4.在现有网口上临时添加多个IP地址(重启网卡后失效)
[[email protected] /]# ifconfig eth0:1 192.168.214.142 <==添加自定义IP"142"
[[email protected] /]# ifconfig eth0:2 192.168.214.143
[[email protected] /]# ifconfig eth0:3 192.168.214.144
[[email protected] /]# ip a <==查看IP信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:ea:8a:71 brd ff:ff:ff:ff:ff:ff
inet 192.168.214.140/24 brd 192.168.214.255 scope global eth0 <==本地IP140
inet 192.168.214.142/24 brd 192.168.214.255 scope global secondary eth0:1 <==已添加142
inet 192.168.214.143/24 brd 192.168.214.255 scope global secondary eth0:2
inet 192.168.214.144/24 brd 192.168.214.255 scope global secondary eth0:3
inet6 fe80::20c:29ff:feea:8a71/64 scope link
valid_lft forever preferred_lft forever
5.添加或修改hosts文件
[[email protected] /]# vi /etc/hosts/ <==编辑hosts文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.214.142 www.test1.com <==添加IP对应域名
192.168.214.143 www.test2.com
192.168.214.144 www.test3.com
6.添加httpd.conf配置文件(下面内容需要手工添加)
[[email protected] /]# vi /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.214.142:80>
serverName www.test1.com <==自定义域名地址
DirectoryIndex 1.html <==如前面未创建"1.html",而是"index.html"则不用添加此条.
DocumentRoot /var/www/test1/ <==域名访问文件夹路径
<Directory "/var/www/test1"> <==域名访问文件夹路径
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
<VirtualHost 192.168.214.143:80>
serverName www.test2.com
DirectoryIndex 2.html
DocumentRoot /var/www/test2/
<Directory "/var/www/test2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
<VirtualHost 192.168.214.144:80>
serverName www.test3.com
DirectoryIndex 3.html
DocumentRoot /var/www/test3/
<Directory "/var/www/test3">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
7.重启httpd服务
[[email protected] /]# /etc/init.d/httpd restart <==或# service httpd restart
8.Win7添加hosts(c:\windows\system32\drivers\etc\hosts)
192.168.214.142 www.test1.com <==Win7添加IP对应域名
192.168.214.143 www.test2.com
192.168.214.144 www.test3.com
9.Win7浏览器访问(建议在虚拟环境,DNS断开下测试)
http://www.test1.com
http://www.test2.com
http://www.test3.com
[二 基于多主机名]
实验:Server=CentOS6.6,Client=win7。我以root权限直接操作了。
1.安装和起服务httpd(即:Apache)
[[email protected] ~]# yum -y install httpd <==yum安装httpd
[[email protected] ~]# /etc/init.d/httpd start <==临时启动服务,或# service httpd start
2.关闭iptables防火墙
[[email protected] ~]# /etc/init.d/iptables stop <==临时关闭。或永久关闭chkconfig iptables off
3.创建访问路径文件夹和主页文件
[[email protected] /]# makdir /var/www/test1 <==创建自定义文件夹"test1"
[[email protected] /]# echo test1>/var/www/test1/1.html <==创建自定义主页"1.html"
[[email protected] /]# makdir /var/www/test2
[[email protected] /]# echo test2>/var/www/test2/2.html
[[email protected] /]# makdir /var/www/test3
[[email protected] /]# echo test3>/var/www/test3/3.html
4.添加或修改hosts文件
[[email protected] /]# vi /etc/hosts/
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.214.140 www.test1.com <==添加IP对应域名
192.168.214.140 www.test2.com
192.168.214.140 www.test3.com
5.添加或修改httpd.conf配置文件(下面内容需要手工添加)
[[email protected] /]# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName *
DocumentRoot /www/
</VirtualHost>
<VirtualHost *:80>
ServerName www.test1.com <==自定义域名地址
DocumentRoot /var/www/test1 <==域名访问文件夹路径
DirectoryIndex 1.html <==如前面未创建"1.html",而是"index.html"则不用添加此条.
<Directory "/var/www/test1"> <==域名访问文件夹路径
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.test2.com
DocumentRoot /var/www/test2/
DirectoryIndex 2.html
<Directory "/var/www/test2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.test3.com
DocumentRoot /var/www/test3/
DirectoryIndex 3.html
<Directory "/var/www/test3">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
6.重启httpd服务
[[email protected] /]# /etc/init.d/httpd restart <==或service httpd restart
7.Win7添加hosts(c:\windows\system32\drivers\etc\hosts)
192.168.214.142 www.test1.com <==Win7添加IP对应域名
192.168.214.143 www.test2.com
192.168.214.144 www.test3.com
8.Win7浏览器访问(建议在虚拟环境,DNS断开下测试)
http://www.test1.com
http://www.test2.com
http://www.test3.com
[三 基于多端口]
实验:Server=CentOS6.6,Client=win7。我以root权限直接操作了。
1.安装和起服务httpd(即:Apache)
[[email protected] ~]# yum -y install httpd <==yum安装httpd
[[email protected] ~]# /etc/init.d/httpd start <==临时启动服务,或# service httpd start
2.关闭iptables防火墙和SELINUX
关闭iptables服务
[[email protected] ~]# /etc/init.d/iptables stop <==临时关闭。或永久关闭chkconfig iptables off
永久关闭SELINUX
[[email protected] ~]# vi /etc/selinux/config <==修改SELINUX配置文件
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled <==将默认"enforcing"修改为"disabled"关闭。此处注释掉无效,需修改
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[[email protected] ~]# sestatus <==查看SELINUX状态
SELinux status: disabled <==显示为关闭
3.创建访问路径文件夹和主页文件
[[email protected] /]# makdir /var/www/test1 <==创建自定义文件夹"test1"
[[email protected] /]# echo test1>/var/www/test1/1.html <==创建自定义主页"1.html"
[[email protected] /]# makdir /var/www/test2
[[email protected] /]# echo test2>/var/www/test2/2.html
[[email protected] /]# makdir /var/www/test3
[[email protected] /]# echo test3>/var/www/test3/3.html
4.添加或修改httpd.conf配置文件(下面内容需要手工添加)
[[email protected] /]# vi /etc/httpd/conf/httpd.conf
Listen 80 <==此条为默认
Listen 8080 <==此条为手工添加
Listen 8081 <==此条为手工添加
<VirtualHost 192.168.214.140:80> <==设定IP地址对应80端口
ServerName www.test1.com <==自定义域名地址
DocumentRoot /var/www/test1/ <==域名访问文件夹路径
DirectoryIndex 1.html <==如前面未创建"1.html",而是"index.html"则不用添加此条.
</VirtualHost>
<VirtualHost 192.168.214.140:8080>
Servername www.test2.com
DocumentRoot /var/www/test2/
DirectoryIndex 2.html
</VirtualHost>
<VirtualHost 192.168.214.140:8081>
Servername www.test3.com
DocumentRoot /var/www/test3/
DirectoryIndex 3.html
</VirtualHost>
5.重启httpd服务
[[email protected] /]# /etc/init.d/httpd restart <==或service httpd restart
6.Win7添加hosts(c:\windows\system32\drivers\etc\hosts)
192.168.214.140 www.test1.com <==Win7添加IP对应域名
192.168.214.140 www.test2.com
192.168.214.140 www.test3.com
7.客户端网址访问即可看到实验结果(建议在虚拟环境,DNS断开下测试)
http://www.test1.com <==访问时默认即为80端口
http://www.test2.com:8080
http://www.test3.com:8081
原文地址:https://www.cnblogs.com/qf1420/p/11783031.html