如何在 Ubuntu 22.04 上安装 Apache

2024-03-26 667 次阅读 0

Apache 是最受欢迎的使用最广泛的网络服务器之一。它是一个开源和跨平台的HTTP服务器,被大一部分互联网网站使用。

Apache 提供了很多强大的功能,这些功能通常都是以插件的形式存在,丰富的插件使其可定制和灵活性更好,成为更多人的选择。

本文将指导你在 Ubuntu 22.04 上如何安装和管理 Apache 。通过本文,你将学会如何安装 Apache,如何在放火墙中打开HTTP和HTTPS端口,以及如何设置虚拟主机。

前提条件

1、你拥有一台安装了 Ubuntu 22.04 系统的服务器,可以自己安装虚拟机或者购买阿里云腾讯云VPS

2、你拥有改服务器的 root 账号。

安装 Apache

在 Ubuntu 和 Debian 系统上,Apache 软件包和服务被称为apache2

Apache 默认包含在 Ubuntu 存储库中,安装非常简单。

运行以下命令来刷新本地软件包索引并安装 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 Thu 2024-03-21 10:29:51 UTC; 1min 9s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 3134 (apache2)
      Tasks: 55 (limit: 4558)
     Memory: 5.0M
        CPU: 29ms
     CGroup: /system.slice/apache2.service
             ├─3134 /usr/sbin/apache2 -k start
             ├─3136 /usr/sbin/apache2 -k start
             └─3137 /usr/sbin/apache2 -k start
...

至此,Apache 已成功安装在 Ubuntu 22.04 服务器上,现在可以开始使用它了。

打开HTTP和HTTPS端口

Apache 监听80(HTTP)和443(HTTPS)端口,所以我们需要在防火墙中放行这些端口端口,以允许从互联网访问 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安装

要验证 apache 是否正常工作,只需要打开浏览器,输入服务器IP地址http://YOUR_IP_OR_DOMAIN/,您将看到默认的 Ubuntu 22.04 Apache 欢迎页面,如下所示:

apache 欢迎页面

该页面提供有关 Apache 配置文件、相关帮助脚本和目录位置的基本信息。

设置虚拟主机

在 Apache 中虚拟主机允许您在一台服务器上运行多个网站。

默认情况下,Apache 附带一个虚拟主机。所有指向服务器 IP 地址的域都将与默认虚拟主机匹配。

如果您正在托管单个网站,您可以在/var/www/html中上传其内容,并编辑/etc/apache2/sites-enabled/000-default.conf文件中的虚拟主机配置。

如果计划托管多个网站,则需要为每个站点创建虚拟主机配置。

在本节中,我们将指导您为名为“example.com”的域名设置网站。只需将“example.com”替换为您自己的域名。

第一步是创建文档根目录,其中将存储域名的网站文件,并响应请求提供服务。

运行以下mkdir命令来创建目录:

sudo mkdir -p /var/www/example.com拷贝

出于测试目的,在域文档根目录中创建一个index.html文件:

<!DOCTYPE html>
<html>
  <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”域创建虚拟主机配置。最佳实践是将每个vhost配置存储在一个单独的文件中。

Apache vhosts文件存储在/etc/apache2/sites-available目录中。标准命名约定是根据域命名文件。

打开您的文本编辑器并创建以下文件:

<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 22.04 上安装Apache。希望本文对你有所帮助!

你现在可以尝试着在你自己的 Ubuntu 22.04 服务器上安装 Apache 了。

评论(0

暂无评论,来说两句吧

发表评论

回复 取消