Apache是世界上最受欢迎的Web服务器之一。 这是一个开放源代码和跨平台的HTTP服务器,可为互联网的很大一部分提供支持。 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
中上传内容
如果您打算托管多个网站,则需要为每个网站创建虚拟主机配置。 在本部分中,我们将为域名“ 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或代理服务器。
如果您有任何问题或反馈,请随时发表评论。
该文章是以下系列的一部分。
该系列的其它文章:
•如何在Ubuntu上安装Apache 20.04