我最近设置了我的第一个 CentOS7(64 位)服务器。以前我使用 Debian。我使用 2 个简单的 vHost 设置了 httpd,但我在浏览器中看到的只有 Error 403
。我创建了 2 个文件夹,/var/www
并以域名命名。在这些文件夹中,我放了一个简单的 .htm 文件,该文件只输出几个单词。之后,我授予了我和其他所有子文件夹和文件的777
权限(仅用于测试) 。www
后来我在中创建了sites-available
和文件夹。sites-enabled
/etc/httpd
然后我创建了 vHost 文件jonas-heinze.de.conf
and projectaes.net.conf
(与 中的文件夹同名www
)并放入
<VirtualHost *:80>
ServerName jonas-heinze.de
DocumentRoot /var/www/jonas-heinze.de
</VirtualHost>
和
<VirtualHost *:80>
ServerName projectaes.net
DocumentRoot /var/www/projectaes.net
</VirtualHost>
里面。
为了激活 vHosts,我使用了sudo ln -s /etc/httpd/sites-available/jonas-heinze.de.conf /etc/httpd/sites-enabled/jonas-heinze.de.conf
和sudo ln -s /etc/httpd/sites-available/projectaes.net.conf /etc/httpd/sites-enabled/projectaes.net.conf
尽管将其放在IncludeOptional sites-enabled/*.conf
我的里面httpd.conf
。
我在网上看到一些关于 CentOS 中使用的特殊权限系统的信息,所以我运行了该sudo setsebool -P httpd_unified 1
命令。
但如果我连接 jonas-heinze.de,我看到的只是一个 403 错误屏幕。
getenforce
返回了一个disabled
。
另外,我禁用了Selinux
并/etc/selinux/config
检查了的语法httpd.conf
。
我跑了httpd -S
,它又回来了
VirtualHost configuration:
*:80 jonas-heinze.de (/etc/httpd/sites-enabled/jonas-heinze.de .conf:1)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: _RH_HAS_HTTPPROTOCOLOPTIONS
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48
看起来 Main DocumentRoot 是错误的。所以我index.html
在其中创建了一个。
答案1
问题是,网络服务器无法处理.htm
文件。但索引文件是.htm
。我不得不允许使用.htm
文件.conf
。不幸的是,我不记得文件在哪里。D:
我希望这可以帮助遇到同样问题的用户。