我为网站设置的测试页面出现了问题。配置文件 (index.html) 如下所示
<html>
<head>
<title>Welcome to website.net!</title>
</head>
<body>
<h1>Success! The website.net virtual host is working!</h1>
</body>
</html>
当我导航到 www.mywebsite.net 时,我的浏览器中应该显示这样的页面
欢迎来到 website.net!
成功! website.net 虚拟主机正在运行!
但是,当我导航到该页面时,我收到 403“禁止”错误。我遗漏了什么?我已将目录安装在 /var/www/mywebsite.net/public_html/index.html
我将 /var/www 目录的权限设置为 755,以便其他人可以读取和执行它,但似乎不起作用。我的 iptable 上还打开了端口 80。如果这有区别的话,该服务器是 VPS 服务器,但是我为 IP 地址添加了 DNS 记录。
任何帮助都将不胜感激!
更新:这是我的虚拟主机配置文件“mywebsite.net.conf”
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName www.mywebsite.net
ServerAlias mywebsite.net
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /home/myusername/public/mywebsite.net/public
# Log file locations
LogLevel warn
ErrorLog /home/mysuername/public/mywebsite.net/log/error.log
CustomLog /home/myusername/public/mywebsite.net/log/access.log combined
<Directory /home/myusername/public/mywebsite.net/public>
Options Indexes ExecCGI Includes FollowSymLinks MultiViews
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
答案1
由于您的虚拟主机文件有一个.conf
扩展名,所以我猜您使用的是 13.04 或 14.04,或者您只是将 apache 更新到 apache 2.4。
对于您的情况,您需要删除以下两个指令:
Order Deny,Allow
Allow from all
并用以下指令替换它们
Require all granted
有关更多详细信息,请查看我的其他回答,其中解释了apache2.2升级到apache2.4后需要做哪些改变。
答案2
如果你想在你的用户下运行 apache
首先编辑 /etc/apache2/envvars 并查找
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
将 www-data 更改为您的用户,然后重新启动 apache2,让我知道它是否有效