私のphpmyadmin.conf
ファイルは次のとおりです。
#
# Web application to manage MySQL
#
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
Allow from 192.168.0.2
Allow from 192.168.0.219
</Directory>
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
また、変更後にApacheサービスを再起動しました。次のコマンドを使用してApacheを再起動してみました。
sudo systemctl restart httpd.service
sudo apachectl restart
私が使用しているサーバーはCentOSを実行しており、同じLAN上でホストされており、私のローカルIPは「許可」の下にリストされています。http://serverip/phpmyadmin
次の結果に進みます。
Forbidden
You don't have permission to access /phpmyadmin on this server.
情報。どんなアイデアがありますか?そうするように指示したガイドに従いましたが、うまくいかないようです。
編集する:このメッセージは私のhttpdに表示されますerror_log
。
AH01630: client denied by server configuration: /usr/share/phpmyadmin
ただし、.configで設定ファイルが見つかりません/usr/share/phpmyadmin
。
答え1
警告:以下()はRequire all granted
すべてのIPからのアクセスを許可します。
私のファイルに以下を追加する必要があります/etc/httpd/conf/httpd.conf
。
<Directory "/usr/share/phpmyadmin">
AllowOverride None
Options None
Require all granted
</Directory>
その後、Apacheサービスを再起動します。
sudo systemctl restart httpd.service
私はまたselinuxがこの問題を引き起こすことができることを読んだ。したがって、selinuxを許可モードに切り替えて、これが問題を引き起こしているかどうかを確認できます。
sudo setenforce 0
getenforce
selinuxに許可モードを終了させます。
sudo setenforce 1
getenforce
/usr/share/phpmyadmin
ディレクトリの権限が0755と同じ値に設定されていることを確認するのも良い考えです。
答え2
ログのエラーメッセージの前には、クライアントのIPアドレスが含まれています。
[client 10.0.2.2:52570] AH01630: client denied by server configuration: /usr/share/phpMyAdmin
その後、confファイルのルールでそれを使用できます(Centos 7がある場所)。
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
そして、次のように編集してみてください。 IP の最後の部分は 0 とマスク "/15" に置き換えられ、サブネット 10.0.2.x の全員にアクセスできます。
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require ip 10.0.2.0/15
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Allow from 10.0.2.0/15
</IfModule>
</Directory>