如何在Ubuntu 20.04上安装Apache
Apache是世界上最受欢迎的Web服务器之一。 这是一个开放源代码和跨平台的HTTP服务器,可为Internet的很大一部分网站提供支持。 Apache提供了许多强大的功能,可以通过其他模块进行扩展。
本教程描述了如何在Ubuntu 20.04上安装和管理Apache Web服务器。
先决条件
在开始本教程之前,请确保您以具有sudo特权的用户身份登录。
安装Apache#
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
文件。
如果您打算托管多个网站,则需要为每个站点创建一个虚拟主机配置。 在本节中,我们将为名为“ 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 [email protected]
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或代理服务器。
如果您有任何疑问或反馈,请随时发表评论。
apache ubuntu
这篇文章是如何在Ubuntu 20-04系列上安装LAMP堆栈的一部分。
•如何在2020年4月20日的Ubuntu 20.04上安装MySQL•如何在2020年5月9日的Ubuntu 20.04上安装Apache•如何在2020年6月9日,Ubuntu 20.04上安装PHP•如何在Ubuntu 20.04年6月24日,设置Apache虚拟主机, 2020年•通过让我们在Ubuntu 20.04上加密来保护Apache 2020年7月8日