Apache 是世界上最流行的 Web 服务器之一。它是一个开源、跨平台的 HTTP 服务器,为大部分互联网网站提供支持。 Apache 提供了许多强大的功能,可以通过附加模块进行扩展。
本教程介绍如何在 Ubuntu 20.04 上安装和管理 Apache Web 服务器。
先决条件#
在开始学习本教程之前,请确保您以以下身份登录具有 sudo 权限的用户
.
安装阿帕奇#
Apache 包含在默认的 Ubuntu 存储库中。
安装非常简单。在 Ubuntu 和 Debian 系统上,Apache 软件包和服务称为apache2
.
运行以下命令来更新包索引并安装 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 Sat 2020-05-09 19:28:40 UTC; 36min ago
...
就这样,您已经在 Ubuntu 20.04 服务器上成功安装了 Apache,并且可以开始使用它了。
打开 HTTP 和 HTTPs 端口#
Apache 监听端口80
(HTTP)和443
(HTTPS)。您必须在防火墙中打开这些端口,以便可以从 Internet 访问 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 安装#
要验证一切是否正常,请打开浏览器,输入您的服务器 IP 地址http://YOUR_IP_OR_DOMAIN/
,您将看到默认的 Ubuntu 20.04 Apache 欢迎页面,如下所示:
该页面包含有关 Apache 配置文件、帮助程序脚本和目录位置的一些基本信息。
设置虚拟主机#
虚拟主机是一种 Apache 配置指令,允许您在一台服务器上运行多个网站。通常,虚拟主机描述一个网站。
Apache 附带默认启用的一台虚拟主机。所有指向服务器 IP 地址的域都将与默认虚拟主机匹配。如果您要托管一个网站,您可以将其内容上传到/var/www/html
并编辑编辑虚拟主机配置/etc/apache2/sites-enabled/000-default.conf
file.
如果您打算托管多个网站,则需要为每个网站创建一个虚拟主机配置。在本节中,我们将为名为“example.com”的域设置一个网站。您应该将“example.com”替换为您的域名。
第一步是创建文档根目录,其中将存储域名的网站文件并根据请求提供服务。运行以下命令创建目录
:
sudo mkdir -p /var/www/example.com
出于测试目的,创建一个index.html
域文档根目录中的文件:
/var/www/example.com/index.html
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< 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”域创建虚拟主机配置。最佳实践是将每个虚拟主机配置存储在单独的文件中。
Apache vhosts 文件存储在/etc/apache2/sites-available
目录。标准命名约定是根据域来命名文件。
打开文本编辑器并创建以下文件:
/etc/apache2/sites-available/example.com.conf
<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 20.04 上安装 Apache。您现在已准备好开始部署应用程序并使用 Apache 作为 Web 或代理服务器。
如果您有任何问题或反馈,请随时发表评论。