web-dev-qa-db-ja.com

phpMyAdmin + CentOS 6.0-禁止

PhpMyAdminにアクセスしたいときに、常にこのメッセージを受け取ります。

w3m localhost/phpmyadmin

Forbidden

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

Apache/2.2.15 (CentOS) Server at localhost Port 80

インストール手順:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2- 2.el6.rf.x86_64.rpm
yum install phpmyadmin

エイリアスを追加

vi /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Cookieからhttpに変更する

vi /usr/share/phpmyadmin/config.inc.php
[...]
 /* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

再起動

/etc/init.d/httpd restart

SELinux-/ etc/httpd

drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 .
drwxr-xr-x. root root system_u:object_r:etc_t:s0       ..
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf.d
lrwxrwxrwx. root root system_u:object_r:httpd_log_t:s0 logs -> ../../var/log/httpd
lrwxrwxrwx. root root system_u:object_r:httpd_modules_t:s0 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. root root system_u:object_r:httpd_config_t:s0 run -> ../../var/run/httpd

SELinux-/ usr/share/phpmyadmin

drwxr-xr-x. root root   system_u:object_r:usr_t:s0       .
drwxr-xr-x. root root   system_u:object_r:usr_t:s0       ..
-rw-r--r--. root root   system_u:object_r:usr_t:s0       browse_foreigners.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       calendar.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       changelog.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       chk_rel.phph
.
.
.
-rw-r--r--. root root   system_u:object_r:usr_t:s0       view_create.php

OS

centos-release-6-0.el6.centos.5.x86_64
22
Philippxp

Httpd.confファイルを次のように編集します。

# nano /etc/httpd/conf/httpd.conf

ここに次の行を追加します。

<Directory "/usr/share/phpmyadmin">
    Order allow,deny
    Allow from all
</Directory>

次のコマンドを発行します。

# service httpd restart

問題が解決しない場合は、SELinuxを無効にしてください。

31
Tareq

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>
29
Hyder B.

ここで提供されているすべての回答を試しました:phpMyAdmin.confの編集、phpmyadminフォルダーのselinuxコンテキストの変更、selinuxの無効化...それでもWebサーバーから「禁止」を取得しました。

私はついにエドゥアール・ティエルの投稿で欠けていたものを見つけました ここ

$ yum install php

次に、httpdを再起動します。

$ service httpd restart =>セントス6ホット

$ systemctl restart httpd => centos 7ホストの場合

驚いたのは、最初にphpmyadminの依存関係としてphpがインストールされない理由です。

よろしく、フレッド

7
Fred Astair

私は今2日間同じ問題を抱えていました。 SELinuxとすべてを無効にしましたが、何も助けませんでした。そして、ちょっとした修正のためにセキュリティを無効にするのは賢くないかもしれないことを理解しています。それから私はこの記事に出会いました- http://wiki.centos.org/HowTos/SELinux/ SELinuxがどのように動作するかを説明しています。だからこれは私がやったことであり、それは私の問題を修正しました。

  1. Phpmyadminの親ディレクトリ(私の場合はhtml)に移動して、次のように入力して、メインのphpmyadminディレクトリへのアクセスを有効にします。

    chcon -v --type=httpd_sys_content_t phpmyadmin
    
  2. 次のように入力して、index.phpに対して同じことを行います。

    chcon -v --type=httpd_sys_content_t phpmyadmin/index.php
    

    戻って、空白のページが表示されるかどうかを確認してください。もしそうなら、あなたは正しい軌道に乗っています。そうでない場合は、戻ってhttpd.configディレクトリの設定を確認してください。警告なしで空白のページが表示されたら、次に進みます。

  3. 次のコマンドを実行して、phpmyadminディレクトリ内のすべてのファイルを再帰処理します。

    chron -Rv --type=httpd_sys_content_t phpmyadmin/*
    

Phpmyadminページに戻り、必要なものが表示されているかどうかを確認します。ネットワーク外部からアクセス可能なWebサーバーを実行している場合は、SELinuxを適切なセキュリティレベルにリセットしてください。お役に立てれば!

3
Akdavis

URLをテープに記録するときに同じ問題に直面しました

https://www.nameDomain.com/phpmyadmin

/ use/share/phpMyAdminディレクトリのルールのため、禁止されているメッセージが表示されます。このファイルに追加することで修正します/etc/httpd/conf.d/phpMyAdmin.conf このセクションで

<Directory /usr/share/phpMyAdmin/>
    ....
</Directory>

これらの規則

<Directory /usr/share/phpMyAdmin/>
   Order Deny,Allow
   Deny from All
   Allow from 127.0.0.1
   Allow from ::1
   Allow from All
   ...
</Directory>

ファイルを保存してから、選択した方法にかかわらずApacheサービスを再起動しますservice httpd gracefulまたはservice httpd restartそれはあなたのポリシーに依存します

セキュリティ上の理由から、IPが変更されない場合はIPアドレスを1つ設定することにより、1つの接続を指定できます。

<Directory /usr/share/phpMyAdmin/>
   Order Deny,Allow
   Deny from All
   Allow from 127.0.0.1
   Allow from ::1
   Allow from 105.105.105.254 ## set here your IP address
   ...
</Directory>
0
azdoud

上記の解決策のどれも私にとってはうまくいきませんでした。以下は最終的に機能したものです:

#yum update
#yum install phpmyadmin

Phpmyadminは数時間前に働いていたのでご注意ください。何が起こったのか分かりません。

この後、ブラウザにアクセスすると、./config.inic.php can't be accessed

#cd /usr/share/phpmyadmin/
#stat -c %a config.inic.php
#640
#chmod 644 config.inic.php

これは、ファイルのアクセス許可が640だったことを示しています。その後、644に変更しました。

必ずhttpdを再起動してください。

#service httpd restart
0
user2947136