第十章 基于主机域名

  • 内容
  • 评论
  • 相关

Web服务器还可以根据域名来识别不同的网站。这样可以使用同一个服务器的IP。

我们还没有开始学DNS解析服务,所以我们修改本机的host文件/etc/.hosts

手工定义IP地址与域名之间对应关系的配置文件,保存并退出后会立即生效。可以通过分别ping这些域名来验证域名是否已经成功解析为IP地址。

分别在/home/wwwroot中创建用于保存不同网站数据的三个目录,并向其中分别写入网站的首页文件。每个首页文件中应有明确区分不同网站内容的信息,方便我们稍后能更直观地检查效果。

在httpd服务的配置文件中大约113行处开始,分别追加写入三个基于主机名的虚拟主机网站参数,然后保存并退出。记得需要重启httpd服务,这些配置才生效

[root@rhel7 ~]# vi /etc/httpd/conf/httpd.conf

<VirtualHost 192.168.38.10>

DocumentRoot “/home/wwwroot/www”

ServerName “www.linux.com”

<Directory “/home/wwwroot/www”>

AllowOverride None

Require all granted

</directory>

</VirtualHost>

因为当前的网站数据目录还是在/home/wwwroot目录中,因此还是必须要正确设置网站数据目录文件的SELinux安全上下文,使其与网站服务功能相吻合。最后记得用restorecon命令让新配置的SELinux安全上下文立即生效,这样就可以立即访问到虚拟主机网站了,当然别忘了重启httpd服务

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/*

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*

restorecon -Rv /home/wwwroot