如何在Arch Linux上安装Apache 2.4

技术教程 不思进取 2年前 (2020-02-06) 691次浏览 0个评论 扫描二维码

安装 Apache 2.4 Web 服务器

如果您使用的是防火墙,则需要启用到端口的传入 TCP 通信80

安装 Apache:

# pacman -S apache

启动 Apache,并使其在每次启动后启动:

# systemctl enable --now httpd

测试 Apache 是​​否正在运行。访问http://YOUR-SERVER-WEB-ADDRESS-OR-IP,您将看到显示“ /的索引”的页面。运行ip addr如果你需要知道 IP 地址。

Apache 的配置文件是/etc/httpd/conf/httpd.conf。尽管 Apache 由 root 用户启动,User http但出于安全原因,使其立即切换为以该用户身份运行。 DocumentRoot "/srv/http"设置在何处查找网络文件。 CustomLog "/var/log/httpd/access_log" common设置将记录对 Apache 的成功访问的位置。 ErrorLog "/var/log/httpd/error_log"设置访问 Apache 的错误记录位置。

禁用索引

默认情况下,如果给 Apache 提供了一个目录,该目录找不到配置为使用扩展名的索引文件,它将自动生成一个显示目录内容的索引。这可以被视为安全漏洞。要禁用它,编辑/etc/httpd/conf/httpd.conf及内<Directory "/srv/http">,从Options删除Indexes。重新启动后,Apache 将给出“禁止访问!” 错误消息,除非/srv/http/index.html存在类似文件。

重新启动 Apache:

# systemctl restart httpd

用户目录

默认情况下,用户~/public_html/目录将显示在http://YOUR-SERVER-WEB-ADDRESS-OR-IP/~USERNAME/。但是,用户http必须对用户目录及其public_html目录具有可执行位访问权限:

$ mkdir ~/public_html
$ chmod o+x ~/
$ chmod o+x ~/public_html

此外,用户http必须对单个文件具有读取权限。如有必要,运行以下命令:

$ chmod o+r ~/public_html/<FILES>

如果要禁止用户public_html目录位于 Web 服务器上,无论目录和文件权限如何,请在以下位置注释此行(添加#到开头)/etc/httpd/conf/httpd.conf

Include conf/extra/httpd-userdir.conf

重新启动 Apache:

# systemctl restart httpd

虚拟主机

您可以在同一个 Apache 服务器上托管多个域名,并为它们提供不同的内容。

创建一个文件夹来保存您的虚拟主机配置:

# mkdir /etc/httpd/conf/vhosts

为每个虚拟主机创建一个配置文件,例如/etc/httpd/conf/vhosts/YOUR-DOMAIN-NAME.com

<VirtualHost *:80>
    ServerAdmin webmaster@YOUR-DOMAIN-NAME.com
    DocumentRoot "/srv/YOUR-DOMAIN-NAME.com"
    ServerName YOUR-DOMAIN-NAME.com
    ServerAlias YOUR-DOMAIN-NAME.com
    ErrorLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-error_log"
    CustomLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-access_log" common

    <Directory "/srv/YOUR-DOMAIN-NAME.com">
        Require all granted
    </Directory>
</VirtualHost>

制作虚拟主机服务目录:

# mkdir /srv/YOUR-DOMAIN-NAME.com

在的结尾/etc/httpd/conf/httpd.conf,包括以下每个虚拟主机配置文件:

Include conf/vhosts/YOUR-DOMAIN-NAME.com

重新启动 Apache:

# systemctl restart httpd

Apache 收到的请求YOUR-DOMAIN-NAME.com将从发出/srv/YOUR-DOMAIN-NAME.com。请注意,对 Apache 的请求与特定的ServerName或不匹配ServerAlias,仅与 IP 地址或解析为您的 IP 的另一个域名不匹配,仍然会从包含的第一个虚拟主机中提供。也就是说,您仍然应该考虑将 general 的任何内容(DocumentRoot默认为/srv/http)以某种方式访问​​。


不思进取 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在Arch Linux上安装Apache 2.4
喜欢 (0)
[]
分享 (0)

您必须 登录 才能发表评论!