如何在Arch Linux上安装Apache 2.4

先决条件

  • 运行最新Arch Linux的Vultr服务器。有关更多信息,请参见本指南
  • 须藤访问。
    • 需要以root用户身份运行的命令以前缀#,而可以以普通用户身份运行的命令以前缀$。建议以root用户身份运行命令的方式是,以普通用户的身份为每个命令添加前缀sudo
  • 已经安装了文本编辑器,并熟悉它,如vivimnanoemacs等。

安装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)以某种方式访问​​。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息