在CentOS上部署Apache2多站点(即虚拟主机)是一个常见的任务。以下是一个详细的步骤指南,帮助你在CentOS上配置多个Apache站点。
sudo yum update -y
安装Apache:
sudo yum install httpd -y
启动Apache服务:
sudo systemctl start httpd
设置Apache开机自启动:
sudo systemctl enable httpd
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
创建站点目录: 为每个站点创建一个目录,例如:
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
设置目录权限:
sudo chown -R apache:apache /var/www/site1.com/html
sudo chown -R apache:apache /var/www/site2.com/html
sudo chmod -R 755 /var/www/site1.com/html
sudo chmod -R 755 /var/www/site2.com/html
创建虚拟主机配置文件:
在/etc/httpd/conf.d/
目录下创建虚拟主机配置文件,例如site1.conf
和site2.conf
。
site1.conf:
<VirtualHost *:80>
ServerAdmin webmaster@site1.com
DocumentRoot /var/www/site1.com/html
ServerName site1.com
ServerAlias www.site1.com
ErrorLog /var/log/httpd/site1.com-error.log
CustomLog /var/log/httpd/site1.com-access.log combined
</VirtualHost>
site2.conf:
<VirtualHost *:80>
ServerAdmin webmaster@site2.com
DocumentRoot /var/www/site2.com/html
ServerName site2.com
ServerAlias www.site2.com
ErrorLog /var/log/httpd/site2.com-error.log
CustomLog /var/log/httpd/site2.com-access.log combined
</VirtualHost>
确保你的域名(例如site1.com
和site2.com
)已经指向你的服务器IP地址。你可以通过编辑DNS记录来实现这一点。
sudo systemctl restart httpd
http://site1.com
和http://site2.com
,确保每个站点都能正确显示。如果你需要为站点配置SSL,可以使用Let’s Encrypt免费证书。以下是使用Certbot安装和配置SSL的步骤:
安装Certbot:
sudo yum install certbot python2-certbot-apache -y
获取并安装证书:
sudo certbot --apache -d site1.com -d www.site1.com
sudo certbot --apache -d site2.com -d www.site2.com
按照提示完成配置。
通过以上步骤,你应该能够在CentOS上成功部署Apache2多站点。如果有任何问题,请检查日志文件(例如/var/log/httpd/site1.com-error.log
)以获取更多信息。