apache安装,apache配置,apache配置多虚拟机,ubuntu2204,为apache配置多个虚拟机,ubuntu apache配置,ubuntu apache安装

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

在本文中,我们将介绍如何在 Ubuntu 22.04 服务器上的apache安装及apache配置其模块、虚拟机等,并为apache配置多个虚拟机。

准备条件

你需要在 Ubuntu 22.04 系统中有一个普通非 root 用户,同时该用户需要具有 sudo 权限。

Ubuntu安装Apache

1、更新 Ubuntu 22.04 系统的软件源:

sudo apt update

2、安装Apache服务器

sudo apt install apache2

检查Aapche运行状态

在 Ubuntu 22.04 系统中完成 Apache 安装后,Ubuntu 22.04 系统会自动运行 Apache 服务器,使用 systemd 的命令检查 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 2024-01-27 09:04:58 UTC; 1min 58s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 21003 (apache2)
      Tasks: 55 (limit: 19009)
     Memory: 5.1M
        CPU: 81ms
     CGroup: /system.slice/apache2.service
             ├─21003 /usr/sbin/apache2 -k start
             ├─21004 /usr/sbin/apache2 -k start
             └─21005 /usr/sbin/apache2 -k start

管理Apache服务

在 Ubuntu 22.04 系统中管理 Apache 服务,可以使用 Ubuntu 系统的 systemctl 命令,也可以使用 Apache 软件包提供的 apachectlapache2ctl 命令,apachectl 是到 apache2ctl 的符号链接。

1、Ubuntu 22.04 系统内启动 Apache 服务器

sudo systemctl start apache2

或者

sudo apachectl start

2、Ubuntu 22.04 系统内停止 Apache 服务器

sudo systemctl stop apache2

或者

sudo apachectl stop

3、Ubuntu 22.04 系统内重启 Apache 服务器

sudo systemctl restart apache2

或者

sudo apachectl restart

4、Ubuntu 22.04 系统内重新加载 Apache 服务器

重新加载服务器用于加载 Apache 服务器的更改的配置,而不断开连接,只能使用 systemctl 命令。

sudo systemctl reload apache2

5、Ubuntu 22.04 系统内开机自启动 Apache 服务器

只能使用 systemctl 命令。

sudo systemctl enable apache2

6、Ubuntu 22.04 系统内禁止开机自启动 Apache 服务器

只能使用 systemctl 命令。

sudo systemctl disable apache2

Apache服务器配置模块

Ubuntu 2204 系统下的 Apache 提供了启用模块的命令 a2enmod 和禁用模块的命令 a2dismod,操作简单方便。

Apache 存放启用模块的文件夹为 /etc/apache2/mods-enabled,Apache 在其配置文件 /etc/apache2/apache2.conf 内导入/etc/apache2/mods-enabled 文件夹内的所有模块。

1、以启用 Apache Rewrite 模块示例(默认情况下 Apache Rewrite 模块没有启用,使用 a2enmod 命令启用 Apache Rewrite 模块):

$ sudo a2enmod rewrite

2、以禁用 Apache Rewrite 模块示例:

$ sudo a2dismod rewrite

Apache服务器配置虚拟机

示例以 localhost 域名为例,在您的 Apache 服务器上你需要修改为自己的域名。本示例只是一个简单的 HTML 页面。

1、创建项目目录

sudo mkdir /var/www/example

2、修改文件的所有者为当前用户

sudo chown -R $USER:$USER /var/www/example

3、创建HTML文件

sudo vi /var/www/example/index.html

添加代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎访问 Example</title>
</head>
<body>
    <p>你能看见该 HTML 内容,表明您的 Apache 虚拟机配置正确。</p>
</body>
</html>

4、创建本站点80端口虚拟机

在 Ubuntu 22.04 系统中可用站点的虚拟机配置文件存放 /etc/apache2/sites-available 文件夹内。

sudo vi /etc/apache2/sites-available/example.conf

添加如下代码:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/example
    <Directory /var/www/example>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        RewriteEngine on
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} !=/favicon.ico
        RewriteRule ^ index.html [L]
    </Directory>
</VirtualHost>

:本虚拟机需要在 Apache 服务器中启用 Rewrite 模块。

5、启用Apache站点虚拟机

Ubuntu 2204 系统下的 Apache 提供了启用站点虚拟机的命令 a2ensite 和禁用虚拟机的命令 a2dissite,操作简单方便。

$sudo a2ensite example

:Apache 把启用站点的配置文件存放在 /etc/apache2/sites-enabled 文件夹内,Apache 在其配置文件 /etc/apache2/apache2.conf 内导入/etc/apache2/sites-enabled 文件夹内的所有虚拟机。

6、测试 Apache 虚拟机是否配置正确

sudo apachectl configtest

如果显式如下信息,表示配置正确:

Output
Syntax OK

7、重启 Apache 服务器加载虚拟机配置

sudo systemctl restart apache2

8、在浏览器中输入 localhost 查看页面

Apache配置文件与目录解释

站点内容目录

/var/www/html:默认的 Apache 服务器的页面存放的目录,可以在配置文件中修改。

服务器配置目录

  • /etc/apache2:Apache 服务器的配置目录,所有的配置文件都在该目录中。

  • /etc/apache2/apache2.conf:Apache 服务器的主配置文件,可以在该文件中修改 Apache 服务器的全局配置,该文件还会配置加载其他文件中的配置。

  • /etc/apache2/ports.conf:该文件配置 Apache 服务器监听的端口。默认监听 80 端口;在安装启用 SSL 模块后,自动监听 443 端口。

  • /etc/apache2/sites-available/: 可用虚拟机存放的目录,该目录的虚拟机配置不会直接被加载,文件只有创建到 /etc/apache2/sites-enabled 目录内文件的符号链接时,才会被加载。使用 a2ensite 创建符号链接,即启用虚拟机。

  • /etc/apache2/sites-enabled/:启用的虚拟机存放的目录,该目录存放的配置文件是符号链接。使用 a2dissite 删除符号链接,即禁用虚拟机。

  • /etc/apache2/conf-available/: 可用配置存放的目录,该目录的配置不会直接被加载,文件只有创建到 /etc/apache2/conf-enabled 目录内文件的符号链接时,才会被加载。使用 a2enconf 创建符号链接,即启用配置。

  • /etc/apache2/conf-enabled/:启用的配置存放的目录,该目录存放的配置文件是符号链接。使用 a2disconf 删除符号链接,即禁用配置。

  • /etc/apache2/mods-available/: 可用模块配置文件存放的目录,该目录的配置不会直接被加载,文件只有创建到 /etc/apache2/mods-enabled 目录内文件的符号链接时,才会被加载。使用 a2enmod 创建符号链接,即启用模块。

  • /etc/apache2/mods-enabled/:启用的模块配置文件存放的目录,该目录存放的配置文件是符号链接。使用 a2dismod 删除符号链接,即禁用模块。

服务器日志文件

  • /var/log/apache2/access.log:存储访问服务器记录的默认文件。

  • /var/log/apache2/error.log:存储所有错误信息的默认文件。根据配置文件中的 LogLevel 确定记录那些类型的错误信息。

结语

在本文中我们介绍了在 Ubuntu 22.04 服务器上apache安装及apache配置其模块、虚拟机等,并为apache配置多个虚拟机。同时还介绍了 Apache 服务器的重要配置目录和文件。