如何在Arch Linux上安装Apache 2.4

・5 分钟阅读

前提条件

  • 运行最新Arch Linux的服务器,有关更多信息,请参见本指南
  • sudo访问,
    • 作为root运行命令的推荐方法是,作为常规用户使用sudo对每个命令进行前缀,
  • 安装了一个文本编辑器,并且熟悉它,比如,vivimnanoemacs等等,

安装Apache 2.4 Web服务器

如果使用防火墙,则需要启用80 端口。

安装Apache :


# pacman -S apache

启动Apache,并使它在每次引导后启动:


# systemctl enable --now httpd

测试Apache是否运行,访问 http://YOUR-SERVER-WEB-ADDRESS-OR-IP ,你会看到一个显示"Index of/"的页面,如果你需要知道IP地址,请运行ip addr。

Apache的配置文件是/etc/httpd/conf/httpd.confCustomLog"/var/log/httpd/access_log" common 设置记录访问Apache。ErrorLog"/var/log/httpd/error_log" 访问错误将被记录到Apache。

禁用索引

默认情况下,如果为Apache提供了一个目录,它找不到一个索引文件,该文件的扩展名已被配置为使用,它将自动生成一个显示目录内容的索引。这可以被视为安全漏洞,需要去禁用它,请编辑/etc/httpd/conf/httpd.conf,并且在一旦重新启动,apache将提供一个"Access forbidden"错误消息,除非存在/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目录,无论目录和文件权限设置成什么,请在/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

Chinaxiong profile image