我有一个新的 Ubuntu 安装,它似乎运行良好,apache 运行正常,并且我可以使用 ip 地址进行连接。
但是,添加虚拟主机文件后,我收到 403 权限被拒绝错误。我已经尝试了这里能找到的所有方法,但还是不起作用...
目前文件夹中只有一个简单的index.html。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName lacasting.online
ServerAlias www.lacasting.online nyccasting.online www.nyccasting.online sdcasting.online sfcasting.online
DocumentRoot /var/www/html/wcc
<Directory "/var/www/html/wcc">
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
如果您没有 index.html 或 apache.conf 文件中描述的其他默认文档之一,则可能会出现这种情况。在这种情况下,您将收到 403,因为如果默认文档不存在,它将尝试列出目录,默认情况下禁用该目录。您可以通过尝试转到 /var/www/html/wcc/somefile.html 中的 .html 文件并查看它是否加载来确认这一点。
对于 apache,/etc/apache2/sites-available/000-default.conf 中有一个默认的 vhost 配置,并且它符号链接到 /etc/apache2/sites-enabled。如果这是您修改的文件或创建了新文件,则您需要确保重新加载或重新启动 apache2 以获取缓存中的更改。
如果您创建了新的 .conf 文件,请确保它位于 sites-enabled 文件夹中,或者如果它位于 sites-available 中,则将其符号链接到 sites-enabled。在进行任何更改后,或者如果您在创建文件后没有执行此操作,请重新启动或重新加载 apache。
如果上述两个都正确,请检查并确保 apache 有权访问该目录。它需要可供 www-data 用户访问,最简单的方法是确保 www-data 组可以通过以下方式访问该目录
chown -R YourUser:www-data /var/www/html/wcc