Wordpress : Où trouver les Identifiants et mot de pass ftp

Bonjour,

J’aimerais comprendre la procédurede mise à jour pour WordPress multisite.
1- installer wordpress multisite par l’interface des applications.
2- accéder au blog, (adresse par défaut https://nomdedomaine/blog)
3- Cliquer sur Admin du site dans le menu Meta (adresse https://nomdedomaine/blog/wp-admin/)
4- Aller dans mise à jour. (https://nomdedomaine/blog/wp-admin/network/update-core.php?action=do-core-upgrade)

Là je bloque: quels sont les identifiants et mot de passe ftp demandés?

Merci pour le coup de main!

Il n’y a aucun accès ftp pour l’appli WordPress à ce que je sache, donc pas de mise à jour automatique…

Comment procède-t-on alors pour faire une mise à jour ou pour importer une base de données existante?
Le problème se pose aussi pour d’autres applications. ce pourrait être un tutorial générique à mettre au point.
Quelle procédure pour importer des données externes?

A tester mais je pense que tu peux récupérer le password mysql en ligne de commande avec
sudo yunohost app setting wordpressms mysqlpwd
L’utilisateur serait alors wordpressms

Tu peux voir le détail de la procédure d’installation dans la page “install” du package

J’ai commencé à préparer un tutoriel pour “SPIP”, je verrai pour l’ajouter à la documentation. Je mets ça ici, ça donnera une piste :

Migration d’un SPIP existant

Rq : cette partie est indépendante du fait que ce soit SPIP est peut être appliquée à d’autres "logiciels".

La version de SPIP installée est la version par défaut. Il faut donc 
transférer les fichiers images, squelettes etc. si on veut migrer un 
SPIP existant.

Rq : on ne peut pas se connecter en ssh à son serveur avec les 
utilisateurs YunoHost. Seul l’utilisateur admin peut se connecter en ssh
 aux serveur YunoHost (ce que j’ai désactivé par sécurité), j’ai donc 
créer un utilisateur dédié pour ssh, qu’on appellera ryoga pour la suite

Pour ce faire, je me connecte avec "ryoga" via sftp (FTP + SSH via Filezilla) et je dépose les fichiers dans /home/ryoga.

Ensuite on doit changer le propriétaire de ces fichiers et les déplacer au bon endroit.
ryoga@yunohost$chown -R www-data:www-data ./css/* #par exemple pour les css

# On déplace ensuite les fichiers dans le répertoire de spip.

ryoga@yunohost$sudo mv ./css /var/www/spip/
Une fois que j’ai les fichiers, je peux réimporter un dump de base de
 données (que j’ai déposé dans /var/www/spip/tmp/dump selon les quelques
 commandes données ci dessus).

@genma
C’est une démarche très interessante. Merci genma!
J’ai installé Spip sur une brique Neutrinet avec Yunohost.
Mettant la charrue avant les boeufs et n’ayant donc aucune base en administration de serveur sous Debian, j’essaye des trucs un peu débile et j’enfonce des portes ouvertes.

Rq : on ne peut pas se connecter en ssh à son serveur avec les utilisateurs YunoHost. Seul l’utilisateur admin peut se connecter en ssh aux serveur YunoHost (ce que j’ai désactivé par sécurité),

Pourquoi ne pas se connecter en admin pour ce genre de manipulation, si tu es l’administrateur du serveur? En quoi c’est un problème de sécurité?

Pour ce faire, je me connecte avec “ryoga” via sftp (FTP + SSH via Filezilla) et je dépose les fichiers dans /home/ryoga

Quelle serait la commande en console (sans filezilla) pour déposer les fichiers dans le répertoire adéquat du serveur?
J’ai pensé que je pourrais copier un dossier spip de mon pc dans le serveur à la place de /var/www/spip qui a été installé par défaut une fois connecté en sftp avec la commande
sftp admin@address.nohost.me
J’essaye
put -Pr /.../spip /var/www/spip
J’obtiens
Uploading /.../spip/ to /var/www/spip/spip Couldn't canonicalize: No such file or directory Unable to canonicalize path "/var/www/spip/spip"

J’essaye ensuite
put -Pr /.../spip /var/www/
ça uploade, du moins ça essaye car à chaque fichier correspond un message “permission denied”
remote open("/var/www/spip/htaccess.txt"): Permission denied par exemple et pour finir avec un piteux Couldn't setstat on "/var/www/spip": Permission denied

Faudrait-il tenter le coup en root?

Autre hypothèse que je n’ai pas essayé: installer FTP support for webapp et y jeter un répertoire Spip en ftp, façon traditionnelle ;-). Je ne sais pas si c’est possible, ni si cela ne pose pas des questions rédhibitoires de sécurité. Je parle vraiment de ce que je ne connais pas! :innocent:

J’aurai du préciser que j’utilise Filezilla mais pas en mode FTP mais en mode “connexion SFTP” (donc via une connexion SSH) Si tu peux, installe Filezilla, c’est graphique et plus pratique que la ligne de commande pour faire du SFTP.

Mettant la charrue avant les boeufs et n’ayant donc aucune base en
administration de serveur sous Debian, j’essaye des trucs un peu débile
et j’enfonce des portes ouvertes.
Au risque de tout casser. Mais si tu le sais… C’est aussi comme ça qu’on apprend. Perso, je définis ce que je veux faire et je cherche ensuite à apprendre comment le faire. On ne peut pas apprendre toute l’admin d’un seul coup, long et compliqué. Là, tu apprends au fur et à mesure, en fonction des besoins, et par la pratique.
Essayer des trucs débiles, je conseille pas. Comprends ce que tu fais, apprends. En fonction de ce que tu as besoin. Mon tuto répond à un besoin que j’avais par exemple. Et essaie d’expliquer aux autres ma démarche.

Pourquoi ne pas se connecter en admin pour ce genre de manipulation, si
tu es l’administrateur du serveur? En quoi c’est un problème de
sécurité?

Parce que moins on utilise le compte admin, mieux c’est (d’où le “sudo” qui donne le droit administration mais que pour certaines commandes listées/autorisées via un fichier par exemple). Parce que c’est une bonne pratique de sécurité “classique”. On n’utilise le compte admin qu’en local (on se connecte via un utilisateur autre à distance et ensuite on passe en admin, on est donc comme “en local”). Je chercherai le pourquoi plus en détail.

Quelle serait la commande en console (sans filezilla) pour déposer les fichiers dans le répertoire adéquat du serveur?

En ligne de commande, la commande c’est “scp”

“/var/www/spip”: Permission denied

L’utilisateur de /var/www et de ses sous dossiers est et doit être www-data. Je ne sais pas/pense pas qu’on puisse se connecter en sftp via www-data vu qu’il faut connaitre son mot de passe…

Faudrait-il tenter le coup en root?

Si tu es sûr de ton réseau local, oui. Tu peux essayer. Moi j’ai désactivé cette possibilité via le fichier de configuration ssh.

Le soucis est que le transfert de fichier via root va donner les droits/propriétaires “root” aux fichiers copiés. Il faudra donc de toute façon les remodifier pour qu’ils appartiennent à www-data (via la fameuse commande chown -R www-data:www-data ./css/*) D’où mes “manipulations” via un utilisateur intermédiaire qui est “ryoga”. CQFD. :slight_smile:

En ligne de commande, la commande c’est “scp”

Quand je suis connecté en sftp au serveur via la commande sftp admin@address.nohost.me la commande scp est invalide. D’ après la doc sur sftp je ne vois que la commande put qui permette l’upload.

Par ailleurs, j’ai installé Filezilla. Pour me connecter je renseigne les cases comme suit:
Hôte : sftp://address.nohost.me
Identifiant : Mon identifiant d’utilisateur
Mot de passe : Le mot de passe de l’utilisateur
Port : si je mets 22, j’obtiens le message
Statut : Connected to address.nohost.me Erreur : Connection closed by server with exitcode 1 Erreur : Impossible d'établir une connexion au serveur
Si je mets le port 21, j’obtiens:
Statut : Le port sélectionné est habituellement utilisé par un autre protocole. Statut : Connexion à harpo.nohost.me:21... Réponse : fzSftp started Commande : open "address@harpo.nohost.me" 21 Erreur : Délai d'attente expiré Erreur : Impossible d'établir une connexion au serveur
Port 22 est censé être bon. Quelle est cette exitcode 1, un problème de configuration du compte? Qu’est-ce qui fait que le compte Ryoga que tu as créé est dédié ssh?

La commande est une commande dédiée est s’utilise depuis la ligne de commande. Voir https://doc.ubuntu-fr.org/ssh#transfert_-_copie_de_fichiersenter link description here

Identifiant : Mon identifiant d’utilisateur
Mot de passe : Le mot de passe de l’utilisateur
Erreur : Impossible d’établir une connexion au serveur

Comme je l’ai dit et ajouté dans la doc, l’utilisateur par défaut de yunohost ne marche pas en ssh.
Essaie avec ton compte “admin” et le mot de passe admin de Yunohost.
Tu auras à changer les droits des fichiers transférés. (cf mes messages avant)

Pour le port, si tu n’as rien changé ()car on peut changer le port, c’est même conseillé pour des raisons de sécurité https://yunohost.org/#/security_fr, c’est 22. Le 21 c’est celui du ftp.
Pour “ryoga”, je l’ai crée ainsi comme indiqué ici https://yunohost.org/#/security_fr

  • depuis le compte admin

useradd ryoga

  • dans le fichier /etc/ssh/sshd_config j’ai ajouté une ligne

AllowUsers Ryoga

(via nano qui est un éditeur de texte. si il n’est pas installé,
apt-get install nano
nano /etc/ssh/sshd_config)

J’ai créé un utilisateur toto par l’interface graphique de YH.
J’ai modifié le fichier ssh_config en ajoutant la ligne AllowUsers toto
Dans Filezilla, quand je me connecte via l’hôte sftp://address.nohost.me avec l’identifiant toto et son mot de passe sur le port 22 par défaut, j’obtiens le message
Statut : Connexion à address.nohost.me... Réponse : fzSftp started Commande : open "toto@address.nohost.me" 22 Commande : Approbation de la nouvelle clé de l'hôte : Une seule fois Commande : Pass: ************ Statut : Connected to address.nohost.me Erreur : Connection closed by server with exitcode 1 Erreur : Impossible d'établir une connexion au serveur

Quel est ce code exitcode 1?

Je pense que c’est parce que tu n’as pas de shell, il doit être à /bin/false pour des raisons de sécurité.
Tu peux changer le shell d’un utilisateur avec la commande usermod:

sudo usermod -s /bin/bash toto

Cependant, si le shell est désactivé, c’est pour des raisons de sécurité. Tu ferais mieux de créer un utilisateur sans passer par l’interface, ce qui limitera les risques.

sudo adduser username