sudo apt update && sudo apt install apache2
,CentOS/RHEL系统运行sudo yum install httpd
,安装后启动服务并设置开机自启:sudo systemctl start apache2
(或httpd) 和 sudo systemctl enable apache2
(或httpd),最后通过浏览器访问服务器IP验证是否成功。安装 Linux 上的 Apache 服务器详细指南
Apache HTTP Server(简称 Apache)是全球使用最广泛的开源 Web 服务器之一,它以稳定性、灵活性和跨平台特性著称,支持超过 40% 的活跃网站,本指南将详细介绍在 Linux 系统上安装 Apache 的完整流程,涵盖 Ubuntu/Debian 和 CentOS/RHEL 两大主流发行版。
安装前准备
-
系统更新
确保系统软件包为最新状态,避免依赖冲突:# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo yum update -y
-
防火墙配置
开放 HTTP(80)和 HTTPS(443)端口:# Ubuntu/Debian (使用 UFW) sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload # CentOS/RHEL (使用 Firewalld) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
安装 Apache
根据您的 Linux 发行版选择对应命令:
Ubuntu/Debian 系统
sudo apt install apache2 -y
- 安装后服务自动启动,可通过以下命令验证状态:
systemctl status apache2
CentOS/RHEL 系统
sudo yum install httpd -y
- 启动服务并设置开机自启:
sudo systemctl start httpd sudo systemctl enable httpd
验证安装
-
检查服务状态
# Ubuntu/Debian systemctl status apache2 # CentOS/RHEL systemctl status httpd
正常状态显示
active (running)
。 -
访问默认页面
在浏览器中输入服务器 IP 地址,出现 “Apache2 Ubuntu Default Page” 或 “CentOS Test Page” 即表示安装成功。 -
命令行测试
curl 127.0.0.1
若返回 HTML 格式的欢迎页面代码,则证明服务正常运行。
基本配置与管理
-
关键目录说明
- 配置文件目录:
- Ubuntu/Debian:
/etc/apache2/
(主配置文件apache2.conf
) - CentOS/RHEL:
/etc/httpd/
(主配置文件httpd.conf
)
- Ubuntu/Debian:
- 网站根目录:
- Ubuntu/Debian:
/var/www/html/
- CentOS/RHEL:
/var/www/html/
- Ubuntu/Debian:
- 日志文件:
- 访问日志:
/var/log/apache2/access.log
或/var/log/httpd/access_log
- 错误日志:
/var/log/apache2/error.log
或/var/log/httpd/error_log
- 访问日志:
- 配置文件目录:
-
管理 Apache 服务
# 重启服务(修改配置后必需) sudo systemctl restart apache2 # 或 httpd # 查看错误信息(排错时使用) sudo tail -f /var/log/apache2/error.log
-
创建测试页面
echo "<h1>Apache 运行成功!</h1>" | sudo tee /var/www/html/index.html
刷新浏览器即可看到自定义内容。
常见问题解决
-
端口冲突
若出现(98)Address already in use
错误,可能是其他程序(如 Nginx)占用了 80 端口:sudo netstat -tulpn | grep :80
终止冲突进程或修改 Apache 端口(编辑配置文件中的
Listen 80
)。 -
权限错误
网站文件需赋予 Apache 用户权限:sudo chown -R www-data:www-data /var/www/html/ # Ubuntu/Debian sudo chown -R apache:apache /var/www/html/ # CentOS/RHEL
-
SELinux 拦截(CentOS/RHEL)
若页面无法加载,尝试临时禁用 SELinux 测试:sudo setenforce 0
永久解决方案:修改
/etc/selinux/config
中SELINUX=permissive
。
安全加固建议
-
隐藏服务器信息
编辑配置文件,添加:ServerTokens Prod ServerSignature Off
-
安装 ModSecurity 模块
# Ubuntu/Debian sudo apt install libapache2-mod-security2 -y # CentOS/RHEL sudo yum install mod_security -y
-
定期更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y # CentOS/RHEL
后续操作建议
- 配置虚拟主机:支持多域名托管(参考配置模板:
/etc/apache2/sites-available/000-default.conf
)。 - 启用 HTTPS:使用 Let’s Encrypt 免费证书安装 Certbot。
- 性能优化:调整
KeepAlive
参数和缓存设置(推荐模块:mod_cache
)。
引用说明:本文参考 Apache 官方文档(https://httpd.apache.org/docs/)及 Linux 发行版官方手册,内容经过实测验证,技术细节符合 Apache 2.4 版本规范,适用于主流的 Ubuntu 22.04 LTS 和 CentOS 7/8 系统环境。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/21966.html