Permission groupe www-data impossible

Bonjour, j’ai installer un serveur LAMP sur debian 11 sur un user.
Pour un site wordrpress il faudrait que les dossiers de mon site sous
/var/www/monsite ai la permission user:www-data

Je fais donc la commande :

sudo chown -R user:www-data /var/www/monsite

Aucun message d’erreur, mais depuis mon accès FTP je suis toujours en user:user ? je n’arrive pas à modifier le propriétaire/groupe du dossier.
Je relance apache,

systemctl restart apache2

Je reboot le serveur, rien n’y change.

j’ai tenter de modifier le fichier /etc/group :

www-data:x:33:user
user:x:1000:www-data

Rien ne bouge ?

salut
peux-tu donner le nom de l’hérbergeur, le nom de ton contrat …
et le résultat de

ls -al  /var/www/ |grep monsite

et ton serveur lamp , y a quoi dedans ?
et ton ftp tu le fais comment,

C’est un serveur perso chez moi, j’avais installer un autre serveur perso il y 1an, j’avais pas eu ce problème. Mais j’avais installer LAMP en root. C’est mieux de l’installer en user non ?

Le résultat de la commande donne :

drwxrwxr-x  5 user www-data 4096 29 déc.  22:46 monsite

Pour le Lamp je viens d’installer appache, php, mariadb, phpmyadmin
Et j’ai installé proftpd pour accéder en ftp avec filezilla.

peux-tu préciser,stp?
parce que ça vient surement de là ;

quand tu dis que tu as modifier le fichier /etc/group : tu ne l’as pas fait directement, jespère;
la bonne méthode est par vigr , car il existe deux fichiers se répondant.
https://linux.die.net/man/8/vigr

Lors des commande de l’installation de appache, php ect, il faut se connecter avec le compte root ou c’est mieux de créer un utilisateur avec les droit sudo et installer LAMP avec cette utilisateur ?

Si j’ai ouvert le fichier /etc/group avec filezilla, modifier et enregistrer…

Ca viens surement de là, comment je refaire proprement.
Est ce que si je retire mes modifications du fichier group directement et que je fais la bonne méthode que tu viens de me donnez, il n’y aura pas de problème sur le serveur ? ou il faut mieux refaire une installation propre complète de Debian ?

L’installation des paquets peux se faire soit via l’utilisateur root soit via un utilisateur ayant les permissions suffisantes à l’aide de sudo (cela importe peu ça reviens au même dans la finalité).

Pour ce qui est de apache, il sera lancé via root ça importe peu finalement dans ton cas.
Par contre pour séparer et sécuriser un minimum tes différents services web il te faudra un user par web service dont www-data appartiendra (droit d’accès de apache sur les dossiers/fichiers).
Après libre à toi d’utiliser du php-fpm avec encore une fois le même user que pour la partie apache par pool.

En résumé :

Tu créer un user par webservices (avec son groupe), tu ajoute www-data à son groupe.
Si tu utilise du php-fpm tu en profite pour utiliser le même user pour le pool dédié à ton webservice.
Tu gère les permissions des tes dossiers fichiers/simplement.

Tu évites si tu le peux le ftp et tu utilise du sftp, phpmyadmin à proscrire, il sera difficile de faire avec la cli au début mais ce sera nettement plus safe qu’avec phpmyadmin et 10x plus rapide et simple de faire ce dont tu as besoin en base une fois le minimum maîtrisé.

Si tu doit administrer ton serveur utilise un compte dédié avec pourquoi pas les permissions sudo (pas une obligation), et utilise des comptes sftp au nom de tes webservices, comme ça en chrootant pas d’erreur de manipulation.

1 J'aime

Ok merci, je pense que je vais refaire mon installation debian avec LAMP en root.
Sans phpmyadmin.
Pour le sftp je peux utiliser Filezilla ?
Par web service tu entends site internet ? j’ai 5 sites internet dont je suis propriétaire, je peux les mettre tous sur le même utilisateur ? Ma box ne redige que le port 80 et 443 vers mon serveur. On pourrais pirater mon serveur sans le port 22 en ssh ?

A quoi sert php-fpm ?

Il peut le faire mais lorsque je devais travailler avec un poste Windows je préféré utilisé winscp pour gérer du sftp/ftp avis de goût …

Oui ou tout autre services pouvant répondre sur des ports qui sont ouverts vers l’extérieur, tomcat, api, socket docker etc …

Comme dit plus haut mieux vaux séparer les user pour chaque webservices, c’est plus simple de s’y retrouver et à sécuriser.

Le port 22 te servira uniquement à la maintenance, à moins que tu compte faire de la maintenance à l’extérieur il n’est nullement besoin de rediriger le port 22.

Je viens de réinstaller debian et lamp en root.
Ensuite pour créer des site web :

CREATE DATABASE avec mariadb
sudo mkdir -p /var/www/monsite

création des fichiers virtual host

Je reste en root, puis je donne les droits au utilisateur

sudo chown -R user:www-data /var/www/monsite

Ou alors je créé les sites depuis les comptes utilisateurs ?

Comme tu veux, je serais plus d’avis de ne pas utiliser un user unique pour tous les domaines mais plus un user pour chaque domaine.

C’est du php mais il ne fonctionne pas de la même manière que le traditionnel php, il permet de gérer des pool dynamique ou non de thread fourni pour gérer la partie php.

Pour du Wordpress j’utilise du php-fpm on demand sur des structures pas trop sollicité et du statique pour du tout petit site vitrine.