gpt4 book ai didi

php - 403 - Ubuntu 14.04 上的权限被拒绝错误 - apache2

转载 作者:可可西里 更新时间:2023-10-31 23:19:38 24 4
gpt4 key购买 nike

这个问题已经被问过很多次了,我已经完成了大部分的解决方案,但仍然没有运气。

我正在尝试在新安装的 Ubuntu 14.04 LTS 版本上创建虚拟主机,但出于某种原因,我收到以下错误。

You don't have permission to access / on this server.

这是我到目前为止所做的。

  1. /etc/apache2/sites-available/om.conf 中创建了以下虚拟主机

<VirtualHost *:80>
ServerAdmin root@localhost
ServerName om.localhost.com
ServerAlias www.om.localhost.com
DocumentRoot "/home/jay/Projects/om/public"

<Directory "/home/jay/Projects/om/public">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  1. 使用以下命令启用主机

    sudo a2ensite om

  2. /etc/hosts 添加了一个条目


127.0.0.1 本地主机
127.0.1.1 桌面电脑-Ubuntu-14-02-LTS
127.0.0.1 om.localhost.com

  1. 使用以下命令设置项目目录的权限。


sudo chown -R www-data:www-data om
sudo chmod -R 755 om

  1. 启用重写模块


    sudo a2enmod 重写

  2. 重启apache2


sudo 服务 apache2 重新启动

但我仍然得到同样的错误。

谁能指出我做错了什么?

该项目基于 Zend Framework 1.12 并使用以下 .htaccess 文件。

SetEnv APPLICATION_ENV "development"
RewriteEngine On
# The following rule tells Apache that if the requested filename
# exists, simply serve it.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
# The following rewrites all other queries to index.php. The
# condition ensures that if you are using Apache aliases to do
# mass virtual hosting, the base path will be prepended to
# allow proper resolution of the index.php file; it will work
# in non-aliased environments as well, providing a safe, one-size
# fits all solution.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]

最佳答案

检查您对整个文件路径的权限。检查 Projects 文件夹并确保它是 755。给它 www-dataownergroup 也没什么坏处。如果您有任何 .htaccess 文件,请确保为它们分配了 644 而不是 755

您还混用了 Apache 版本指令。看来您可能正在运行 2.4,因为您使用的是 Ubuntu 14.04。所以你需要删除这些指令。

Order allow,deny
Allow from all

对于 2.4,您只需要 Require all granted

我还会添加一个 DirectoryIndex 指令以确保它正在寻找一个索引文件。如果它不认识一个,它会尝试列出目录,并且关闭索引也会导致 403 禁止错误。在 Require all granted 之后将其放入 Directory 标记中的虚拟主机中。

DirectoryIndex index.php

此外,在某些情况下,SELinux 令人讨厌并且还会导致权限问题。如果所有其他方法都失败了并且您打开了 SELinux,请暂时禁用它以查看它是否可以解决您的问题。

getenforce

这会告诉您它是否强制执行。

setenforce 0

这会将其设置为宽容,然后您可以测试加载网站。这将是暂时的,无法承受重启。但是你可以让它永久化。

您可以使用 chcon 命令更改安全上下文。例如

chcon -R --reference=/home/jay/Projects /home/jay/Projects/om/public

一如既往地为任何 apache 配置更改重新加载/重新启动 apache。希望这里的内容可以帮助解决您的 13 Permission Denied 问题。

关于php - 403 - Ubuntu 14.04 上的权限被拒绝错误 - apache2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29210034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com