在CentOS上配置Apache多站点(Virtual Hosts)是一个常见的任务,以下是一个基本的示例,展示了如何配置两个不同的网站。
安装Apache:
sudo yum install httpd
启动并启用Apache服务:
sudo systemctl start httpd
sudo systemctl enable httpd
首先,为每个网站创建一个目录,并放置一些内容。
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
echo "Welcome to Site 1" | sudo tee /var/www/site1.com/html/index.html
echo "Welcome to Site 2" | sudo tee /var/www/site2.com/html/index.html
编辑Apache的虚拟主机配置文件。通常这些文件位于 /etc/httpd/conf.d/
目录下。
/etc/httpd/conf.d/site1.conf
)<VirtualHost *:80>
ServerAdmin admin@site1.com
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/html
<Directory /var/www/site1.com/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/site1.com-error.log
CustomLog /var/log/httpd/site1.com-access.log combined
</VirtualHost>
/etc/httpd/conf.d/site2.conf
)<VirtualHost *:80>
ServerAdmin admin@site2.com
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/html
<Directory /var/www/site2.com/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/site2.com-error.log
CustomLog /var/log/httpd/site2.com-access.log combined
</VirtualHost>
确保你的域名(如 site1.com
和 site2.com
)指向你的服务器IP地址。你可以通过编辑DNS记录来完成这一操作。
使配置生效,重启Apache服务:
sudo systemctl restart httpd
打开浏览器,访问 http://site1.com
和 http://site2.com
,你应该能看到相应的欢迎页面。
防火墙设置:确保防火墙允许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
SELinux设置:如果SELinux启用,可能需要调整相关策略以允许Apache访问网站目录。
sudo setsebool -P httpd_can_network_connect 1
通过以上步骤,你应该能够在CentOS上成功配置Apache多站点。根据实际需求,你可以进一步自定义每个站点的配置,例如添加SSL支持、配置缓存等。