我意识到这里有很多类似的问题,但我已经为此苦苦挣扎了几个小时,却无法找到解决方案。
当我尝试通过主机名shopwise.dev
(设置为 Vagrant 框的 IP /etc/hosts
)访问我的 Vagrant Ubuntu 框时,我收到以下错误页面:
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at shopwise.dev Port 80
我创建了该文件/etc/apache2/sites-available/shopwise.conf
:
ServerName host.foxytronics.com
NameVirtualHost *:80
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory "/home/shopws/public_html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.shopwise.dev
ServerAlias shopwise.dev
DirectoryIndex index.php
Options FollowSymLinks
DocumentRoot "/home/shopws/public_html"
# Logfiles
ErrorLog /home/shopws/logs/apache/error.log
CustomLog /home/shopws/logs/apache/access.log combined
</VirtualHost>
然后跑:
sudo a2ensite shopwise.conf
service apache2 reload
我已验证路径上的目录权限/home/shopws/public_html
以及755
文件权限当前也是如此755
(尽管我认为它们实际上应该是644
?)。
我的配置不正确吗?
更新:
答案1
像往常一样,我的问题完全是我的错,是由于我的无知造成的:-)
我需要使用Directory
指令授予用户访问我选择放置网站文件的目录的权限。这是我的最终工作配置:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.shopwise.dev
ServerAlias shopwise.dev
DocumentRoot /home/shopws/public_html
# Logfiles
ErrorLog /home/shopws/logs/apache/error.log
CustomLog /home/shopws/logs/apache/access.log combined
</VirtualHost>
<Directory /home/shopws/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我希望有一天这能帮助别人!
答案2
我所说的 index.something 是指 index.html、index.php 等。这是您的错误文件:ErrorLog /home/shopws/logs/apache/error.log
步骤 1 tail -f /home/shopws/logs/apache/error.log
第 2 步 在浏览器上点击刷新或 F5,您应该在这里看到一些内容,如果没有,请执行相同的操作:tail -f /home/shopws/logs/apache/access.log
您还应该在这里看到一些内容,并将最后几行粘贴在这里。