Apache是Linux搭建Web服务器最常用选择,需按发行版安装(如yum/dnf/apt)、启动并设开机自启、开放防火墙80/443端口、配置虚拟主机及本地hosts解析。

如果您希望在Linux系统中搭建Web服务器,Apache(httpd)是最常用的选择之一。以下是针对主流Linux发行版安装Apache、启动服务并配置虚拟主机的详细操作步骤:
一、安装Apache服务
Apache在不同发行版中包名略有差异,需根据系统类型选择对应安装命令。安装过程会自动部署基础配置文件与默认站点目录。
1、在CentOS/RHEL 7/8/9系统中执行:
yum install httpd -y
2、在CentOS/RHEL 9或AlmaLinux/Rocky Linux 9中若使用dnf:
dnf install httpd -y
3、在Ubuntu/Debian系统中执行:
apt update && apt install apache2 -y
4、安装完成后,确认httpd或apache2服务已正确安装且无依赖报错。
二、启动并启用开机自启
安装完毕后需手动启动服务,并设置为系统启动时自动运行,确保Web服务持续可用。
1、在RHEL/CentOS/AlmaLinux系统中执行:
systemctl start httpd && systemctl enable httpd
2、在Ubuntu/Debian系统中执行:
systemctl start apache2 && systemctl enable apache2
3、验证服务状态:
systemctl status httpd(或apache2)
4、若状态显示“active (running)”,表示服务已正常启动。
三、开放防火墙端口
默认情况下,firewalld或ufw可能阻止外部对HTTP(端口80)和HTTPS(端口443)的访问,需显式放行。
1、在启用firewalld的系统中执行:
firewall-cmd --permanent --add-service=http && firewall-cmd --permanent --add-service=https && firewall-cmd --reload
2、在Ubuntu/Debian启用ufw时执行:
ufw allow 'Apache Full'
3、执行后需确认端口80在netstat或ss输出中处于LISTEN状态。
四、配置基于域名的虚拟主机
虚拟主机允许单台服务器托管多个网站,通过ServerName区分请求目标。需在主配置中启用vhost支持并创建独立配置文件。
1、在CentOS/RHEL系统中,编辑/etc/httpd/conf/httpd.conf,确保包含:
Include conf.modules.d/*.conf 和 Include conf.d/*.conf
2、在/etc/httpd/conf.d/目录下新建文件site1.conf:
ServerName example1.local
DocumentRoot /var/www/site1
ErrorLog /var/log/httpd/site1_error.log
3、在Ubuntu/Debian系统中,使用a2ensite启用站点:
echo "
4、每次修改虚拟主机配置后必须执行systemctl reload httpd(或apache2)生效。
五、设置本地DNS解析以测试虚拟主机
在未配置公网DNS的情况下,可通过修改本机hosts文件将自定义域名映射至本地IP,实现浏览器直接访问。
1、编辑/etc/hosts文件:
sudo nano /etc/hosts
2、在文件末尾添加两行:
127.0.0.1 example1.local
127.0.0.1 example2.local
3、为每个虚拟主机创建对应根目录并放置测试页:
mkdir -p /var/www/site1 && echo "
Site 1
" > /var/www/site1/index.html4、保存后,在浏览器中分别访问http://example1.local和http://example2.local,应显示不同内容。









