今日、私は1つのサーバーから別のサーバーにイメージを移行し、奇妙な許可の問題に直面しました
[Mon Mar 25 08:42:23.676315 2013] [core:crit] [pid 15182] (13)Permission denied: [client 24.14.2.22:48113] AH00529: /files/domain.com/public_html/images/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/files/domain.com/public_html/images/' is executable, referer: http://domain.com.com/file.php
私が試したこと:
chmod -R 777 root_dir
restorecon -r
disable selinux
Chown -R root:root root_dir
今日、私はこの問題に直面しました。古いドライブから新しいドライブにpublic_htmlを転送し、次のようにchownしました。
chown -R owner:owner public_html
これはpublic_html内のサブディレクトリとファイルには正しいですが、public_htmlのユーザーは誰でもない必要があるため、Apacheはコンテンツをチェックできるため、これで問題が解決しました。
chown owner:nobody public_html
注:ownerはユーザーです(たとえば、web1)
同じ問題がありました。私にとっては、SeLinux(CentOS 7)の問題です。
わたしにはできる:
$ setsebool -P httpd_enable_homedirs true
$ chcon -R -t httpd_sys_content_t /var/www/html/
上記の/var/www/html/
を適切なディレクトリに変更する必要があることに注意してください。
Plesk onyxを使用していて、同じエラーメッセージが表示されました。フォルダのアクセス権を775に変更しただけで、うまくいきました。
TL; DR:
Sudo chmod a+rx /var{,/services{,/web{,/web-folder}}};
find /var/services/web/web-folder -type d -exec Sudo chmod a+rx {} +;
ディレクトリとそのすべての親ディレクトリがWebサーバーによって読み取り可能で実行可能であることを確認する必要があります(ディレクトリを開くには実行可能性が必要です)。これを行うには、ウェブサーバーユーザーを所有者にし、ユーザーにパーマを作成します(例:chown Apache <dir>; chmod u+rx <dir>;
)、またはグループをWebサーバーグループにして、Webサーバーユーザーを含むグループにし、グループのパーマを(EG:chgrp Apache <dir>; chmod g+rx <dir>;
)、またはワールドパーマを(EG:chmod o+rx <dir>;
)。
httpd.confファイルを開き、.htaccessファイルで[すべて拒否]を[すべて許可]に変更します。
<FileMatch "^\.ht">
Order allow,dey
Allow from all
</FileMatch>
httpd/user-error_log
をチェックすると、
[Fri Jan 09 18:58:08 2015] [crit] [client 192.168.1.xxx] (13)Permission
denied: /var/services/web/web-folder/.htaccess pcfg_openfile: unable to check
htaccess file, ensure it is readable
chmod 755は問題を修正していません。以下のコマンドは私のために働くものです。 Synology DSM 5.1-5021で使用されるApacheユーザーおよびグループであるため、httpを使用します
cd /var/services/web
chown http:http web-folder
Apache httpd.conf @ /etc/httpd/conf/httpd.conf
新しい変更の詳細 5.0のApache/Webサーバーの制限