apache虚拟主机配置-基于端口

0x00 前言

配置Apache虚拟主机,主要是监听端口,编写虚拟主机配置文件,开放端口,还有就是将web站点的目录建好。

0x01 监听端口8001

修改Apache的配置文件,监听8001端口,这是用于对外进行站点访问的端口。

vi /etc/httpd/conf/httpd.conf

0x02 编写虚拟主机配置文件

vi /etc/httpd/conf.d/vhosts.conf

添加以下内容:

<VirtualHost *:端口号>

#ServerName www.***.com #域名
DocumentRoot /var/www/html/web #网站目录,自己定                 
ErrorLog "/var/log/httpd/web/error_log"            
CustomLog "/var/log/httpd/web/access_log" combined  
<Directory "/var/www/html/web">

Options -Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted            

</Directory>

</VirtualHost>

这是我在服务器上的配置:

0x03 添加目录

mkdir -pv /var/log/httpd/test
mkdir -pv /var/www/test

0x04 修改/etc/httpd/conf.d/welcome.conf文件

这个文件是apache的测试文件,所以我们这里将该文件内容全部注释掉

为什么httpd.conf配置文件可以加载welcome.confvhosts.conf文件呢?

原因很简单,因为httpd.conf的最后有这样一行代码

这一行代码会使Apache配置文件将/etc/httpd/conf.d目录下的.conf文件给包含,所以可以读取到我们新建的vhosts.conf文件。

0x04 重启apache服务(执行其中一个即可)

systemctl restart httpd
/etc/init.d/httpd restart

0x05 开放端口,注意把SELinux关闭

#永久生效加上 --permanent
firewall-cmd --zone=public --add-port=8001/tcp --permanent

0x06 测试

编写一个index.html进行测试

echo "hello,this is test page" > /var/www/test/index.html

使用curl访问页面

同时我们可以在test的访问成功的日志access_log中看到相关信息

如果想在不同的端口配置不同目录下的站点,可以在httpd.conf中添加相应端口,在vhosts.conf文件中添加相应站点信息,然后再防火墙中将端口开放,这样就可以实现同IP多端口的多个Web站点

-------------本文结束感谢您的阅读-------------

本文标题:apache虚拟主机配置-基于端口

文章作者:Peithon

发布时间:2018年08月11日 - 22:08

最后更新:2018年10月13日 - 08:10

原始链接:https://peithon.github.io/2018/08/11/httpd-vhosts/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。