Bonjour,
J'ai un serveur VPS et veux installer un site wordpress dessus.
Tout marche bien sauf quand j'ai voulu installer le plugins Divi.
Via SFTP, impossible de créer un dossier "permission denied"
J'ai essayé de :
- Modifier permission d'écriture via valeur 755/777, CHMOD ect..
- SCP sur le terminal SSH "permission denied"
- Plusieurs logiciel, CyberDuck, WinSCP, FileZilla
- Changé d'ordi, Mac et Windows
Seulement je peux créer un dossier sur le terminal SSH en "sudo" mais impossible ensuite de transferer le dossier entier divi.
Si je créer un sujet c'est que j'ai déjà cherché sur internet et diverses forum, mais aucune des solutions apportés de marche.
Je m'y connais que très peu, ce sont mes premiers pas dans ce domaine, et aucun conseillers OVH disponible.
Merci de votre aide,
Cordialement,
Hugo B.
J'ai trouvé une solution temporaire.
Mais j'aimerais quand même comprendre pourquoi je n'ai pas la permission en SFTP.
> Pour ceux ayant le même problème :
> • Connectez vous sur votre SFTP/FTP
> • Transferer votre fichier .zip dans un répertoire ou vous avez un accès
> • Connectez vous via Putty/Terminal SSH
> • Et telechargez un module unzip : `'sudo apt install unzip'`
> • Maintenant il faut déplacer le .zip dans le dossier ou vous n'avez pas de permission. : `'sudo mv répertoire/nomdudossier /destination'`
> (Tout se fait en sudo)
> • Une fois déplacer rendez-vous dans le répertoire : `'cd /destination'`
> • Assurez vous qu'il se trouve ici donc : `'ls'`
> Pour avoir la liste des fichier
> • Une fois dans le même répertoire vous pouvez le dézipper : `'sudo unzip fichier.zip'`
> • Maintenant supprimer le zip et gardez uniquement votre fichier dézippé : `'sudo rm /ToutLeCheminEncoreUnFois/fichier.zip'`
> • Et c'est terminé vérifiez encore une fois que le zip est supprimé et que vous avez votre fichier :`'ls'`
> Tout est ok.
Cette solution est fastidieuse et j'aimerais pouvoir faire tout ça via le SFTP, si vous avez donc une meilleur solution encore je suis preneure.
Merci à vous,
Cordialement,
Hugo B.
Bonjour,
L'utilisateur POSIX avec lequel tu te connecte en SSH doit avoir les droits en écriture sur les dossiers (+ dossiers racine) ou tu souhaites placer tes fichiers.
Je suis sous DEBIAN, et j'utilise l'utilisateur de base donnée par OVH, censé être le root.
Je ne comprends pas quel permission je dois ajouter, et comment.
Il y a l'utilisateur root pour la base de données qui est différent de l'utilisateur root de Debian (Utilisateur POSIX).
Sur la Buster, il me semble que l'installeur te crée un utilisateur "debian" avec lequel tu te connectes depuis l'extérieur en SSH.
C'est bien l'utilisateur avec lequel tu te connectes en SSH ? Ou c'est avec root directement ?
C'est bien le débian.
Et c'est le compte administrateur. Il ne parle pas de root.
Sachant que le root@ip n'existe pas
Pour régler vos problèmes de permissions normalement on bosse comme ça :
- configuration apache en mode fcgi avec php-fpm.
- création d'un utilisateur, du genre "web" ou ce que vous voulez.
- création d'un pool php pour cet utilisateur
- configuration d'un vhost apache qui va pointer dans /home/user/monsite.fr/ utilisant le pool php du même user.
- utiliser ensuite les accès de cet user pour placer vos fichiers sur votre site.
Et comme ça terminé les problèmes de permissions…
Et pour tout configurer (php, apache et autre) vous vous connectez en debian et vous faites sudo su pour passer root.
Alors oui j'ai procédé dans cette ordre et je n'ai pas eu de message d'erreur. (A part plus tard donc avec les permissions)
Deja je créer le user et mets des droits
`adduser NOUVEAU-UTILISATEUR`
`usermod -aG sudo NOUVEAU-UTILISATEUR`
Ensuite je me connecte avec en ssh et j'installe donc Nginx, puis PHP.
Puis créer la PHP Pool :
echo "
[mondomaine.com]
listen = /var/run/mondomaine.com.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
user = www-data
group = www-data
pm = dynamic
pm.max_children = 60
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 10
" | sudo tee /etc/php/7.4/fpm/pool.d/mondomaine.com.conf
Mais ducoup installer un vhost ? (Je debute tout peine, je regarde un maximum sur internet pour chercher les commandes tout ça)
Mais je n'ai pas encore entendu parler de ça.
Et donc quand j'aurais fait ça je me reconnecte en ssh avec l'utilisateur admin "debian" et tape sudo su d'accord merci.
Pouvez vous me montrer comment faire ce vhost et ce que signifie "pointer dans", du moins me donner des termes que je puisse aller me renseigner dessus. Merci :))
le pool php doit tourner avec les droits de l'utilisateur, pas de www-data.
Le vhost je ne suis pas un expert nginx, je préfère apache.
Il faut penser à ajouter l'user web (www-data ?) au groupe de l'utilisateur.
Car il doit pouvoir lire les fichiers du site.
Bon j'ai fait avec les deux.
En regardant ducoup plus sur le PHP-pool, cela dépend des personnes certains ajoutent leur user web et d'autres mettent www-data.
Ceux qui n'a pas l'air de changer grand chose.
par contre le "sudo su" m'a donné toute les permissions pour continuer merci. Ce problème est résolu pour le moment.
Il faut que je trouve mtn pourquoi je n'arrive pas à avoir la permission via le SFTP/FTP
ben si, mettre www-data ou mettre votre user ça change énormément de choses…
si vous mettez www-data vous aurez constamment des problèmes de permissions si vous voulez utiliser votre compte SSH (pas debian, il n'est pas fait pour ça).
C'est tt le problème entre comprendre ce que l'on fait et copier/coller ce que l'on lit sur le net…
ok je vois,
Donc j'écris le nom de mon nouvelle utilisateur SSH pas le nom de mon site ?
En récrivant la pool envoyé auparavant avec mondomaine_user à la place de www-data, le restart du PHP affiche une erreur "failed result : exit code"
yep, logique, car l'user en question n'a pas les autorisations pour écrire dans /run/php/
Perso au bot je crée un dossier /run/php-user, je donne les droits à l'user sur ce dossier et je fais pointer mon pool dans ce dossier.
L'autre solution serait d'aller bidouiller l'uid de l'user crée, de lancer le pool en www-data, comme ça nginx/apache tournent avec les permissions www-data, tout comme php, et on prend notre user pour lui donner le même uid que www-data, c'est un peu bourrin mais ça fait le job ![]()
Bonjour,
solution toute simple, vous laissez le socket à www-data et vous mettez juste le owner/groupe de la pool PHP au nom du User, c'est ce qu'on utilise en prod de notre côté.
Et les documentroot des vhost sont dans /home/$user/public_html
Cordialement, janus57
Merci beaucoup ! tout marche niquel !