apache linux服务器搭建需要哪些详细步骤?
- 云服务器
- 2025-12-29
- 5
Apache HTTP Server 是全球使用最广泛的 Web 服务器软件之一,以其稳定性、灵活性和强大的功能而闻名,在 Linux 系统上搭建 Apache 服务器是许多网站管理员和开发者的必备技能,本文将详细介绍在 Linux 系统上(以 Ubuntu/Debian 为例)从环境准备到配置优化的完整过程,帮助您快速搭建一个功能完善的 Apache 服务器。
环境准备与系统更新
在开始搭建之前,确保您的 Linux 系统已正确安装并更新到最新状态,以 Ubuntu 为例,首先更新系统软件包列表并升级已安装的包:
sudo apt update sudo apt upgrade y
确保系统具备基本的网络连接,并已配置好静态 IP 地址(如果需要公网访问),通过 ip addr 命令查看网络接口信息,确保服务器能正常联网。
安装 Apache 服务器
Apache 在 Ubuntu/Debian 的软件仓库中默认可用,因此可以直接使用 apt 命令安装,执行以下命令安装 Apache:
sudo apt install apache2 y
安装过程中,系统会自动启动 Apache 服务,安装完成后,可通过以下命令验证 Apache 是否运行正常:
sudo systemctl status apache2
如果显示 active (running),则表示服务已成功启动,在浏览器中输入服务器的 IP 地址或域名,应能看到 Apache 的默认欢迎页面,内容为 “It works!”,这表明 Web 服务器已成功部署。
配置防火墙规则
为确保 Apache 服务能被外部访问,需要开放 HTTP(80 端口)和 HTTPS(443 端口),以 UFW(Uncomplicated Firewall)为例,执行以下命令:
sudo ufw allow 'Apache Full'
Apache Full 规则会同时开放 80 和 443 端口,启用防火墙后(sudo ufw enable),外部流量即可正常访问 Apache 服务。

虚拟主机配置
虚拟主机允许一台服务器托管多个网站,每个网站拥有独立的域名和配置文件,以下是配置虚拟主机的详细步骤:
创建网站目录
假设要为域名 example.com 创建网站,首先创建网站根目录:
sudo mkdir p /var/www/example.com/html
赋予目录适当的权限:
sudo chown R $USER:$USER /var/www/example.com/html sudo chmod R 755 /var/www/example.com/html
创建测试页面
在网站根目录下创建一个 index.html 文件:
nano /var/www/example.com/html/index.html
并保存:

创建虚拟主机配置文件
Apache 的虚拟主机配置文件通常存放在 /etc/apache2/sitesavailable/ 目录下,创建一个新的配置文件:
sudo nano /etc/apache2/sitesavailable/example.com.conf
输入以下配置内容:
<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
启用虚拟主机
使用 a2ensite 命令启用新配置的虚拟主机:
sudo a2ensite example.com.conf
禁用默认站点(可选)
如果不需要默认的 Apache 欢迎页面,可以禁用默认站点:
sudo a2dissite 000default.conf
重启 Apache 服务
重新加载 Apache 配置以使更改生效:
sudo systemctl restart apache2
访问 example.com 即可看到自定义的测试页面。
配置 SSL 证书(HTTPS)
为了网站安全,建议为域名配置 SSL 证书以启用 HTTPS,以下是使用 Let’s Encrypt 免费证书的步骤:
安装 Certbot
sudo apt install certbot python3certbotapache y
获取并安装证书
sudo certbot apache d example.com d www.example.com
按照提示输入邮箱地址并同意服务条款,Certbot 会自动检测 Apache 配置并获取证书,安装完成后,Apache 会自动配置 HTTPS 并强制重定向 HTTP 流量到 HTTPS。
性能优化与安全加固
配置虚拟主机优化参数
在虚拟主机配置文件中添加以下优化参数(可根据服务器配置调整):
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript </IfModule> <IfModule mod_expires.c> ExpiresActive on ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" </IfModule>
禁用不必要的模块
减少 Apache 加载的模块可以提高性能和安全性,编辑 /etc/apache2/apache2.conf 文件,注释掉未使用的模块:
#LoadModule autoindex_module modules/mod_autoindex.so #LoadModule status_module modules/mod_status.so
设置文件权限
确保网站目录权限设置正确,避免敏感文件被外部访问:
sudo find /var/www type d exec chmod 755 {} ; sudo find /var/www type f exec chmod 644 {} ;
常见问题排查
Apache 无法正常访问,可通过以下命令排查问题:
- 查看错误日志:sudo tail f /var/log/apache2/error.log
- 检查配置语法:sudo apache2ctl configtest
- 检查端口占用:sudo netstat tuln | grep :80
相关问答 FAQs
问题 1:如何更改 Apache 的默认端口?
答:编辑虚拟主机配置文件,将 <VirtualHost *:80> 中的 80 更改为目标端口(如 8080),然后修改防火墙规则开放新端口(sudo ufw allow 8080),最后重启 Apache 服务即可。
问题 2:如何实现 HTTP 自动跳转到 HTTPS?
答:在虚拟主机配置文件中,为 HTTP 和 HTTPS 分别配置 <VirtualHost> 块,并在 HTTP 块中添加 Redirect permanent / https://example.com/,或使用 Certbot 自动生成的 000defaultlessl.conf 配置文件中的重定向规则。
