さくらインターネットのレンタルサーバでPHPのSSH2を使用する方法について

f:id:moshimore:20180710165922j:plain
さくらインターネットのレンタルサーバで、PHPのSSH2を使用する方法について説明します。

手順

カレントディレクトリに移動します。

% cd
% pwd
/home/USERNAME

SSH2ライブラリのコンパイル用ディレクトリとモジュール保存用ディレクトリを作成します。

% mkdir make_ssh2
% mkdir modules

作成したディレクトリに移動し、SSH2ライブラリのソースをダウンロードします。

% cd make_ssh2/
% wget http://www.libssh2.org/download/libssh2-1.4.3.tar.gz

ダウンロードしたソースを解凍し、解凍先ディレクトリを移動します。

% tar -xzvf libssh2-1.4.3.tar.gz
% ls
libssh2-1.4.3 libssh2-1.4.3.tar.gz
% cd libssh2-1.4.3

コンパイルします。

% ./configure -prefix=/home/USERNAME/make_ssh2/libssh2-1.4.3/install
% make
% make install

ディレクトリを戻り、SSH2のソースをダウンロードします。

% cd ..
% wget https://pecl.php.net/get/ssh2-0.12.tgz

ダウンロードしたソースを解凍し、解凍先ディレクトリを移動します。

% tar -xzvf ssh2-0.12.tgz
% cd ssh2-0.12

コンパイルします。

% phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
% ./configure -prefix=/home/USERNAME/make_ssh2/libssh2-1.4.3/install/ -with-ssh2=/home/USERNAME/make_ssh2/libssh2-1.4.3/install/
% make
% make install
Installing shared extensions: /usr/local/php/5.4/lib/php/extensions/no-debug-non-zts-20100525/
cp: /usr/local/php/5.4/lib/php/extensions/no-debug-non-zts-20100525/#INST@56773#: Permission denied
*** [install-modules] Error code 1
Stop in /home/USERNAME/make_ssh2/ssh2-0.12.

モジュールが作成できたことを確認します。

% cd modules/
% ls
ssh2.so

作成したモジュールをモジュール保存用ディレクトリにコピーします。

% cp ssh2.so /home/USERNAME/modules/

さくらインターネットのサーバーコントロールパネルから、左側のメニューの「PHP設定の編集」(php.ini)を開きます。
以下の内容を記述し、保存します。

date.timezone = Asia/Tokyo
extension_dir=/home/USERNAME/modules/
extension = ssh2.so

※CakePHPを使用する場合、date.timezoneの記述がないとワーニングが発生します。

以上、さくらインターネットのレンタルサーバでPHPのSSH2を使用する方法についてでした。