効率良くリモート!PHPからSSHを利用できる様にする方法

効率良くリモート!PHPからSSHを利用できる様にする方法

tetsu

tetsu

 PHPからSSHを利用するには「libssh2」と「ssh2」のライブラリが必要になります。 サーバーには標準でインストールされていない場合が多いですが 今回は導入方法について紹介します。 ※自分の備忘録のためでもあります(笑)

1.「openssl-devel」の確認

初めに「openssl-devel」がインストールされているかを確認します。 インストールされているかの確認コマンドは次のコマンドを実行します。

rpm -qa | grep openssl-devel

確認コマンドの結果で次のような結果が表示されればインストールされています。

openssl-devel-0.9.8e-22.el5_8.4

※インストールされていない場合は、「openssl-devel」をインストールしてください。

2.「libssh2」のインストール

続いて「libssh2」をインストールします。 ダウンロード先は「https://www.libssh2.org/」の「Download」欄からライブラリを ダウンロードします。 コマンド例は

wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz

ダウンロード完了後、圧縮ファイルの解凍を行います。

tar zxf libssh2-1.4.2.tar.gz

解凍後、解凍したディレクトリに移動して次のコマンドを一つずつ実行します。

./configure
make
make install

各コマンドを実行完了すると「libssh2」のインストールは完了です。

3. 「ssh2」のインストール

続いて「ssh2」をインストールします。 ダウンロード先は「http://pecl.php.net/package/ssh2」の「Available Releases」欄から 最新のバージョンをダウンロードします。 コマンド例は

wget http://pecl.php.net/get/ssh2-0.11.3.tgz

ダウンロード完了後、圧縮ファイルの解凍を行います。

tar zxvf ssh2-0.11.3.tgz

解凍後、解凍したディレクトリに移動して次のコマンドを一つずつ実行します。

./configure
make
make install

各コマンドを実行完了すると「ssh2」のインストールは完了です。

4.「php.ini」設定の修正

最後にPHP設定ファイル「php.ini」にモジュールの追加を行います。 設定ファイルに次の記述を行い、「apache」の再起動を行ってください。

extension=ssh2.so

※環境によって「php.ini」に記述せず、モジュール設定ファイルを別で設定する場合もあります。

5.インストールの確認

「phpinfo()」関数から、「ssh2」が導入されていることを確認できれば インストール完了です。

<?php
phpinfo();
?>

SSH2ライブラリ設定完了例
以上、PHPからSSH利用する方法の紹介でした。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

手塚です。LIGの土台を支えています。インフラからプログラミング、果ては経理、会計までと、広い守備範囲でみんなをサポートしています。

このメンバーの記事をもっと読む