在CentOS上配置Apache2以支持多个站点,你需要按照以下步骤操作:
安装Apache: 如果你还没有安装Apache,请使用以下命令安装:
sudo yum install httpd
启动Apache服务:
sudo systemctl start httpd
设置Apache开机自启:
sudo systemctl enable httpd
创建站点目录: 为每个站点创建一个目录,例如:
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
更改站点目录权限:
sudo chown -R apache:apache /var/www/site1.com/public_html
sudo chown -R apache:apache /var/www/site2.com/public_html
创建虚拟主机配置文件:
在/etc/httpd/conf.d/
目录下为每个站点创建一个虚拟主机配置文件,例如site1.com.conf
和site2.com.conf
。
示例site1.com.conf
:
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
ErrorLog /var/log/httpd/site1.com-error_log
CustomLog /var/log/httpd/site1.com-access_log common
</VirtualHost>
示例site2.com.conf
:
<VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
ErrorLog /var/log/httpd/site2.com-error_log
CustomLog /var/log/httpd/site2.com-access_log common
</VirtualHost>
重启Apache服务:
sudo systemctl restart httpd
配置DNS解析: 为了让用户通过域名访问你的站点,你需要配置DNS解析,将域名指向你的服务器IP地址。
配置防火墙: 如果你的服务器启用了防火墙,确保开放HTTP(80)和HTTPS(443)端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
现在,你应该可以通过访问site1.com
和site2.com
来访问你的站点。如果你还没有配置SSL证书,那么访问这些站点时浏览器会显示警告信息。你可以考虑使用Let’s Encrypt免费获取SSL证书并配置HTTPS。