SQLSTATE[HY000] [2003] Can’t connect to MySQL server (13)

Une application PHP retourne l’erreur SQLSTATE[HY000] [2003] Can’t connect to MySQL server on ‘10.0.0.1’ (13)

L’erreur (13) est ‘EACCES – Permission denied‘, une trace réseau avec tcpdump ne laisse voir aucune tentative d’établissement de la session TCP vers le serveur de base de données.

En fait lorsque SELinux est activé il est nécessaire d’autoriser apache à se connecter à la base de données MySQL en utilisant le réseau (c’est fait habituellement via le port 3306).

La modification doit être faite de façon dynamique (donc perdue au reboot) pour les tests, puis de façon permanente (-P) une fois la modification testée et validée.

De la même façon si vous souhaitez envoyer des emails avec Apache lorsque SELinux est activé il faut le spécifier:

L’image est issue du livre ‘The SELinux Coloring Book‘ de Dan Walsh illustré par Máirín Duffy, il s’agit d’un petit livre de coloriage qui explique SELinux aux (grands) enfants, une façon originale de vulgariser un sujet plutôt technique est souvent présenté de manière rébarbative. Au delà de l’aspect ludique c’est une introduction rapide à SELinux.

Le livre de coloriage est disponible à cette adresse: http://blog.linuxgrrl.com/2014/04/16/the-selinux-coloring-book/

 

 

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.