FAQ:ServiceUnavailable

De WikiFr_dbSQWare
Révision datée du 17 mai 2024 à 15:10 par Ymauger (discussion | contributions) (Explication)
Aller à : navigation, rechercher

Erreur service Unavailable

Vous pouvez parfois avoir cette erreur lors de votre connexion à l'application web dbsqware en général aprés une mise à jour système ou du paquet php-fpm
admin

Explication


Cette section n’a pas la prétention de traiter tous les cas possibles liées à cette erreur.
Etant qu'il n'est pas lié à l'outil dbSQWare si vous avez un process qui fonctionne pour vos autres services web fonctionnant avec php-fpm n'hésitez pas à les appliquer également ici.
Ce problème est apparue depuis quelques versions de php-fpm et semble persister. Lors de mise à jour des paquets php-fpm ou du système les droits sur certains fichiers retournent à root:root. De plus la configuration présente dans php-fpm et parfois écrasée lors de la mise à jour.
Le site web dbsqware tourne avec l'utilisateurs dbsqware et donc on ne peut plus ouvrir la page web de dbSQWare et vous avez l'erreur Service Unavailable
Il faut vérifier dans les log apache et php-fpm pour voir ce qui pose problème.

cat /var/log/httpd/error_log
cat /var/log/httpd/access_log
cat /var/log/php-fpm/error.log
cat /var/log/php-fpm/www-error.log

Dans la majorité des cas vous aurez une erreur de ce style Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed

Résolution "Permission denied"


Note.png
Note:
la résolution suivante ne s'applicaquera pas forcément à tous les cas de figure mais c'est le mode de résolution le plus courant ! .


Vérification du fichier de configuration

Il peut arriver que suite à la mise à jour du paquet php-fpm les paramètres suivants soient écrasés

vi  /etc/php-fpm.d/www.conf

[..]
user = dbsqware
group = dba
[..]
listen.owner = dbsqware
listen.group = dba
listen.mode = 0660
[..]

Redémarrage

en cas de modification du fichier vous devez redémmarer les services php-form et httpd

systemctl restart php-fpm
systemctl restart httpd

Vérification des droits

Certaines manipulation au niveau du système peuvent changer les proprétaires et, ou les droits de certains dossiers et fichiers.

/var/log/httpd/*

dbsqware@vmsqwarebox:/home/dbsqware $ ll /var/log

...
drwxrwS---   2 dbsqware dba         41 Apr 15 16:02 httpd
...

On vérifie le contenu du dossier

dbsqware@vmsqwarebox:/home/dbsqware $ ll /var/log/httpd

...
-rw-rwSr--   1 dbsqware dba  696482 May 17 13:27 access_log
-rw-rwSr--   1 dbsqware dba   14277 May 13 09:22 error_log
...

Si vous avez autre chose faites les commandes suivantes :

chown -R dbsqware:dba /var/log/httpd
chmod -R g+rw /var/log/httpd
chmod -R g+s /var/log/httpd

/var/log/php-fpm/*

dbsqware@vmsqwarebox:/home/dbsqware $ ll /var/log
...
drwxrws---   2 dbsqware dba         44 Apr 15 16:56 php-fpm
...

On vérifie le contenu du dossier

dbsqware@vmsqwarebox:/home/dbsqware $ ll /var/log/php_fpm
...
-rw-rwS---   1 dbsqware dba   8101 May 17 11:35 error.log
-rw-r--r--   1 dbsqware dba  13760 May 17 13:14 www-error.log
...

Si vous avez autre chose faites les commandes suivantes :

chown -R dbsqware:dba /var/log/php-fpm
chmod -R g+rw /var/log/php-fpm
chmod -R g+s /var/log/php-fpm

/run/php-fpm/*

Ce dossier n'existe que si le service php-fpm.service est démarré

dbsqware@vmsqwarebox:/home/dbsqware $ systemctl status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Fri 2024-05-17 11:35:40 CEST; 3h 10min ago
   Main PID: 445169 (php-fpm)
     Status: "Processes active: 0, idle: 5, Requests: 10, slow: 0, Traffic: 0req/sec"

On vérifier les droits sur le dossier

dbsqware@vmsqwarebox:/home/dbsqware $ ll /run

...
drwxr-xr-x   2 dbsqware       dba              80 May 17 11:35 php-fpm
...

On vérifie le contenu du dossier

dbsqware@vmsqwarebox:/home/dbsqware $ ll /run/php-fpm

...
-rw-r--r--   1 dbsqware dba     6 May 17 11:35 php-fpm.pid
srw-rw----+  1 dbsqware dba     0 May 17 11:35 www.sock

Si vous avez autre chose faites les commandes suivantes :

chown -R dbsqware:dba /run/php-fpm
chown dbsqware:dba /run/php-fpm/* #spécifiquement sur ce dossier le -R ne semble pas toujours s'appliquer
chmod -R g+rw /run/php-fpm
chmod -R g+s /run/php-fpm
Note.png
Note:

Si vous avez seulement modifié les droits des dossiers et fichiers l'application web sera disponible à nouveau sans redémarrage requis.