特定発言のピックアップ

 さくらサーバにPEARインストール
ID:1681
by  綿 関連ジャンル: PHP
さくらユーザにとってはFAQらしく、検索かけるとアチコチに情報がある。
http://www.seo-maniax.com/high-rank/sakura-pear/
http://zenryokuhp.com/server/sakura_pear.htm
http://phptips.seesaa.net/article/36638409.html
http://sayama-yuki.cocolog-nifty.com/blog/2009/09/pear-df96.html
が、実際やってみたらどの情報もちょっとずつウチの環境とは差分があり、思いの外ハマってしもて殆ど1日仕事になってしもた。
ので、備忘録も兼ねてウチの場合の手順を書き出しておくことにする。


まず、そもそも何でPEARをインストせなあかんかったかというと、
サーバ引っ越した直後、スクリプトがDB.phpが見つからん!とブー垂れて動いてくれなかったから。

ただ後々考えてみると、古いながらもPEARやDBはサーバに入ってた筈で、それが「見つからん」ってのは単にパスが通ってなかっただけかもしれず、アタシの勇み足だった可能性もある。

けど、
%pear install DB

には、
pear.php.net is using a unsupported protocal - This should never happen.

、、、って妙チクリンな答えが返ってきてたし、これまたググッってみたら
PHPのバージョン5.2.9, 5.2.10のPEARは壊れてるよ。channelフォルダ捨てて、
pear update-channels
してちょんまげ

、、、みたいな回答があって、ウチの鯖は5.2.11やったけどコレも対象内?ってそのとおりしてみたが、ど~も上手くいかず、かなりイライラしてきた。
エエもぅ全部自前でやり直したらぁ~ッ!とイラチの血に任せて走り出したのであった。

●1
http://pear.php.net/go-pear を右クリックから保存(またはローカルテキストファイルにコピー)してgo-pear.phpとリネーム。
これをさくらのwwwディレクトリ内(の好きな場所)にアップして、chmod 755する。

●2
上記go-pear.phpにブラウザからアクセスし、Next>>をクリック。
次ページでインストールパスの指定。
1.Installation prefix ($prefix)には、WWWより上のローカルディレクトリを指定。/home/myAccount/pear とか。
11. php.exe path,...は、さくらの場合 /usr/local/bin
残り2.~10.はとりあえずこのままInstall実行。

●3
Installation in progress...のパーセンテージが進行し、
Installation Completed! と表示されれば完了。
ただしPEAR本体をwwwより上のhttpアクセス対象外のディレクトリにインストしとるので、config(●2の2.~10.の部分)はインストーラ任せでは実行できない。後からマニュアルでやらなダメ。...という内容のアラートがInstall完了画面の一番下に赤いWarningで出てくる。

その手前のNote:ってトコには、インスト完了したPEARのパスが表記されてる。
先の●2で、1.Installation prefix ($prefix)に /home/myAccount/pear と指定していた場合、このPEARのパスは /home/myAccount/pear/PEAR となっちょる筈。

●4
さて、それではWarningに出てきた、configの自力設定をsshでログインしてセコセコやっていく。
が、その前に、sshのpearコマンドはそのままでは自力インストしたローカルのpearでなく、さくらサーバの共用デフォルトのpearを実行してる筈。
試しにwhichコマンド叩いてみると、、、
%which pear
/usr/local/bin/pear

...ほらね。
なので、ローカルのpearコマンドが使えるようにシェルにパスを通さねば。

一時的に通すだけなら、
setenv PATH /home/myAccount/pear/bin:$PATH

でOK。
この先ずっとローカルのPEARを優先させるには、vi .cshrc と.cshrcを開いて、
# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29
kensmith Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each
shell
#
# see also csh(1), environ(7).
#

alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin
$HOME/bin)

、、、の部分を、
set path = (~/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin
/usr/local/bin $HOME/bin)

、、、と修正。
これで再度which pearしてみると、、、
%which pear
/home/myAccount/pear/bin/pear

これでローカルのpearをいじくれるようになった。

●5
pearのconfigの修正。
pear config-set temp_dir /home/myAccount/pear/temp
pear config-set bin_dir /home/myAccount/pear/bin
pear config-set php_dir /home/myAccount/pear/PEAR
pear config-set doc_dir /home/myAccount/pear/PEAR/docs
pear config-set data_dir /home/myAccount/pear/PEAR/data
pear config-set test_dir /home/myAccount/pear/PEAR/tests
pear config-set cache_dir /home/myAccount/pear/PEAR/cache
pear config-set ext_dir /home/myAccount/pear/PEAR/extensions
pear config-set download_dir /home/myAccount/pear/temp/download

ただし、中にはまだ作られてないディレクトリも混ざってるので、lsで確認するなり、ftpで対象ディレクトリ眺めたりして、未作成のディレクトリは予め自分で作っておく。
修正が済んだら、念のため
pear config-show

で確認しておくと更に吉。

●6
以上で準備完了、の筈だが、冒頭に書いた
%pear install DB
pear.php.net is using a unsupported protocal - This should never happen.

、、、の呪いがまだ解けてなかったら、
pear update-channels

のおまじないをかけてみると解決するかも。
update-channelsの前に、
mv ~/pear/PEAR/.channels ~/pear/PEAR/.channels_obsolete

、、、とでもしとけば、うまくupdate-channelsされてれば同じ場所に.channelsフォルダが再生成されて、中にchannels関連のファイルやフォルダも作られてる。

今回はコレやらなくても無事インストールでけたけど。

で、/home/myAccount/pear/PEAR/に、DB.phpがインストされてるのを確認して、ようやく終了。ふ~。。。

●7
最後に、さくらは/home/myAccount/www/にphp.ini置くコトになっとるから、そのinclude_path設定に、":/home/myAccount/pear/PEAR"を追記してやって、スクリプト走らせてみたら、、、

やっと動いた~\(T^T)/


参照URLの皆様に感謝。
トラックバックする     コメントする
2009/12/01/(火) 01:31:06 作成

↓近況でやんす↓
2010年08月26日(木)
2010年07月01日(木)
2010年02月27日(土)
2010年02月25日(木)
2009年12月24日(木)
2009年12月21日(月)
2009年12月15日(火)
2009年12月07日(月)
2009年12月01日(火)
2009年11月30日(月)
2009年11月12日(木)
2009年11月11日(水)
2009年11月09日(月)
2009年11月08日(日)
2009年11月06日(金)
2009年11月05日(木)
2009年11月04日(水)
2009年11月02日(月)
2009年11月01日(日)
2009年08月23日(日)

検索 

AND OR     
検索対象:
記事 タイトル 投稿者名
ヒットした発言を含むツリー全体
ヒットした発言のみを表示
非表示のジャンルも検索する
参照リンクしている発言だけ表示
添付画像がある発言だけ表示
期間限定 


から

まで