如何在Arch Linux上安装Apache 2.4
Chinaxiong
・5 分钟阅读
前提条件
- 运行最新Arch Linux的服务器,有关更多信息,请参见本指南 ,
- sudo访问,
- 作为root运行命令的推荐方法是,作为常规用户使用
sudo
对每个命令进行前缀,
- 作为root运行命令的推荐方法是,作为常规用户使用
- 安装了一个文本编辑器,并且熟悉它,比如,
vi
,vim
,nano
,emacs
等等,
安装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.conf
,CustomLog"/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