インストール - 共有ホストでの PEAR のローカルコピーのインストール
共有ホストでの PEAR のローカルコピーのインストール
システム共有としてインストールされた PEAR にアクセスできるプロバイダを使っているユーザもいるでしょう。 しかし、PEAR のローカルコピーを作成すると、 共有インストールされていないパッケージを使いたい場合など、多くの場面で便利です。 ここでは、telnet/ssh によるシェルアクセスを使ったローカルコピーの作成方法と、 ftp アクセスだけを使った方法とについて説明します。
SSH を使ったインストール
SSH を使って PEAR のローカルコピーをインストールするには、 次のコマンドを使用します。
PEAR 1.3.5 以前
$ pear -s -c ~/.pearrc -d doc_dir=~/pear/docs
-d ext_dir=~/pear/ext -d php_dir=~/pear/lib
-d data_dir=~/pear/data -d test_dir=~/pear/tests
-d cache_dir=~/pear/cache -d bin_dir=~/pear/bin
|
PEAR 1.4 以降
$ pear config-create /home/user/pear .pearrc
|
ホームディレクトリに .pearrc という名称のローカル設定ファイルが作成されます。
そのあと .bashrc(または他のスタートアップファイル)にて、 ~/pear/bin をパスに追加し、次のコマンドを実行します。
PEAR 1.3.2 以前
$ pear -c ~/.pearrc install Archive_Tar PEAR Console_Getopt XML_RPC
|
PEAR 1.3.3 以降
$ pear install -o PEAR
|
ホームディレクトリ下の pear という名称のサブディレクトリに パッケージを保持するためのディレクトリ構造が作られ、 システム共有版とは別に、PEAR のローカル版がインストールされます。 このローカルにインストールされたファイルを使用するには、PEAR パッケージを使うコードで PHP の include_path を次のようにセットしてください。
<?php
ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR
. ini_get('include_path'));
// PHP 4.3.0 以降ではこの方法も使用できます。
// これは、特に共有ホストなどで有用です。
set_include_path('~/pear/lib' . PATH_SEPARATOR
. get_include_path());
?>
|
または、apache の .htaccess ファイルで php_value を使う方法もあります。
ftp/ftps/sftp を使ったローカルコピーのインストール
FTP を使って PEAR のローカルコピーをインストールする方法は、昔ながらの難しい方法と、 新しく簡単な方法の 2 つがあります。新しい方法を行うには、 PEAR をバージョン 1.4.3 以降にアップグレードする必要があります。
PEAR 1.4.3 以降と PEAR_RemoteInstaller を使う改良インストール法
PEAR 1.4.3 以降では、FTP を使ったローカルコピーのインストールも簡単に行えます。
シェルアクセスができないリモ-トホストに PEAR をインストールしたいというユーザもいるでしょう。 FTP を使うのが唯一の選択肢だということも良くあることですが、手動でインストールすると 置換などのインストーラの機能を活用している複雑なパッケージで問題が起こります。
〔FTP を使ってリモ-トホストに〕適切にインストールするには 次の手順で行います。
-
ローカルのコンピュータに PHP 5.0 以降をインストールする
-
ftps を使用する場合は、 php.ini で openssl 拡張モジュールを有効にする
-
sftp を使用する場合は、 php.ini で ssh2 拡張モジュールを有効にする
-
PEAR の CLI バージョン("pear" コマンドのこと。WEB インターフェイスではない)を ローカルのコンピュータにインストールし、正常動作を確認する
-
リモートホストにアクセスでき、書き込みができるようにする (セキュリティ上、ftp でなく sftp か ftps の使用を 強く 推奨します)
-
ホームディレクトリのフルパスを確認する
-
ローカルとリモートの双方について、それぞれの環境に対応した設定ファイルを作成する
-
リモートの設定ファイルをリモートホストにアップロードする
-
リモートホストの設定ファイルの場所を ローカルの設定ファイルの remote_config に指定する
-
remote-install, remote-uninstall, remote-upgrade および remote-upgrade-all コマンドを使ってパッケージを管理する
1. PEAR の CLI バージョンをローカルのコンピュータにインストールする
こちらで インストール手順 を参照してください。
2. リモートホストに書き込みができるようにする
書かれている通りです。DOS プロンプトや Unix シェルで FTP コマンドを実行できれば、 FTP 接続が可能です。
ユーザ名とパスワードを入力し、ログインします。
書き込みができるか調べるのは簡単で、ファイルをアップロードできるかどうかです。
3. ホームディレクトリのフルパスを確認する
これも書かれている通りです。次のスクリプトを WEB ドキュメントのルートティレクトリに アップロードし出力を確認すると良いでしょう。
<?php echo dirname(__FILE__); ?> |
/home/username/htdocs や /home/username/public_html のようになるでしょう。FTP でアクセスする際には、 /home/username へ接続するとよいでしょう。
4. ローカルとリモートの双方について、それぞれの環境に対応した設定ファイルを作成する
これも簡単です。windows と unix でそれぞれ次のようにします。
まず、Windows です。
リモートコードのローカルコピーを保存する場所を選びます。たとえば、 C:remotepear とします。コマンドプロンプトから 次のように打ち込みます。
C:> mkdir remote C:> cd remote C:remote> mkdir pear C:remote> cd pear C:remotepear> pear config-create -w C:remotepear remote.ini C:remotepear> pear config-create /home/username/pear .pearrc |
Unix でも、似たような手順をとります。
$ cd $ mkdir remote $ cd remote $ mkdir pear $ cd pear $ pear config-create /home/mylocaluser remote.conf $ pear config-create /home/username/pear .pearrc |
5. リモートの設定ファイルをリモートホストにアップロードする
これも簡単です。どちらの OS でも FTP を使って .pearrc を /home/username/pear/.pearrc へアップロードします。
6. リモートホストの設定ファイルの場所を ローカルの設定ファイルの remote_config に指定する
暗号化を行わないなら(注:ただし、安全ではない)、 ストリームとして ftp:// を使います。 ftps を使用するなら、ストリームとして ftps:// を、 sftp を使用するなら、ssh2.sftp を使います。
remote_config に設定するパスは、次の例のように、 フルパスとしてください。
ssh2.sftp://user:pass@myremotehost.com/home/username/.pearrc |
リモートへの接続が失敗するときに限り、相対パスを試してください。
ftps://user:pass@myremotehost.com/.pearrc |
remote_config の値をセットするには、次のシンタックスを使用します。
windows の場合、
C:remotepear> pear -c remote.ini config-set remote_config
ftp://user:pass@myremotehost.com/.pearrc
|
Unix の場合、
$ pear -c remote.conf config-set remote_config
ftp://user:pass@myremotehost.com/.pearrc
|
7. remote-install, remote-uninstall, remote-upgrade および remote-upgrade-all コマンドを使ってパッケージを管理する
以上で、ローカルとリモートのリポジトリを同期させることができます。
動作の詳細
インストーラは、まずパッケージをローカルにインストールし、次いで、 ftp ストリームを使ってローカルにインストールされたファイルをリモートの適切な場所に アップロードします。 "remote_config" 設定項目に指定された リモートの設定ファイルの値を用いて、 パッケージをインストールするべき場所へのフルパスを取得します。 インストールに関連するコマンド (install, uninstall, upgrade, and upgrade-all) にそれぞれ対応した remote- コマンド >(remote-install, remote-uninstall, remote-upgrade, remote-upgrade-all) が存在します。
リモートの設定ファイルは、置換などの特殊処理の際にも参照されます。 たとえば、data_dir 設定項目の値を参照してデータファイルのパスを取得するような ファイルがある場合、リモートホストのパス (/home/username/pear/data ) が、ローカルのパス (C:remotepeardata ) に代わって、使用されます。ただし、このようにしてローカルマシンにインストールされた パッケージはローカルのマシンで適切に動作しません。バックアップとして扱ってください。 非常時には、リモートホストへ ftp や scp でアップロードすることができます。
windows と unix とでインストールのされ方が異なるパッケージがあります。 そのようなパッケージをインストールする場合は、ローカルのシステムをリモートのシステムと 同じものにしてください。さらに、拡張モジュールに依存するパッケージもあります。 リモートのマシンで必要な拡張モジュールが利用可能かどうか調べるには、 phpinfo() の出力を参照してください。
ftp を通じた PEAR のローカルコピーのインストール - 昔ながらの方法
ftp を使用して PEAR のローカルコピーをインストールするには、 アップロード時にファイルのパーミッションを設定できる ftp クライアントが必要です。 まず、サーバの、ウェブに公開されていない場所にディレクトリをひとつ作成し、 好きな名前をつけます。そして、全ユーザから読み書き可能 (0777) とします。 http://go-pear.org/ をダウンロードし、go-pear.php という名前で保存します。go-pear.php を、 ウェブからアクセス可能なディレクトリにアップロードします。 (セキュリティーのため).htaccess を使って go-pear.php を含むディレクトリにパスワード制限をかけるのが良いでしょう。
次に、go-pear.php ファイルをブラウズします。 ウェブアドレスが http://www.example.com/ で、go-pear.php を public_html/install/go-pear.php に置いた場合、 http://www.example.com//install/go-pear.php にアクセスしてください。 表示されたインストールの画面に従います。 どこに PEAR をインストールするか訊かれたら、さきほど作成した 全ユーザから読み書き可能にしたディレクトリを指定します。 また、CLI バージョンの PHP のありかも知らせる必要があります。 PHP のありかは、次のスクリプトの出力を参照してください。
<?php echo `which php`; // これが動作しなかった場合は、echo PHP_BIN; を試してください ?> |
PEAR がインストールされたら、他の PEAR インストールの方法と同様に、 web 版のインストーラを使って、パッケージのインストールやアップグレードが できます。 インストールされた PEAR のファイルを使うには、ウェブサイトのスクリプト中で include path をセットする必要があります。
<?php
ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR
. ini_get('include_path'));
// PHP 4.3.0 以降ではこの方法も使用できます。
// これは、特に共有ホストなどで有用です。
set_include_path('~/pear/lib' . PATH_SEPARATOR
. get_include_path());
?>
|





