CentOS系统Apache HTTP服务器安装与配置指南
第一步:系统环境准备
更新系统软件包: 在开始安装任何新软件之前,更新系统现有的软件包至最新版本是一个好习惯,这有助于确保系统安全性和软件兼容性,在终端中执行以下命令:

sudo yum update -y
验证网络连接: 确保您的CentOS服务器拥有稳定的互联网连接,以便从软件仓库下载必要的安装包,可以通过尝试访问一个公共网站(如
curl -I www.example.com)或检查网关(如ping 8.8.8.8)来验证。
第二步:安装Apache (httpd)
- 执行安装命令: Apache HTTP服务器在CentOS的默认软件仓库中对应的软件包名称为
httpd,使用yum包管理器进行安装:sudo yum install httpd -y
此命令会自动下载并安装
httpd及其所有依赖项。-y参数用于自动确认安装过程中的提示。
第三步:启动Apache服务并设置开机自启
启动服务: 安装完成后,需要启动Apache服务才能使其运行:
sudo systemctl start httpd
设置开机自动启动: 为了确保服务器重启后Apache能自动运行,需要启用其开机自启功能:

sudo systemctl enable httpd
您将看到类似
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.的输出,表示设置成功。验证服务状态: 检查Apache服务是否正在运行:
sudo systemctl status httpd
如果服务运行正常,输出中应显示
active (running),按q键退出状态查看。
第四步:配置系统防火墙
CentOS通常默认启用 firewalld 防火墙,为了允许外部用户访问Apache的默认HTTP(端口80)和HTTPS(端口443)服务,需要添加相应的防火墙规则。
允许HTTP流量(端口80):

sudo firewall-cmd --permanent --add-service=http
允许HTTPS流量(端口443):
sudo firewall-cmd --permanent --add-service=https
重新加载防火墙配置: 添加规则后,必须重新加载防火墙才能使更改生效:
sudo firewall-cmd --reload
验证开放的端口: 可以查看当前防火墙允许的服务和端口,确认配置是否成功:
sudo firewall-cmd --list-all
在输出的
services:部分,应该能看到http和https。
第五步:测试Apache安装
本地访问测试: 在服务器本机上,使用
curl命令访问本地环回地址:curl http://127.0.0.1
如果看到类似
<html><body><h1>It works!</h1></body></html>或包含 "Apache HTTP Server Test Page" 的HTML代码输出,说明Apache已在本地正常运行。远程访问测试: 从另一台计算机的Web浏览器中访问您的服务器IP地址(如
http://your_server_ip),您应该能看到默认的Apache CentOS测试页面,内容通常包括“Testing 123...”和基本的服务器信息。- 查找服务器IP地址: 如果不知道服务器公网IP,可以在服务器上运行:
curl -4 icanhazip.com # 或使用更详细的命令 ip addr show
查找与您公网连接对应的网络接口(如
eth0,ens33)及其inet地址。
- 查找服务器IP地址: 如果不知道服务器公网IP,可以在服务器上运行:
第六步:基本配置与文件目录
主配置文件: Apache的核心配置文件位于:
/etc/httpd/conf/httpd.conf
此文件用于配置全局设置、监听端口、服务器名称、目录设置、模块加载等,修改前建议备份:
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
网站根目录 (DocumentRoot): 默认情况下,Apache提供网页内容的目录是:
/var/www/html
您可以将您的网站文件(如
index.html)放置在此目录下,创建一个简单的测试页面:sudo echo "<h1>Hello, CentOS Apache!</h1>" > /var/www/html/index.html
然后刷新浏览器访问服务器IP,应能看到新内容。
虚拟主机配置目录: 对于管理多个网站(虚拟主机),配置文件通常放在:
/etc/httpd/conf.d/
在此目录下创建的以
.conf结尾的文件都会被自动包含到主配置中。日志文件:
- 访问日志:
/var/log/httpd/access_log - 错误日志:
/var/log/httpd/error_log这些日志对于监控网站访问情况和排查问题至关重要,可使用tail -f /var/log/httpd/access_log实时查看访问记录。
- 访问日志:
第七步:管理Apache服务
- 重启Apache(修改配置后通常需要):
sudo systemctl restart httpd
- 重新加载Apache(不中断连接的情况下应用配置更改):
sudo systemctl reload httpd
- 停止Apache:
sudo systemctl stop httpd
- 禁用开机启动:
sudo systemctl disable httpd
注意事项与进阶提示
- SELinux: CentOS默认启用SELinux(安全增强型Linux),如果遇到权限问题(例如Apache无法访问特定目录下的文件),可能需要调整SELinux上下文(使用
chcon)或设置布尔值(使用setsebool -P httpd_unified ... on),排查时可暂时设为宽容模式sudo setenforce 0测试(重启失效),但生产环境应正确配置策略。 - 用户与组: Apache默认以
apache用户和组运行,确保网站文件的权限(chown,chmod)设置正确,允许该用户读取。 - 端口冲突: 如果系统上已有其他服务(如Nginx、其他Web服务器)占用了80或443端口,Apache将无法启动,使用
sudo netstat -tulpn | grep ':80\>'或sudo ss -tulpn | grep ':80'检查端口占用情况。 - 配置语法检查: 在重启Apache之前,强烈建议检查配置文件的语法是否有错误:
sudo apachectl configtest
如果输出
Syntax OK,则可以安全重启或重载服务。 - 安全加固: 安装完成后,应遵循安全最佳实践,如保持软件更新、配置强密码(如果涉及认证)、限制不必要的目录访问、考虑配置防火墙规则限制访问来源、及时禁用未使用的模块等,后续务必配置SSL/TLS证书(例如使用Let's Encrypt的certbot)以启用HTTPS加密传输。
完成以上步骤,一个功能完整的Apache HTTP服务器已在您的CentOS系统上成功部署,通过将您的网站文件放置在 /var/www/html 目录下,用户即可通过浏览器访问您的内容,后续可根据实际需求深入配置虚拟主机、优化性能或集成其他模块(如PHP、Python),Apache运行在您的服务器上,为网站提供稳定高效的服务支持。
