
Configuration des mises à jour via SSH dans WordPress
Plutôt qu’utiliser un serveur FTP pour mettre à jour les extensions et les thèmes dans WordPress, il peut être intéressant d’utiliser la technique de liaison SSH. Cela évite d’installer un serveur FTP spécialement pour votre blog WordPress, et en plus c’est plus sécurisé.
1. Installation
Pour commencer, installer les packages, si cela n’est pas encore fait correspondant aux SSH:
1 |
apt-get install libssh2-1-dev libssh2-1 libssh2-php |
Installer ensuite les librairies PHP5 suivantes:
1 |
apt-get install php-pear php5-dev |
Puis installer SSH2 via pecl
1 |
pecl install ssh2 |
Une fois que tout est installé, créer et mettre à jour le fichier suivant /etc/php5/conf.d/ssh2.ini
1 |
extension=ssh2.so |
Redémarrer ensuite le serveur apache2.
1 |
service apache2 force-reload |
2. Génération des clés.
Création des clés à l’aide de l’utilitaire suivant:
1 |
ssh-keygen |
La commande va créer la paire de clé privée et publique:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Created directory '/home/user1/.ssh'.
Enter passphrase (empty for no passphrase): ne rien renseigner et appuyer sur Enter
Enter same passphrase again: appuyer a nouveau sur Enter
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx user1@server1.example.com
Dans le dossier SSH, on recopie la clé dans le fichier « authorized_keys 2».
1 2 |
cd .ssh cp id_rsa.pub authorized_keys</code>2 |
Mettre les autorisations suivantes :
1 2 3 |
cd ~/ chmod 755 .ssh chmod 644 .ssh/</code>* |
Copier ensuite les clés dans un répertoire type /etc/wordpress par exemple.
1 |
cd ssh cp id_rsa /etc/wordpress cp id_rsa.pub /etc/wordpress chgrp www-data /etc/wordpress/* </code><code>chmod 640 /etc/wordpress/</code>* |
3. Mettre jour les fichiers de configuration de WordPress
Ajouter les lignes suivantes au fichier wp-config.php
define(‘FTP_PUBKEY’,'/etc/wordpress/id_rsa.pub’);
define(‘FTP_PRIKEY’,'/etc/wordpress/id_rsa’);
define(‘FTP_USER’,'user1′);
define(‘FTP_HOST’,'localhost:22′);
Voila, A partir de maintenant, les mises à jours dans WordPress seront effectuées avec l’accès SSH.