如何在 Ubuntu 20.04 上安装 Apache 网络服务器 [快速入门]

介绍

Apache HTTP 服务器是世界上使用最广泛的 Web 服务器,它提供了许多强大的功能,包括动态可加载的模块,强大的媒体支持,以及与其他流行的软件的广泛集成。

在本指南中,我们将解释如何在 Ubuntu 20.04 服务器上安装 Apache Web Server. 对于本教程的更详细版本,请参阅 如何在 Ubuntu 20.04 上安装 Apache Web Server

前提条件

在你开始这个指南之前,你应该有以下几点:

  • Ubuntu 20.04 服务器和具有 sudo 特权的常规非 root 用户. 此外,您还需要启用基本防火墙来阻止非必不可少的端口。 您可以学习如何配置常规用户帐户并为您的服务器设置防火墙,通过遵循我们的 Ubuntu 20.04 初始服务器设置指南。

当你有一个帐户可用时,登录作为你的非根用户开始。

步骤 1 - 安装 Apache

Apache在Ubuntu的默认软件存储库中可用,因此您可以使用传统的包管理工具安装它。

更新您的本地包索引:

1sudo apt update

安装apache2包:

1sudo apt install apache2

第2步:调整防火墙

查看可用的ufw应用程序配置文件:

1sudo ufw app list
1[secondary_label Output]
2Available applications:
3  Apache
4  Apache Full
5  Apache Secure
6  OpenSSH

让我们启用最具限制性的配置,仍然允许您配置的流量,允许在端口 `80 (正常,未加密的网络流量) 上流量:

1sudo ufw allow 'Apache'

检查变化:

1sudo ufw status
1[secondary_label Output]
2Status: active
3
4To Action From
5--                         ------      ----
6OpenSSH ALLOW Anywhere                  
7Apache ALLOW Anywhere                  
8OpenSSH (v6)               ALLOW Anywhere (v6)             
9Apache (v6)                ALLOW Anywhere (v6)

步骤3 - 检查您的Web服务器

通过systemd init 系统检查,以确保该服务通过键入运行:

1sudo systemctl status apache2
 1[secondary_label Output]
 2apache2.service - The Apache HTTP Server
 3     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
 4     Active: active (running) since Tue 2020-04-28 23:06:40 UTC; 56s ago
 5       Docs: https://httpd.apache.org/docs/2.4/
 6   Main PID: 13785 (apache2)
 7      Tasks: 55 (limit: 1137)
 8     Memory: 5.3M
 9     CGroup: /system.slice/apache2.service
10             ├─13785 /usr/sbin/apache2 -k start
11             ├─13787 /usr/sbin/apache2 -k start
12             └─13788 /usr/sbin/apache2 -k start

访问默认的 Apache 定位页面以确认软件通过您的 IP 地址正确运行:

1http://your_server_ip

您应该收到默认的Ubuntu 20.04 Apache网页:

Apache default page

步骤 4 — 设置虚拟主机(推荐)

在使用Apache Web 服务器时,您可以使用 virtual hosts(类似于 Nginx 中的服务器块)来封装配置细节,并从单个服务器中托管多个域。我们将设置一个名为 your_domain 的域名,但您应该 **用自己的域名代替它。

创建your_domain目录:

1sudo mkdir /var/www/your_domain

授予董事会的所有权:

1sudo chown -R $USER:$USER /var/www/your_domain

如果您尚未修改解除面罩值,您的 Web 根的权限应该是正确的,但您可以通过键入来确保:

1sudo chmod -R 755 /var/www/your_domain

使用nano或您最喜欢的编辑器创建一个样本index.html页面:

1nano /var/www/your_domain/index.html

内部,添加以下样本HTML:

1[label /var/www/your_domain/index.html]
2<html>
3    <head>
4        <title>Welcome to Your_domain!</title>
5    </head>
6    <body>
7        <h1>Success!  The your_domain virtual host is working!</h1>
8    </body>
9</html>

保存并关闭文件,当你完成。

创建一个新的虚拟主机文件在 /etc/apache2/sites-available/your_domain.conf:

1sudo nano /etc/apache2/sites-available/your_domain.conf

插入以下配置块,更新为我们的新目录和域名:

1[label /etc/apache2/sites-available/your_domain.conf]
2<VirtualHost *:80>
3    ServerAdmin webmaster@localhost
4    ServerName your_domain
5    ServerAlias your_domain
6    DocumentRoot /var/www/your_domain
7    ErrorLog ${APACHE_LOG_DIR}/error.log
8    CustomLog ${APACHE_LOG_DIR}/access.log combined
9</VirtualHost>

保存并关闭文件,当你完成。

使用「a2ensite」啟用檔案:

1sudo a2ensite your_domain.conf

禁用在000-default.conf中定义的默认网站:

1sudo a2dissite 000-default.conf

测试配置错误:

1sudo apache2ctl configtest

你应该得到以下的输出:

1[secondary_label Output]
2Syntax OK

重新启动 Apache 以实现更改:

1sudo systemctl restart apache2

您可以通过导航到http://your_domain,在那里您应该收到这样的东西:

Apache virtual host example

结论

现在你已经安装了你的Web服务器,你有许多选择的内容类型来服务和你想要使用的技术来创建一个更丰富的体验。

如果您想构建一个更完整的应用程序堆栈,请参阅本文中的 如何在Ubuntu 20.04上配置LAMP堆栈

Published At
Categories with 技术
comments powered by Disqus