Je suis tombé sur quelque chose d'étrange (pour moi du moins) en utilisant CloudLinux pour la première fois. Je suis un utilisateur de longue date d'Ubuntu, mais je me considère encore comme un novice.
J'ai installé Nginx avec PHP-FPM sur des serveurs Ubuntu une multitude de fois. Mon approche habituelle est de configurer un utilisateur et de créer un fichier www
dans le répertoire personnel de l'utilisateur. Je configurerais l'utilisateur et le groupe de configuration du pool PHP-FPM pour l'utilisateur nouvellement créé et je ferais pointer un VirtualHost Nginx vers le répertoire personnel de l'utilisateur avec la racine du document pointant vers ce répertoire. www
quelque part.
Cela a bien fonctionné pour moi sur Ubuntu pendant très, très longtemps.
La semaine dernière, j'ai essayé de configurer la même chose sur CloudLinux (qui, si j'ai bien compris, est une sorte de distribution CentOS).
Le résultat a été tout à fait différent. Je n'ai pas eu de problème pour que Nginx exécute les fichiers PHP, mais j'ai constaté que Nginx ne pouvait pas servir les fichiers statiques (ou d'autres fichiers, non gérés par PHP-FPM). En avançant rapidement dans le débogage, il est apparu que l'option nginx
l'utilisateur n'avait pas les droits suffisants pour lire le fichier /home/user/www
dossier. La solution rapide pour moi a été de déplacer le www
a /var/www/sitename
mettre à jour la racine du document dans Nginx et je pourrais être sur mon chemin.
Cela m'a fait réfléchir à la différence réelle. Mon approche sur Ubuntu est-elle même saine (c'est-à-dire sûre) alors que cela n'a pas fonctionné sur une autre distro ?
Pourquoi l'utilisateur de Nginx peut-il, sans problème, lire le contenu du répertoire personnel de mon utilisateur sur Ubuntu, mais pas sur CloudLinux ?