こんにちは私は私のcentosマシンにphpmyadminをインストールしました、そして私が私のブラウザを通してphpmyadmin
をヒットしようとすると私はこのエラーを得ます:
Forbidden
You don't have permission to access `phpmyadmin` on this server.
私のphpmyadmin.conf
ファイルの内容は以下のとおりです。
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</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
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</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
</IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/lib/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/frames/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin/>
# SecRuleInheritance Off
# </Directory>
#</IfModule>
この問題を解決してください。任意のリードは高く評価されています。
ありがとう
次の手順に従う必要があります。
続く行を探す
Require ip 127.0.0.1
ワークステーションのIPアドレスに置き換えます。
Require ip 10.1.3.53
次の行をもう一度見つけます。
Allow from 127.0.0.1
次のように交換してください。
Allow from 10.1.3.53
またdeny from all
を見つけてファイル全体でコメントしてください。
ファイルを保存して閉じます。Restart Apache httpd server
:
# service httpd restart
私のCentOS 7サーバでは、上記のどの設定もうまくいきませんでした。何時間もの検索の後、それは私にとってうまくいったことです。
ファイルphpMyAdmin.confを編集します。
Sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
そしてこれを一番上に置き換えます。
<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 all granted
</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
</IfModule>
</Directory>
CENTOS7へのフレッシュインストールで、私は上記の方法を試しました(phpMyAdmin.confを編集し、Require all givenを追加しました)、それでもまだうまくいきません。これが解決策です:mod_phpモジュールをインストールします。
$ Sudo yum install php
それからhttpdを再起動します。
$ Sudo systemctl restart httpd
そしてよろしく!
ファイルを編集してください:Sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
そしてあなたのものを以下で置き換えてください:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
</IfModule>
</Directory>
Apacheを再起動します。service httpd restart
(phpMyAdmin v4.0.10.8)
すべてから許可するには:
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
最も投票が多い回答の問題は、それが解決策の理由を説明していないことです。
Require ip 127.0.0.1
行には、代わりにブラウザからphpMyAdminにアクセスする予定のホストのIPアドレスを追加する必要があります。例えばRequire ip 192.168.0.100
です。 Require ip 127.0.0.1
はローカルホストからphpMyAdminへのアクセスを許可します。
変更を加えたら、Apache(httpd)を再起動してください。私はlocalhostでテストすること、またはcurlのようなコマンドラインツールを使用してhttp GETを実行することをお勧めします。その他の設定上の問題はありません。
まずファイル/etc/httpd/conf.d/phpMyAdmin.confを編集して、ディレクトリ設定に追加の行を追加します。
<Directory /usr/share/phpMyAdmin/>
order deny,allow
deny from all
allow from 127.0.0.1
allow from 192.168.1.0/15
</Directory>
全員にアクセスを許可したい場合は、次のように変更することができます。
<Directory /usr/share/phpMyAdmin/>
order allow,deny
allow from all
</Directory>
ファイルのすべてのセクションで許可します。
再起動(service httpd restart)でこれを解決できます。
私は2日間の厳密な調査の後にこれを見つけました(それを見つけなさい here )そして私のためにちょうどよく働きました。
あなたは単にphpmyadmin.confファイルに行き、「すべてからの拒否」を「すべてからの許可」に変更することができます。まあそれは私のために働いた、それがあなたのためにも働くことを願っています。