如何在 Ubuntu 22.04 上安装 Apache
Apache 是最受欢迎的使用最广泛的网络服务器之一。它是一个开源和跨平台的HTTP服务器,被大一部分互联网网站使用。
Apache 提供了很多强大的功能,这些功能通常都是以插件的形式存在,丰富的插件使其可定制和灵活性更好,成为更多人的选择。
本文将指导你在 Ubuntu 22.04 上如何安装和管理 Apache 。通过本文,你将学会如何安装 Apache,如何在放火墙中打开HTTP和HTTPS端口,以及如何设置虚拟主机。
前提条件
1、你拥有一台安装了 Ubuntu 22.04 系统的服务器,可以自己安装虚拟机或者购买阿里云或腾讯云的VPS。
2、你拥有改服务器的 root 账号。
安装 Apache
在 Ubuntu 和 Debian 系统上,Apache 软件包和服务被称为apache2。
Apache 默认包含在 Ubuntu 存储库中,安装非常简单。
运行以下命令来刷新本地软件包索引并安装 Apache:
sudo apt update
sudo apt install apache2
安装过程完成后,Apache 服务将自动启动,,可以通过键入如下命令来验证 Apache 是否正在运行:
sudo systemctl status apache2
正常运行会输出类似如下内容:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-03-21 10:29:51 UTC; 1min 9s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 3134 (apache2)
Tasks: 55 (limit: 4558)
Memory: 5.0M
CPU: 29ms
CGroup: /system.slice/apache2.service
├─3134 /usr/sbin/apache2 -k start
├─3136 /usr/sbin/apache2 -k start
└─3137 /usr/sbin/apache2 -k start
...
至此,Apache 已成功安装在 Ubuntu 22.04 服务器上,现在可以开始使用它了。
打开HTTP和HTTPS端口
Apache 监听80(HTTP)和443(HTTPS)端口,所以我们需要在防火墙中放行这些端口端口,以允许从互联网访问 Web 服务器。
当然如果你没启用防火墙,可以不用以下操作,不过通常建议启用防火墙,服务器或更加安全。
假设您使用的是UFW,您可以通过启用“Apache Full”配置文件来做到这一点,其中包括两个端口的规则:
sudo ufw allow 'Apache Full'
验证更改:
sudo ufw status
输出内容类似如下:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Apache Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
验证Apache安装
要验证 apache 是否正常工作,只需要打开浏览器,输入服务器IP地址http://YOUR_IP_OR_DOMAIN/,您将看到默认的 Ubuntu 22.04 Apache 欢迎页面,如下所示:

该页面提供有关 Apache 配置文件、相关帮助脚本和目录位置的基本信息。
设置虚拟主机
在 Apache 中虚拟主机允许您在一台服务器上运行多个网站。
默认情况下,Apache 附带一个虚拟主机。所有指向服务器 IP 地址的域都将与默认虚拟主机匹配。
如果您正在托管单个网站,您可以在/var/www/html中上传其内容,并编辑/etc/apache2/sites-enabled/000-default.conf文件中的虚拟主机配置。
如果计划托管多个网站,则需要为每个站点创建虚拟主机配置。
在本节中,我们将指导您为名为“example.com”的域名设置网站。只需将“example.com”替换为您自己的域名。
第一步是创建文档根目录,其中将存储域名的网站文件,并响应请求提供服务。
运行以下mkdir命令来创建目录:
sudo mkdir -p /var/www/example.com拷贝
出于测试目的,在域文档根目录中创建一个index.html文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
完成后保存并关闭文件。
为了避免权限问题,请将域文档根目录的所有权更改为apache用户(www-data):
sudo chown -R www-data: /var/www/example.com
下一步是为“example.com”域创建虚拟主机配置。最佳实践是将每个vhost配置存储在一个单独的文件中。
Apache vhosts文件存储在/etc/apache2/sites-available目录中。标准命名约定是根据域命名文件。
打开您的文本编辑器并创建以下文件:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
Apache 不会读取/etc/apache2/sites-available目录中找到的配置文件,除非它们链接到/etc/apache2/sites-enabled目录。
要激活虚拟主机配置,请使用a2ensite实用程序创建一个符号链接:
sudo a2ensite example.com
测试配置中是否存在任何语法错误:
sudo apachectl configtest
如果没有错误,您将看到以下输出:
Syntax OK
重新启动 Apache 服务以使更改生效:
sudo systemctl restart apache2
最后,要验证一切是否按预期工作,请在浏览器中打开http://example.com,您将看到以下内容:

写在最后
本文已经向您展示了如何在 Ubuntu 22.04 上安装Apache。希望本文对你有所帮助!
你现在可以尝试着在你自己的 Ubuntu 22.04 服务器上安装 Apache 了。
评论(0)
发表评论