Je reçois toujours ce message quand je souhaite accéder à mon 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
Étapes d'installation:
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
Ajouter des alias
vi /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
Changer de cookie en http
vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]
Redémarrer
/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
Modifiez votre fichier httpd.conf comme suit:
# nano /etc/httpd/conf/httpd.conf
Ajoutez les lignes suivantes ici:
<Directory "/usr/share/phpmyadmin">
Order allow,deny
Allow from all
</Directory>
Émettez la commande suivante:
# service httpd restart
Si votre problème n'est pas résolu, désactivez votre SELinux.
Aucune des configurations ci-dessus n'a fonctionné pour moi sur mon serveur CentOS 7. Après des heures de recherche, c'est ce qui a fonctionné pour moi:
Editer le fichier phpMyAdmin.conf
Sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Et remplacez ceci en haut:
<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>
J'ai essayé toutes les réponses fournies ici: modification de phpMyAdmin.conf, modification du contexte selinux pour le dossier phpmyadmin, désactivation de selinux ... mais j'ai quand même reçu un message "Interdit" sur le serveur Web.
J'ai enfin trouvé ce qui me manquait dans Edouard Thiel post ici :
$ yum install php
puis redémarrez httpd:
$ service httpd restart
=> pour centos 6 hots
$ systemctl restart httpd
=> pour les hôtes centos 7
Ce qui m'a étonné, c'est pourquoi php n'est pas installé comme dépendance pour phpmyadmin en premier lieu.
Cordialement, Fred
J'ai le même problème depuis deux jours maintenant. SELinux désactivé et tout mais rien n'a aidé. Et je me rends compte qu'il peut ne pas être malin de désactiver la sécurité pour un petit correctif. Je suis ensuite tombé sur cet article - http://wiki.centos.org/HowTos/SELinux/ qui explique le fonctionnement de SELinux. C'est donc ce que j'ai fait et cela a résolu mon problème.
Activez l’accès à votre répertoire principal phpmyadmin en accédant au répertoire parent de phpmyadmin (le mien était en HTML) et en tapant:
chcon -v --type=httpd_sys_content_t phpmyadmin
Maintenant, faites la même chose pour index.php en tapant:
chcon -v --type=httpd_sys_content_t phpmyadmin/index.php
Maintenant, revenez en arrière et vérifiez si vous obtenez une page blanche. Si vous l'êtes, vous êtes sur la bonne voie. Sinon, revenez en arrière et vérifiez les paramètres de votre répertoire httpd.config. Une fois que vous obtenez la page blanche sans avertissements, continuez.
Maintenant, recurse à travers tous les fichiers de votre répertoire phpmyadmin en lançant:
chron -Rv --type=httpd_sys_content_t phpmyadmin/*
Retournez sur votre page phpmyadmin et voyez si vous voyez ce dont vous avez besoin. Si vous utilisez un serveur Web accessible de l’extérieur de votre réseau, veillez à réinitialiser votre SELinux sur le niveau de sécurité approprié. J'espère que cela t'aides!
J'ai rencontré le même problème quand je tape l'URL
https://www.nameDomain.com/phpmyadmin
le message interdit apparaît, à cause des règles sur le répertoire/use/share/phpMyAdmin Je le répare en ajoutant dans ce fichier /etc/httpd/conf.d/phpMyAdmin.conf
dans cette section
<Directory /usr/share/phpMyAdmin/>
....
</Directory>
ces règles
<Directory /usr/share/phpMyAdmin/>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Allow from All
...
</Directory>
vous enregistrez le fichier, puis vous redémarrez le service Apache quelle que soit la méthode choisie service httpd graceful
ou service httpd restart
cela dépend de votre stratégie
pour des raisons de sécurité, vous pouvez spécifier une connexion en définissant une adresse IP si votre adresse IP ne change pas, sinon si votre adresse IP change à chaque fois, vous devez également la modifier.
<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>
Aucune des solutions mentionnées ci-dessus n'a fonctionné pour moi. Voici ce qui a finalement fonctionné:
#yum update
#yum install phpmyadmin
Sachez que phpmyadmin travaillait quelques heures plus tôt. Je ne sais pas ce qui s'est passé
Après cela, en allant sur le navigateur, j'ai eu une erreur qui disait ./config.inic.php can't be accessed
#cd /usr/share/phpmyadmin/
#stat -c %a config.inic.php
#640
#chmod 644 config.inic.php
Cela montre que les autorisations de fichier étaient de 640, puis je les ai modifiées en 644. Enfin, cela a fonctionné.
N'oubliez pas de redémarrer httpd.
#service httpd restart