Important : Cette procédure s'adresse aux utilisateurs d'un NAS Asustor ayant rencontré des difficultés après la mise à jour vers ADM version 5.0.0.RHN2.
Avant cette mise à jour, la partie Web du NAS permettait d’héberger des sites en PHP 7.3. Après la mise à jour, seul PHP 8 ou supérieur est accepté. Cela peut entraîner :
Voici les étapes suivies pour corriger la configuration de Nginx et éviter ces erreurs :
user@NAS:/volume1/home/user $ mkdir -p nginx
user@NAS:/volume1/home/user/nginx $ nano vhost_mon-site.fr_443.conf
Contenu :
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /usr/builtin/etc/certificate/ssl/.../ssl.crt;
ssl_certificate_key /usr/builtin/etc/certificate/ssl/.../ssl.key;
root "/volume1/Web/wordpress";
server_name mon-site.fr;
index index.php index.html index.htm;
autoindex on;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/usr/local/AppCentral/php8.1/etc/socket/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
}
user@NAS:/volume1/home/user $ sudo nano /usr/local/bin/fix_nginx_config.sh
Contenu :
#!/bin/sh
TARGET="/usr/local/AppCentral/nginx-1.18.0/data/conf/sites-available/vhost_mon-site.fr_443.conf"
SOURCE="/volume1/home/user/nginx/vhost_mon-site.fr_443.conf"
cp -f "$SOURCE" "$TARGET"
NGINX_PIDS=$(pgrep -f "nginx.*conf")
if [ -n "$NGINX_PIDS" ]; then
for pid in $NGINX_PIDS; do
kill -HUP "$pid"
done
else
echo "Nginx ne semble pas démarré, impossible de le recharger."
fi
sudo chmod +x /usr/local/bin/fix_nginx_config.sh
Créer un fichier dans /usr/local/etc/rc.d/
:
sudo nano /usr/local/etc/rc.d/S99fix_nginx_config.sh
Contenu :
#!/bin/sh
/usr/local/bin/fix_nginx_config.sh
sudo chmod +x /usr/local/etc/rc.d/S99fix_nginx_config.sh
Cette méthode permet de reconfigurer automatiquement Nginx à chaque redémarrage du NAS pour éviter les erreurs de type 404.
Grâce à ce correctif, Nginx accepte PHP 8.1 via son socket et gère correctement les requêtes /
en les redirigeant vers index.php
, évitant les erreurs 404. Ce type de correction est indispensable depuis ADM 5.0.0, qui ne prend plus en charge PHP 7.3.