HCRM博客

在CentOS系统上轻松部署Apache服务器

CentOS系统Apache HTTP服务器安装与配置指南

第一步:系统环境准备

  1. 更新系统软件包: 在开始安装任何新软件之前,更新系统现有的软件包至最新版本是一个好习惯,这有助于确保系统安全性和软件兼容性,在终端中执行以下命令:

    在CentOS系统上轻松部署Apache服务器-图1
    sudo yum update -y
  2. 验证网络连接: 确保您的CentOS服务器拥有稳定的互联网连接,以便从软件仓库下载必要的安装包,可以通过尝试访问一个公共网站(如 curl -I www.example.com)或检查网关(如 ping 8.8.8.8)来验证。

第二步:安装Apache (httpd)

  1. 执行安装命令: Apache HTTP服务器在CentOS的默认软件仓库中对应的软件包名称为 httpd,使用 yum 包管理器进行安装:
    sudo yum install httpd -y

    此命令会自动下载并安装 httpd 及其所有依赖项。-y 参数用于自动确认安装过程中的提示。

第三步:启动Apache服务并设置开机自启

  1. 启动服务: 安装完成后,需要启动Apache服务才能使其运行:

    sudo systemctl start httpd
  2. 设置开机自动启动: 为了确保服务器重启后Apache能自动运行,需要启用其开机自启功能:

    在CentOS系统上轻松部署Apache服务器-图2
    sudo systemctl enable httpd

    您将看到类似 Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. 的输出,表示设置成功。

  3. 验证服务状态: 检查Apache服务是否正在运行:

    sudo systemctl status httpd

    如果服务运行正常,输出中应显示 active (running),按 q 键退出状态查看。

第四步:配置系统防火墙

CentOS通常默认启用 firewalld 防火墙,为了允许外部用户访问Apache的默认HTTP(端口80)和HTTPS(端口443)服务,需要添加相应的防火墙规则。

  1. 允许HTTP流量(端口80):

    在CentOS系统上轻松部署Apache服务器-图3
    sudo firewall-cmd --permanent --add-service=http
  2. 允许HTTPS流量(端口443):

    sudo firewall-cmd --permanent --add-service=https
  3. 重新加载防火墙配置: 添加规则后,必须重新加载防火墙才能使更改生效:

    sudo firewall-cmd --reload
  4. 验证开放的端口: 可以查看当前防火墙允许的服务和端口,确认配置是否成功:

    sudo firewall-cmd --list-all

    在输出的 services: 部分,应该能看到 httphttps

第五步:测试Apache安装

  1. 本地访问测试: 在服务器本机上,使用 curl 命令访问本地环回地址:

    curl http://127.0.0.1

    如果看到类似 <html><body><h1>It works!</h1></body></html> 或包含 "Apache HTTP Server Test Page" 的HTML代码输出,说明Apache已在本地正常运行。

  2. 远程访问测试: 从另一台计算机的Web浏览器中访问您的服务器IP地址(如 http://your_server_ip),您应该能看到默认的Apache CentOS测试页面,内容通常包括“Testing 123...”和基本的服务器信息。

    • 查找服务器IP地址: 如果不知道服务器公网IP,可以在服务器上运行:
      curl -4 icanhazip.com
      # 或使用更详细的命令
      ip addr show

      查找与您公网连接对应的网络接口(如 eth0, ens33)及其 inet 地址。

第六步:基本配置与文件目录

  1. 主配置文件: Apache的核心配置文件位于:

    /etc/httpd/conf/httpd.conf

    此文件用于配置全局设置、监听端口、服务器名称、目录设置、模块加载等,修改前建议备份:

    sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  2. 网站根目录 (DocumentRoot): 默认情况下,Apache提供网页内容的目录是:

    /var/www/html

    您可以将您的网站文件(如 index.html)放置在此目录下,创建一个简单的测试页面:

    sudo echo "<h1>Hello, CentOS Apache!</h1>" > /var/www/html/index.html

    然后刷新浏览器访问服务器IP,应能看到新内容。

  3. 虚拟主机配置目录: 对于管理多个网站(虚拟主机),配置文件通常放在:

    /etc/httpd/conf.d/

    在此目录下创建的以 .conf 结尾的文件都会被自动包含到主配置中。

  4. 日志文件:

    • 访问日志: /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运行在您的服务器上,为网站提供稳定高效的服务支持。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/36203.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~