
Comment Installer PHP SSH sur son serveur Web
Voici comment installer PHP SSH sur son serveur web, pour pouvoir lancer des commandes SSH. Cette librairie ajoutée à PHP peut effectivement s’avérer très utile pour avoir une interface web de gestion de serveur linux. Par exemple ici, cela m’a permis d’automatiser la création de comptes FTP, ou de comptes chrootés SSH pour balancer du rsync, ou encore une interface de gestion de zone DNS sur un serveur cPanel DNS only qui est principalement fait pour du clustering mais pas pour de la gestion directe. (ce qui est nul à mon humble avis)
Allez on est parti! On commence par télécharger la librairie libssh2 sur notre serveur :
root@server1 [~]# wget http://www.libssh2.org/snapshots/libssh2-1.4.0-20120319.tar.gz
root@server1 [~]# tar -xzf libssh2-1.4.0-20120319.tar.gz
root@server1 [~]# cd libssh2-*
root@server1 [~]# ./configure
On cherche le dossier des extensions PHP :
qui donne quelque chose comme ceci :
On télécharge le module PECL SSH 2
root@server1 [~]# wget http://pecl.php.net/get/ssh2-0.12.tgz
root@server1 [~]# tar -xzf ssh2-0.11.3.tgz
root@server1 [~]# mv ssh2-0.11.3 php-ssh2
root@server1 [~]# cd php-ssh2
root@server1 [~]# phpize
root@server1 [~]# ./configure –with-ssh2
root@server1 [~]# make
root@server1 [~]# make install
Ensuite, on charge le module dans le php.ini :
Loaded Configuration File > /usr/local/lib/php.ini
On tape la commande suivante pour insérer l’extension directement dans le .ini sans passer par l’éditeur vi
On redémmarre apache :
On vérifie que l’extension est bien chargée et on est bon !
Registered PHP Streams > compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version > 1.4.0-20120319
banner > SSH-2.0-libssh2_1.4.0-20120319
PWD > /usr/local/lib/php/extensions/no-debug-non-zts-20090626/php-ssh2
_SERVER["PWD"] > /usr/local/lib/php/extensions/no-debug-non-zts-20090626/php-ssh2
_ENV["PWD"] > /usr/local/lib/php/extensions/no-debug-non-zts-20090626/php-ssh2
Si vous avez l’erreur suivante lors de make / make isntal :
Vérifier bien que lors du copier coller vous avez bien saisis ./configure –with-ssh2 failed au lieu du .with-ssh2 qui peut arriver lors du copier coller. Je précise car j’ai mis pas mal de temps à m’en rendre compte ;).