Linux如何安装Apache服务器_Linux下Httpd服务部署与虚拟主机设置【指南】

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 " ServerName example2.local DocumentRoot /var/www/site2 " > /etc/apache2/sites-available/example2.conf && a2ensite example2.conf

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.html

4、保存后,在浏览器中分别访问http://example1.local和http://example2.local,应显示不同内容