注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费层。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室后,请使用特定于您的云环境的这些值替换这些值。
安装 Apache Web Server
简介
Apache 自 1993 年以来一直在积极开发,随着时间的推移已成为世界上最受欢迎的 Web 服务器之一。Apache Web 服务器是 LAMP(Linux、Apache、Oracle MySQL 和 Perl/PHP)软件堆栈的关键组件,目前仍在广泛使用。
Apache Web 服务器直接从 Oracle Linux 8 或更高版本的 Application Streams 系统信息库中提供,并且易于部署和配置。
先决条件
- 安装了 Oracle Linux 8 的任何系统
目标
在本教程结束时,您应该能够完成以下工作:
- 安装和配置 Apache 软件包
- 配置防火墙
- 应用 Apache 配置
- 安全 Web 服务
安装和配置 Web 服务器软件包
-
安装
httpd软件包及其相关项。sudo dnf install httpd -
启用和启动
httpd服务。此命令启用并启动
httpd服务以供立即使用,并在系统重新引导后自动启动该服务:sudo systemctl enable --now httpd.service要检查服务的状态,请键入:
sudo systemctl status httpd -
(可选)如果使用定制防火墙配置文件或 Oracle Cloud Infrastructure 实例,请打开 Apache Web 服务 (80) 的防火墙端口。
这些命令为 Apache Web 服务启用防火墙端口并重新加载默认防火墙服务:
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload -
测试部署。
使用 Web 浏览器,转到系统的域名或 IP 地址,例如 http://myserver.example.com.Apache Web 服务器将打开默认测试页。
配置 Apache
要更改 Web 服务器的根路径,请不要直接编辑 /etc/httpd/conf/httpd.conf 文件。而应作为首选方法在 /etc/httpd/conf.d 目录中创建特定于站点的配置文件。
在以下示例中,创建文件 /etc/httpd/conf.d/example.com.conf 以包含虚拟主机的配置。
-
通过在
/etc/httpd/conf.d/example.com.conf中添加以下信息创建虚拟主机:收听 *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.comDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log 组合</VirtualHost>
ServerName 和 ServerAlias 可以是可用于访问服务的主机名、域名或 IP 地址。
-
创建文档根文件夹。
根文件夹托管 Apache 将提供给浏览器的网页。
sudo mkdir -p /var/www/example.com/html sudo echo "example.com" > /var/www/example.com/html/index.html sudo chown -R apache:apache /var/www/example.com/html在
/var/www directory中启用了 SELinux 且未提供页面的系统上,必须将正确的安全上下文应用于 DocumentRoot 目录。例如,要提供/mnt/example.com目录中的网页,请键入:sudo semanage fcontext -a -t httpd_sys_content_t "/mnt/example.com(/.*)?" sudo restorecon -Rv /mnt/example.com/ -
应用您的配置。
sudo systemctl restart httpd
保护 Web 服务
作为最佳做法,使用 HTTPS 保护 Web 浏览器与 Apache 服务器之间的所有通信安全。对于安全设置,需要 TLS 证书。
- 配置 TLS/SSL 证书。
注:
Oracle 强烈建议您使用已由外部证书颁发机构 (Certificate Authority, CA) 签名的 TLS 证书。有关更多信息,请参见Oracle Linux: Managing Certificates and Public Key Infrastructure。
-
安装适用于 Apache 的 HTTPS 附加组件。
sudo dnf install mod_ssl sudo systemctl restart httpd -
更新 Apache 配置。例如,在
/etc/httpd/conf.d/example.com.conf中,添加以下配置:收听 *:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.comSSLEngine,位于 SSLCertificateFile /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.keyDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log 组合</VirtualHost>
-
将 HTTP 请求重定向到 HTTPS。
将现有 HTTP VirtualHost 配置替换为重定向,如下所示:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com重定向“/” “https://example.com/”
</VirtualHost>
-
重新启动 Apache 服务以加载新配置。
sudo systemctl restart httpd -
(可选)配置防火墙。
这些命令为 Apache HTTPS 服务启用防火墙端口 443 并重新加载默认防火墙服务:
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
更多学习资源
在 docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。