PEARのリモートインストール May 23, 2009
PHPライブラリ”PEAR”は、pearコマンドを用いて依存性の解決を含めたパッケージ管理を行うことができる。
さらにPEAR_RemoteInstallerというパッケージを用いることで、リモートサーバもメンテできる。
処理の流れ
パッケージ管理はローカルマシンで行なう。依存性を解決したライブラリが一度ローカルで構築される。 リモートサーバにはFTP(SFTP, FTPSも使える)で転送されるだけなので、セーフモードなどの制約を受けることがない。
必要なソフト
ソフトウェアはローカルマシンにセットアップしておく。 まずPEARが必要。ubuntuの場合、sudo apt-get install php-pearなど。
次にsudo pear install PEAR_RemoteinstallerでRemoteinstallerパッケージをインストールする。 pear remote-install などのリモート系サブコマンドがうごけばOK。
設定ファイル作成
これが分かりづらい。 共有ホストでの PEAR のローカルコピーのインストール(phpプロ)の「PEAR 1.4.3 以降と PEAR_RemoteInstaller を使う改良インストール法」手順4~6の通りではあるが、補足が必要だろう。
まず、ローカルマシンにワーキングディレクトリを作る。 ワーキングディレクトリに移動して、ローカルマシンに置く設定ファイル(ここでは”remote.conf”)を生成する。
$ pear config-create /ワーキングディレクトリのパス remote.conf
次に、リモートサーバに置く設定ファイル(ここでは”.pearrc”)を生成する。
$ pear config-create /アップロード先のパス .pearrc
アップロード先のパスで指定した位置に最終的なPEARライブラリがインストールされる。 pear config-createコマンドによって、remote.confと.pearrcはローカルマシンのカレントディレクトリに生成される。
ここで、.pearrcは、FTPでリモートサーバのどこかにアップロードする。
さらにFTPアカウント情報と.pearrcの位置を下記のコマンドでremote.confに書き込む。
$ pear -c remote.conf config-set remote_config ftp://user:pass@myremotehost.com/.pearrc
- -c remote.confが書き込み先の設定ファイル指定。ここでは、ローカルマシンのカレントディレクトリのremote.conf
- remote_configは、設定ファイル中の変数。設定される値は最後の引数(ftp:~)
- 最終引数のuser:passは、FTPアカウントのログインIDとパスワード。myremotehost.comはFTPサーバ。/.pearrcは、.pearrc設定ファイルのアップロード先に合わせて設定。
リモートインストールコマンド
設定ファイルを配置し終われば、remote-installコマンド一発でPEARパッケージをリモートインストールできるようになる。
$ pear -c remote.conf remote-install -a Services_Amazon-beta
などのように使う。FTPクライアントで接続すれば、指定した場所にファイル一式がインストールされているかを確認できる。