如何在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 updatesudo 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 2017-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虚拟主机文件存储在“/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”: