Apache HTTP Web 服务器是广泛使用的 Web 服务器之一,尤其是在 Linux 发行版上,它是互联网上大量网站使用的免费跨平台。 Apache 网络服务器使用 HTTP 来处理请求并接收网络信息。 Apache 有大量有用的功能,它的功能可以通过额外的模块来增强。 它还允许程序员在互联网上发布他们的工作。
因此,在本文中,我们将讨论安装 Apache Web 服务器以及在 Debian 11 上安装后如何保护它。
要求
在安装之前,您必须登录到 Debian 系统并可以访问所有 sudo 特权。 我们还建议在新安装的 Debian 11 系统上完成初始服务器设置。
第 1 步 – 安装 Apache 在 Debian 上
最新版本的 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
Enter 在浏览器的 URL 栏中输入您服务器的主机名或 IP 地址,然后按 Enter, Apache2 Debian 默认页面将打开如下图所示:
第 2 步 – 管理 Apache 服务
安装成功后, Apache 可以使用“systemctl”命令管理服务,运行下面提到的命令来检查服务器的状态:
sudo systemctl status apache2.service
按 “q” 退出。 管理的几个命令 Apache Debian 11 中的服务是:
要启动服务器,请使用以下命令:
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
现在通过检查状态来验证:
sudo ufw status
如果它不活动,则使其能够使用:
sudo ufw enable
第 4 步 – 在中创建虚拟主机 Apache
在 Apache,虚拟主机允许您在单个服务器上运行多个网站。 在里面 Apache web服务器,我们将创建一个虚拟主机。 为了完成它,我们将首先创建一个名为 sample.com 的网站,其中包含标准的服务器块 Apache.
让我们开始设置您的 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 退出文件并返回终端:
XHTML
恭喜! 您的 sample.com 服务器成功!
12345678 欢迎来到 sample.com 页面! 头>
恭喜! 您的 sample.com 服务器成功!
正文>
在终端中运行下面提到的命令,我们将构建一个虚拟主机文件,它将为服务器的内容提供服务:
sudo nano /etc/apache2/sites-available/sample.com.conf
将打开一个文本文件,插入以下内容:
Apache
按 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
这会导致错误,但别担心,我们会解决这个问题。 创建一个新的配置“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
将以下内容插入或更新到文件中:
Apache
ServerTokens Prod ServerSignature Off TraceEnable Off Header 总是附加 X-Frame-Options SAMEORIGIN Header 总是设置 X-XSS-Protection: “1; mode=block” Header 总是设置 X-Content-Type-Options: “nosniff” Header 总是设置 Strict- Transport-Security “max-age=31536000; includeSubDomains” Header 总是编辑 Set-Cookie ^(.*)$ $1;HttpOnly;Secure12345678服务器令牌 产品服务器签名 离开跟踪启用 离开标题 总是 附加 X-Frame-Options 同源标题 总是 放 X-XSS-保护: “1;模式=块”标题 总是 放 X-Content-Type-Options: “不闻不问”标题 总是 放 严格的运输安全 “最大年龄=31536000;包括子域”标题 总是 编辑 设置 Cookie ^(.*)$ 1 美元;仅Http;安全的
Save 文件和 close 它。
通过编辑设置服务器范围的 SSLCipherSuite 和 SSL 协议以使用安全密码为网站提供服务 ssl.conf
文件:
sudo nano /etc/apache2/mods-enabled/ssl.conf
现在将下面写入的内容插入文件中,然后按 Ctrl+O 保存文件,按 Ctrl+X 退出文件:
Apache
SSLProtocol -all + TLSv1.2 SSLCipherSuite HIGH:!ANULL:!MD512SSL协议 -全部 +TLSv1.2SSL密码套件 高的:!空值:!MD5
现在运行重新加载命令 Apache 保存配置:
sudo systemctl restart apache2.service
就是这样。 您已成功安装并保护了 Apache 服务器。
结论
Apache Web Server 是互联网上许多网站使用的开源服务器,允许开发人员在互联网上发布他们的作品。 该服务器适用于所有操作系统,但在本文中,我们将讨论其在最新版本的 Debian(Linux 操作系统)上的安装,并说明如何在成功安装后对其进行测试和保护。 通过本指南,您将能够在 Debian 11 Bullseye 上成功安装 Apache2 并配置服务器。