实验1:建立两个基于ip地址访问的网站,要求如下
-
该网站ip地址的主机位为100,设置DocumentRoot为/www/ip/100,网页内容为:this is 100。
-
该网站ip地址主机位为200,设置DocumentRoot为/www/ip/200,网页内容为:this is 200。
-
总结:mkdir /www/ip/{100,200},然后写入内容echo
-
去/etc/httpd/conf.d的vhost配置权限
1.创建目录和网页文件,在网页文件里写入内容
[root@RedHat1 /]# mkdir -p /www/ip/100
[root@RedHat1 /]# mkdir -p /www/ip/200
[root@RedHat1 100]# echo this is 192.168.127.100 > index.html
[root@RedHat1 200]# echo this is 192.168.127.200 > index.html
2.更改访问配置权限
此时访问IP地址还是/var/www/html/下面的网页文件,而并不是我们所新建的网页目录文件
所以要去更改配置文件,这里建议不要更改主配置文件(conf),而是更改副配置文件(conf.d里面的)
[root@RedHat1 /]# tree /etc/httpd/
/etc/httpd/
├── conf
│ ├── httpd.conf
│ └── magic
├── conf.d
│ ├── autoindex.conf
│ ├── php.conf
│ ├── README
│ ├── userdir.conf
│ └── welcome.conf
├── conf.modules.d
│ ├── 00-base.conf
│ ├── 00-dav.conf
│ ├── 00-lua.conf
│ ├── 00-mpm.conf
│ ├── 00-optional.conf
│ ├── 00-proxy.conf
│ ├── 00-systemd.conf
有这么一个文件/usr/share/doc/httpd/httpd-vhosts.conf,不知道怎么写的,可以借鉴httpd-vhosts.conf这个配置文件
在/etc/httpd/conf.d/创建配置文件,并编辑权限
[root@RedHat1 conf.d]# touch ip100-200.conf
[root@RedHat1 conf.d]# vim ip100-200.conf
<Virtualhost 192.168.127.100:80>
DocumentRoot /www/ip/100
ServerName 192.168.127.100
ErrorLog "/var/log/httpd/100-error_log"
CustomLog "/var/log/httpd/100-access_log" common
</Virtualhost>
<Virtualhost 192.168.127.200:80>
DocumentRoot /www/ip/200
ServerName 192.168.127.200
ErrorLog "/var/log/httpd/200-error_log"
CustomLog "/var/log/httpd/200-access_log" common
</Virtualhost>
<directory /www/ip>
allowoverride none
require all granted
</directory>
3.重启httpd服务,和关闭selinux
[root@RedHat1 httpd]# setenforce 0
[root@RedHat1 httpd]# systemctl restart httpd
这样访问不同的IP地址就是不同的index.html页面