Hatena::ブログ(Diary)

ちぇ・ゲバ男のメモ

2009-03-09

XServerにPEARをインストールする。

で、XServerにPEARの一部モジュールが

組み込まれていないことがわかったので

これをインストールしなくてはいけない。


しかし大きな問題の1つに、

XServerではTELNETでアクセスできないので、

インストールなど出来るのか・・・


と思って調べてみると、

思いっきりやり方が書いてあった。


シェルアクセスができないリモ−トホストに PEAR をインストールしたいというユーザもいるでしょう。 FTP を使うのが唯一の選択肢だということも良くあることですが、手動でインストールすると 置換などのインストーラの機能を活用している複雑なパッケージで問題が起こります。

共有ホストでの PEAR のローカルコピーのインストール


さらにいろいろ調べてみるとまんまそのやり方を

案内しているブログをいくつか見つけた。


WADAXレンタルサーバー

Nothing found for Archives 60

ブラウザからPEARをインストールする ( その他インターネット ) - ホリデープログラミング入門 - Yahoo!ブログ


でも一応このブログにもメモ


XServerにPEARをインストールする方法

※インストールする前に

実はインストールした後にパッケージを追加できない

という問題が発生した。

(後に説明するブラウザからPEARパッケージの管理できるところで

なぜかパッケージがインストールできなかった)


で、いろいろ調べてほぼ1日費やして試行錯誤したが

まったく全然ダメだったので諦めようとしていたのだが・・・


PHP4からPHP5に切り替えてみると何の問題もなく

できたということがあった・・・


よってXServerにてPHP4を使用している人は

PHP5に切り替える必要があると思う。


ただあくまで自分の環境だったので、

もしどうしてもPHP4でなくてはいけない人は

PHP4にてやってみてください。。。


1.go-pearをダウンロードしてFTPでアップする。

PEAR :: Installer :: Go-PEARへアクセスし

全部コピーして「go-pear.php」という名前で保存する。


そして任意のフォルダにFTPソフトを使用してアップする。


2.インストールフォルダを作成する。

どこでもいいのだが、自分の場合は

トップに「pear」というフォルダを作成した。

フルパスの場合「/home/ユーザーID/pear」にあたる。


マニュアルにはウェブに公開されていない箇所と

書いてあったのでセキュリティ的にもそのほうがいいだろう。


またパーミッションを「777」にするのを忘れないように。


3.アップしたURLにアクセスしてインストールする。

先ほどアップしたURLへアクセスする。

例:http://www.example.com/apear/go-pear.php

f:id:revolutionary:20090311003107j:image

NEXTをクリック


f:id:revolutionary:20090311003108j:image

重要なのは2箇所

1.Installation prefix

11.php.exe path, optimal


1.はインストールするフォルダ、

つまり2で作成したフォルダを指定する。


11.はPHPプログラムへのパス。

PHP5なので「/usr/bin/php5」にする。


で、Installをクリック


f:id:revolutionary:20090311005402j:image


f:id:revolutionary:20090311010220j:image


Installation Completedが出ていれば完了


ウェブアクセス不能なところにインストールした場合は、

Warningが出ていると思うが、問題ない。


ちなみにPHP4で実行したときは

「pear/Structures_Graph」というパッケージが

エラー出ていた。(インストール自体は問題はなかった)


4.パッケージ管理画面にアクセスする。

インストールされた箇所にindex.phpがあると思うが、

これでパッケージ管理がブラウザで出来る。


アップデートやモジュールの追加なども

ブラウザから出来るので、TELNETができないXServerでは必須。


セキュリティ的にウェブアクセス不能な箇所に

インストールしたと思うので、今のままではアクセスできない。


よってそれを一度ダウンロードして、任意のところにアップする。

例:http://example.com/pear/index.php


ここにはBasic認証でセキュリティをかけておくこと必須

(XServerコンパネからアクセス制限が楽でお勧め)


実は2.の10.Filename of WebFrontendにてこのindex.phpを

インストール箇所を指定できるらしかったのだが、

自分は上記のやり方でやった。


アクセスするとこんな画面

f:id:revolutionary:20090311011502j:image


5.パッケージを追加する。

Package Search にて任意のパッケージを検索して

インストールできる。


自分の場合は、「Mail_mimeDecode」が必要だったので

それを検索してインストールする。


ものによっては他のモジュールに依存するパッケージも

あるそうなのだが、そのあたりは自動でインストール

してくれるらしい。


f:id:revolutionary:20090311011818j:image

緑のプラスをクリックしてインストール。

めちゃくちゃ簡単。


f:id:revolutionary:20090311012007j:image

PHP4の時は、ダウンロードだけで

install以降が表示されなかった。


6.パスを指定する。

あとは実際インストールしたpearにパスを通すだけ。

調べてみると2通り方法があるよう。


1..htaccessで指定

例:

  php_value include_path ".:/home/ユーザーID/pear/PEAR"

この.htaccessファイルを任意の「public_html」直下に置けばOKとのこと。


2.php.iniで指定

例:

include_path = ".:/home/ユーザーID/pear/PEAR"

php.iniに関しまして、ホームディレクトリ以外に設置された場合は、下位ディレクトリには、適用されず、設置ディレクトリのみに適用されます。

尚、php.iniの読み込み優先度は

1. ホームディレクトリに設置されている php.ini

2. ホームディレクトリ以外のディレクトリに設置されている php.ini

となります。

このため、php.iniを ホームディレクトリと、その他のディレクトリにそれぞれ設置している場合は、 ホームディレクトリ側が優先されますのでご注意ください。

XServer サービスについて > CGI・SSI・PHP > PHP

sv50サーバー以降

ホームディレクトリ(初期FTPアカウントでアクセスした際の一番上の階層)に php.ini を設置してください。この場合、設定はお客様のアカウントの全てのディレクトリに反映されます。ディレクトリ毎に個別に設定したい場合は、設定を変更したいディレクトリに php.ini を設置してください。php.ini の内容の例は以下のようになります。

XServer サービスについて > CGI・SSI・PHP > PHP


以上

makoto4649makoto4649 2009/05/23 22:56 ありがとうございました!
[xserver pear]で貴ページにたどり着きました。
同じことで悩んでおりましたので、大変助かりました。
また実際インストール時に訪問させていただきます。

revolutionaryrevolutionary 2009/05/27 09:15 誰かの役に立つかと思って記事書いたので、
お役に立てて本望ですわ〜
コメントありがとうございます。

deloreanmc12deloreanmc12 2009/09/17 14:13 かなり悩んでたんで助かりました。
細かい説明ありがとうございます。
ちなみに、今回使ってるXServerだとinclude_pathの設定が、.htaccessでの指定はできませんでした。php.iniでやったら、うまくいきました。

revolutionaryrevolutionary 2009/09/17 15:54 環境によっても異なるのですね〜情報ありがとうございます。
お役に立てて良かったです。

アマ8級アマ8級 2009/09/25 08:41 pearインストール後の上にあるpearの設定??画面に行けませ〜ん。

一応インストールは出来ましたし、php.iniやindex.phpも設定しました(切実)

mogomogomogomogo 2009/09/27 02:25 このサイト見つけた時は「これだ!」と思いました。丁寧な説明のおかげで、無事できました。本当にありがとうございました。

auau 2010/11/10 16:38 こんにちは、参考サイトも含めて見ながらやってみたのですがインストールが完了
、Filenname of WebFrontedの欄に指定したディレクトリ、PEAR パッケージマネージャにアクセスしても空白のページしか表示されません?何度試してもNGでした。
FTPでみてみたらINDEX.phpははいってるのですがブラウザーでは表示できないというか真白になっています?
どこの設定で正しく表示されるのでしょうか?

DursanDursan 2011/01/10 15:06 auさん 下記参照してください
http://mgw.hatena.ne.jp/?url=http://h2plus.biz/blog/2008/10/10/98/

KashiKashi 2011/02/12 05:44 もの凄く参考になりました! ありがとうございます

>よってそれを一度ダウンロードして、任意のところにアップする。
>例:http://example.com/pear/index.php

auさんと同じ現象になっちゃいました。

【対策】index.php の Line8の$pear_dirの設定
※下記の /pear のディレクトリ名は 上記revolutionaryさんの手順書に則った名称です。

$pear_dir = '@pear_dir@'; // default of install
 ↓↓↓↓↓
$pear_dir = '/home/ユーザーID/pear/PEAR'; // default of install

【テク1】
ちなみに 真っ白現象(エラーが表示されない現象)で困ったら
 php.iniに 
display_errors = On
を、記述すると、エラーが表示されます。

Fatal error: No PEAR.php in supplied PEAR directory: @pear_dir@ in /home/ユーザーID/***/public_html/---/index.php on line 24
と、表示されました。

Kashi Kashi 2011/02/12 06:09 追記です

パッケージを探そうと、
左メニューの Package Search より Searchするも動かず..
・・何故か2ツフォームが出てるし、Channelを煽ってもだめ

右上の緑の部分 「Search package by name」で検索できました。
例えば mail で〜

revolutionaryrevolutionary 2011/02/14 10:16 >> Kashiさん
うぉおおお、貴重な情報ありがとうございます。

nabenabe 2013/03/05 15:51 この方法でkagoyaにもインストールできました!
ありがとうございます。

KashiKashi 2016/06/18 22:52 6年ぶりっす!
別の環境ですが、 go-pear.php on line 697 で止まっちゃいました。

pear.php.net/go-pear の go-pear.php は Ver1.1.6 で
現在はこちらの 1.1.7a4 を使う と良いです
https://raw.githubusercontent.com/furyutei/go-pear/master/go-pear.php
 *プログラム内に記述されてるURL等が変わってます

kashikashi 2016/06/18 22:56 5年でしたね(汗 
それと、私の環境では、造られたindex.php でエラーでした。
 こちらの修正で クリアっす
 http://www.uniformserver.com/ZeroXI_documentation/php_pear_auto_install.html

revolutionaryrevolutionary 2016/06/26 14:26 >> Kashiさん
5年ぶりw
いやぁ情報ありがとうございます。
いまだ少しですがアクセスあって地味に役立っている記事だと思うので
そういう情報に救われる人たくさんいると思います(*´Д`)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/revolutionary/20090309/p1
Connection: close