Apache HTTP Web 服务器是广泛使用的 Web 服务器之一,尤其是在 Linux 发行版上,它是一种免费的跨平台,被互联网上的大量网站使用。 Apache Web 服务器使用 HTTP 来处理请求并接收 Web 信息。 Apache 拥有大量有用的功能,并且可以通过额外的模块来增强其功能。它还允许程序员在互联网上发布他们的作品。
因此,在本文中,我们将讨论 Apache Web 服务器的安装以及在 Debian 11 上安装后如何保护它。
要求
安装之前,您必须登录具有所有 sudo 权限的 Debian 系统。我们还建议完成初始服务器设置 在新安装的 Debian 11 系统上。
步骤 1 – 在 Debian 上安装 Apache
最新版本的 Apache 软件包可在默认的 Debian 11 存储库中获取。所以我们可以直接使用包管理器安装它。
登录后,打开终端并通过以下命令更新 apt 缓存:
sudo apt update
更新 apt 缓存后,现在通过以下命令在 Debian 11 Bullseye 上安装 Apache2:
sudo apt install apache2
按“y”以获取安装程序提示的任何确认。
安装过程完成后。通过运行以下命令验证已安装的 Apache 版本:
apache2 -v
Output:
Server version: Apache/2.4.48 (Debian)
Server built: 2021-08-12T11:51:47
验证 Apache 安装的另一种方法是使用服务器的 IP 地址或主机名访问 Apache2 默认页面。如果您不知道主机名,请先运行以下命令:
hostname -I
Check IP Address of Local System 在浏览器的 URL 栏中输入服务器的主机名或 IP 地址,然后按 Enter,将打开 Apache2 Debian 默认页面,如下所示:
Apache default page on Debian 11 第 2 步 – 管理 Apache 服务
安装成功后,可以使用systemctl命令管理Apache服务,运行以下命令检查服务器的状态:
sudo systemctl status apache2.service
Check Apache Service Status on Debian 11 Press “q” 退出。在 Debian 11 中管理 Apache 服务的命令有:
要启动服务器,请使用以下命令:
sudo systemctl start apache2.service
同样,要停止服务,请将上述命令中的 start 替换为 stop:
sudo systemctl stop apache2.service
可以使用以下命令重新启动该服务:
sudo systemctl restart apache2.service
步骤 3 – 配置防火墙设置
如果您的系统有防火墙,您需要授权访问某些 Web 端口,以便外部用户可以使用它们。运行以下命令以在 Debian 终端中允许端口 80 (HTTP) 和 443 (HTTPS):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Allow HTTP and HTTPS port in UFW 现在通过检查状态来验证:
sudo ufw status
如果它未激活,则使其能够使用:
sudo ufw enable
步骤 4 – 在 Apache 中创建虚拟主机
在 Apache 中,虚拟主机允许您在单个服务器上运行多个网站。在 Apache Web 服务器中,我们将创建一个虚拟主机。为了实现这一目标,我们首先使用 Apache 标配的服务器块创建一个名为 example.com 的网站。
让我们首先设置 Apache 服务器的第一个虚拟主机。我们将使用示例域“sample.com”,但您可以根据自己的喜好命名它:
sudo mkdir -p /var/www/sample.com
现在通过以下命令更改权限和所有者:
sudo chown -R www-data:www-data /var/www/sample.com
sudo chmod -R 755 /var/www/sample.com
运行下面提到的命令,为了测试我们的 testdomain.info 站点,我们现在将构建一个示例索引页面。为此,我们将使用 nano 编辑器生成一个如下所示的 HTML 文件:
sudo nano /var/www/sample.com/index.html
将以下内容插入索引页,然后按 Ctrl+O 保存文件,按 Ctrl+X 退出文件并返回终端:
欢迎来到 Sample.com 页面! 标题>
头>
恭喜!您的 example.com 服务器成功!
正文>
在终端中运行下面提到的命令,我们将构建一个虚拟主机文件,它将提供服务器的内容:
sudo nano /etc/apache2/sites-available/sample.com.conf
将打开一个文本文件,插入以下内容:
< 虚拟主机 *:80 >
服务器管理员 admin @ sample . com
服务器名称 sample . com
服务器别名 www . sampe . com
文档根目录 /var /www /sample . com
错误日志 $ { APACHE_LOG_DIR } /error . log
自定义日志 $ { APACHE_LOG_DIR } /access . log combined
< /虚拟主机 >
Press Ctrl+O 保存文件并Ctrl+X 退出文件并返回终端。
步骤 5 – 启用域配置
运行以下命令开启虚拟主机文件:
sudo a2ensite sample.com.conf
通过运行下面提到的命令禁用默认 Apache 配置:
sudo a2dissite 000-default.conf
通过运行下面提到的命令可以应用对 Apache 的新更改:
sudo systemctl restart apache2
步骤 6 – 解决主机名错误
现在,我们必须检查我们的配置是否有任何语法错误,要测试配置,请运行以下命令:
sudo apache2ctl configtest
Could not resolve system hotname issue with Apache 这会导致错误,但不用担心,我们会解决这个问题。创建一个新配置“servername.conf”并在文本编辑器中编辑:
sudo nano /etc/apache2/conf-avaialable/servername.conf
现在将以下内容插入到文件中:
ServerName sample.com
按 Ctrl+O 保存文件,按 Ctrl+X 退出文件。确保将“sample.com”更改为您的实际域名。现在要启用conf服务器名称,请运行以下命令:
sudo a2enconf servername
现在再次运行上面的命令来测试配置:
sudo apache2ctl configtest
您将看到主机名错误现已解决。
步骤 7 – 如何在 Debian 11 上保护 Apache2
要保护 Apache 服务器,请编辑“安全.conf” 文件,运行以下命令打开该文件:
sudo nano /etc/apache2/conf-enabled/security.conf
将以下内容插入或更新到文件中:
服务器令牌 Prod
服务器签名 Off
跟踪使能 Off
Header always append X 框架选项 同源
Header always set X-XSS-保护 : “1;模式=块”
Header always set X-内容类型选项 : “嗅嗅”
Header always set 严格的运输安全 “最大年龄=31536000;包括子域”
Header always edit 设置Cookie ^( . *) $ $1 ; HttpOnly ; Secure
保存文件并关闭它。
通过编辑设置服务器范围的 SSLCipherSuite 和 SSL 协议以使用安全密码为网站提供服务ssl.conf
file:
sudo nano /etc/apache2/mods-enabled/ssl.conf
现在将以下内容插入到文件中,然后按 Ctrl+O 保存文件,按 Ctrl+X 退出文件:
SSL协议 -all +TLSv1 . 2
SSL密码套件 HIGH : ! aNULL : ! MD5
现在运行Apache的reload命令来保存配置:
sudo systemctl restart apache2.service
就是这样。您已成功安装并保护 Apache 服务器。
结论
Apache Web Server 是互联网上许多网站使用的开源服务器,允许开发人员在互联网上发布他们的作品。该服务器可在所有操作系统上使用,但在本文中,我们讨论其在最新版本 Debian(Linux 操作系统)上的安装,并介绍如何在成功安装后对其进行测试和保护。完成本指南后,您将能够在 Debian 11 Bullseye 上成功安装 Apache2 并配置服务器。