はじめまして。
いつもおやじ様のサイトを拝見させて頂いております。
初心者の私でも判りやすく、大変感謝しております。
早速ですがMaia Mailguardの設定をしておりまして、
おやじ様のサイトはもちろんですが、彼方此方見て回ったのですが、
どうしても解決できず書き込みさせて頂きました。
まず状況ですが、
SuSE 10.1にて設定をしておりますが、
configtest.phpを開くと、
FAILED: Not installed. This PHP extension is required to decode MIME-structured e-mail. Use pear install Mail_Mime to install this.
をはじめとして、「PEAR」以外の「PEAR::〜」が全滅状態です。
pear install 〜 も実行したのですが、
install済みと出てしまいます。
php.iniのinclude_pathを書き換えて見ましたが、結果は同じでした。
/usr/share/php5:/usr/share/php5/PEAR で間違いないと思うのですが。。。
恐らく、どこかのpathを書き換えれば良いのだと思うのですが、
どこを書き換えれば良いのか。。。
おやじ様のお手数を煩わせてしまい大変恐縮ですが、
何卒、お知恵をお貸し頂けませんでしょうか?
宜しくお願い致します。
> まず状況ですが、
> SuSE 10.1にて設定をしておりますが、
> configtest.phpを開くと、
>
> FAILED: Not installed. This PHP extension is required to decode MIME-structured e-mail. Use pear install Mail_Mime to install this.
>
> をはじめとして、「PEAR」以外の「PEAR::〜」が全滅状態です。
>
> pear install 〜 も実行したのですが、
> install済みと出てしまいます。
>
> php.iniのinclude_pathを書き換えて見ましたが、結果は同じでした。
> /usr/share/php5:/usr/share/php5/PEAR で間違いないと思うのですが。。。
>
> 恐らく、どこかのpathを書き換えれば良いのだと思うのですが、
> どこを書き換えれば良いのか。。。
SuSE10.1でPHP5になった固有の問題と思います。SuSEは普通にpearでいいところをpear5などとするので戸惑うことがあります。
下記のようにリンクを張ってあげれば回避できると思います。
# ln -s /usr/share/php5 /usr/lib/php
# ln -s /usr/share/php5/PEAR /usr/lib/php/pear
お世話になっております。
ご助言頂き有り難う御座います。
早速、おやじ様のご助言通り、リンクを張ってみましたが、
残念ながら、結果は変わりませんでした。
そこで、「リンク」に鍵があると考え、
# ln -s /usr/share/php5 /usr/lib64/php
も試してみましたが、やはり駄目でした。
次に、Maia Mailguard を1.0.1から1.0.0に入れ直してみました。
それでも駄目でしたので、
一度phpを入れ直してみようと思い、YaSTで削除して入れ直してみて、
lynx -source http://go-pear.org/ | php5
を実行したところ、ちょっと気になることがありました。
The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP,
Mail, XML_Parser, PHPUnit.
とおやじ様の解説には表示されておりますが、
私のは
The following PEAR packages are bundled with PHP: MDB2.
となっています。
しかしながら、
# cd /var/amavisd/maia/scripts
# ./configtest.pl
の結果は全てクリアしているのです。
> 早速、おやじ様のご助言通り、リンクを張ってみましたが、
> 残念ながら、結果は変わりませんでした。
>
> そこで、「リンク」に鍵があると考え、
> # ln -s /usr/share/php5 /usr/lib64/php
> も試してみましたが、やはり駄目でした。
64ビットという情報がなかったですが、これは関係ないと思います。
64ビット環境は現用機しかないので、以下は推定ですが・・。
まず、気になったのが拡張モジュールはどうやって入れましたか?
初期スレで、「pear install 〜」という表現がありましたが、SuSE10.1はPHP5であり、YaSTにパッケージマネージャがあるので、YaSTを起動して「php5-pear」で検索して出てきたものをとりあえず全てインストールしてください。その後足りないものは「pear5 install 〜」で入れてください。
次に、
# ls -l /usr/share/php5
で、どういう結果がでてきますか?恐らく、「PEARとそこへのpearというリンク他」が出てくるのではないかと思います。
次は、「/etc/php5/apache2/php.ini」のinclude_pathです。
include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
になってますか?
その上で、
# ln -s /usr/share/php5 /usr/lib/php
# ln -s /usr/share/php5/PEAR /usr/lib/php/pear
です。
# ln -s /usr/share/php5 /usr/lib64/php
ではないです。意味が違います。
> 次に、Maia Mailguard を1.0.1から1.0.0に入れ直してみました。
> それでも駄目でしたので、
これは関係ありません。
>
> 一度phpを入れ直してみようと思い、YaSTで削除して入れ直してみて、
>
以下は、上記のとおりにしてください。
> lynx -source http://go-pear.org/ | php5
>
> を実行したところ、ちょっと気になることがありました。
>
> The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP,
> Mail, XML_Parser, PHPUnit.
>
> とおやじ様の解説には表示されておりますが、
> 私のは
>
> The following PEAR packages are bundled with PHP: MDB2.
>
> となっています。
> しかしながら、
>
> # cd /var/amavisd/maia/scripts
> # ./configtest.pl
>
> の結果は全てクリアしているのです。
これは、拡張モジュールの話ではないので当然です。
恐らく、include_pathをいじっておかしくしているのではないかと思います。
お世話になっております。
> 64ビットという情報がなかったですが、これは関係ないと思います。
大変申し訳御座いません。
明記すべき事項でしたが忘れておりました。
肝心な情報でした。
> まず、気になったのが拡張モジュールはどうやって入れましたか?
拡張モジュールは、まずYaSTで入れてから、
一度、
# cd /var/amavisd/maia/scripts
# ./configtest.pl
で結果を見て、足りない物とアップデートが必要な物がありましたので、
おやじ様のページと
http://www.nilab.info/zurazure2/archives/000246.html
こちらのサイトを参考に
# perl -MCPAN -e shell
cpan< install Data::UUID
といった形で、補填していきました。
> YaSTを起動して「php5-pear」で検索して出てきたものをとりあえず全てインストールしてください。
>その後足りないものは「pear5 install 〜」で入れてください。
YaSTを起動して検索を実行しましたら、
該当の物は全てインストール済みでしたので、
「pear5 install 〜」を実行した結果が下記の物になります。
# pear5 install Mail_Mime
Skipping package "pear/Mail_Mime", already installed as version 1.3.1
No valid packages found
install failed
# pear5 install Log
Skipping package "pear/Log", already installed as version 1.9.9
No valid packages found
install failed
# pear5 install DB
Skipping package "pear/DB", already installed as version 1.7.6
No valid packages found
install failed
# pear5 install DB_Pager
Skipping package "pear/DB_Pager", already installed as version 0.7
No valid packages found
install failed
> # ls -l /usr/share/php5
# ls -l /usr/share/php5
合計 299
drwxr-xr-x 3 root root 168 2006-10-18 10:18 .channels
-rw-r--r-- 1 root root 2834 2006-10-20 17:09 .depdb
-rw-r--r-- 1 root root 0 2006-10-20 17:09 .depdblock
-rw-r--r-- 1 root root 10850 2006-10-20 17:09 .filemap
-rw-r--r-- 1 root root 0 2006-10-20 17:09 .lock
drwxr-xr-x 4 root root 384 2006-10-18 17:13 .registry
drwxr-xr-x 2 root root 72 2006-10-20 17:09 Archive
drwxr-xr-x 2 root root 80 2006-10-20 17:09 Console
drwxr-xr-x 2 root root 528 2006-10-18 17:13 DB
-rw-r--r-- 1 root root 38937 2006-10-18 17:13 DB.php
drwxr-xr-x 2 root root 472 2006-10-18 17:12 Log
-rw-r--r-- 1 root root 25202 2006-10-18 17:12 Log.php
drwxr-xr-x 3 root root 184 2006-10-20 17:09 MDB2
-rw-r--r-- 1 root root 137172 2006-10-20 17:09 MDB2.php
drwxr-xr-x 2 root root 136 2006-10-18 11:08 Mail
drwxr-xr-x 2 root root 80 2006-10-20 17:09 OS
drwxr-xr-x 26 root root 1720 2006-10-20 17:09 PEAR
-rw-r--r-- 1 root root 34266 2006-10-20 17:09 PEAR.php
-rw-r--r-- 1 root root 19375 2006-10-20 17:09 System.php
drwxr-xr-x 3 root root 96 2006-10-20 17:09 XML
drwxr-xr-x 2 root root 400 2006-10-20 14:07 build
drwxr-xr-x 5 root root 128 2006-10-18 17:12 data
drwxr-xr-x 6 root root 152 2006-10-18 17:13 docs
lrwxrwxrwx 1 root root 20 2006-10-20 16:30 pear -> /usr/share/php5/PEAR
-rw-r--r-- 1 root root 14779 2006-10-20 17:09 pearcmd.php
-rw-r--r-- 1 root root 1800 2006-10-20 17:09 peclcmd.php
lrwxrwxrwx 1 root root 16 2006-10-20 08:42 php5 -> /usr/lib64/php5/
drwxr-xr-x 6 root root 144 2006-10-18 17:13 tests
> 次は、「/etc/php5/apache2/php.ini」のinclude_pathです。
> include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
/etc/php5/apache/php.iniのinclude_pathは、
include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
/etc/php5/cli/php.iniのinclude_pathは、
include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
> # ln -s /usr/share/php5 /usr/lib/php
> # ln -s /usr/share/php5/PEAR /usr/lib/php/pear
一度リンクを消して、再度実行しました。
> # ln -s /usr/share/php5 /usr/lib64/php
> ではないです。意味が違います。
これは消しました。
結果は、こんなにアドバイスを頂いていながら依然変わらずです。
申し訳ありません。
最後に、32ビットですが、SuSE10.1のテストを時間がないので少しづつやっているおやじの環境(既にPostfix+Maia+spamassassin+Fprotは動いています)を載せておきますが、コンテンツどおりやると下記のようになると思います。そのときどうなるか・・・?
インラインで。
> > まず、気になったのが拡張モジュールはどうやって入れましたか?
>
> 拡張モジュールは、まずYaSTで入れてから、
> 一度、
> # cd /var/amavisd/maia/scripts
> # ./configtest.pl
>
> で結果を見て、足りない物とアップデートが必要な物がありましたので、
> おやじ様のページと
> http://www.nilab.info/zurazure2/archives/000246.html
> こちらのサイトを参考に
> # perl -MCPAN -e shell
> cpan< install Data::UUID
>
> といった形で、補填していきました。
>
> > YaSTを起動して「php5-pear」で検索して出てきたものをとりあえず全てインストールしてください。
> >その後足りないものは「pear5 install 〜」で入れてください。
>
> YaSTを起動して検索を実行しましたら、
> 該当の物は全てインストール済みでしたので、
> 「pear5 install 〜」を実行した結果が下記の物になります。
>
> # pear5 install Mail_Mime
> Skipping package "pear/Mail_Mime", already installed as version 1.3.1
> No valid packages found
> install failed
> # pear5 install Log
> Skipping package "pear/Log", already installed as version 1.9.9
> No valid packages found
> install failed
> # pear5 install DB
> Skipping package "pear/DB", already installed as version 1.7.6
> No valid packages found
> install failed
> # pear5 install DB_Pager
> Skipping package "pear/DB_Pager", already installed as version 0.7
> No valid packages found
> install failed
>
> > # ls -l /usr/share/php5
>
> # ls -l /usr/share/php5
> 合計 299
> drwxr-xr-x 3 root root 168 2006-10-18 10:18 .channels
> -rw-r--r-- 1 root root 2834 2006-10-20 17:09 .depdb
> -rw-r--r-- 1 root root 0 2006-10-20 17:09 .depdblock
> -rw-r--r-- 1 root root 10850 2006-10-20 17:09 .filemap
> -rw-r--r-- 1 root root 0 2006-10-20 17:09 .lock
> drwxr-xr-x 4 root root 384 2006-10-18 17:13 .registry
> drwxr-xr-x 2 root root 72 2006-10-20 17:09 Archive
> drwxr-xr-x 2 root root 80 2006-10-20 17:09 Console
> drwxr-xr-x 2 root root 528 2006-10-18 17:13 DB
> -rw-r--r-- 1 root root 38937 2006-10-18 17:13 DB.php
> drwxr-xr-x 2 root root 472 2006-10-18 17:12 Log
> -rw-r--r-- 1 root root 25202 2006-10-18 17:12 Log.php
> drwxr-xr-x 3 root root 184 2006-10-20 17:09 MDB2
> -rw-r--r-- 1 root root 137172 2006-10-20 17:09 MDB2.php
> drwxr-xr-x 2 root root 136 2006-10-18 11:08 Mail
> drwxr-xr-x 2 root root 80 2006-10-20 17:09 OS
> drwxr-xr-x 26 root root 1720 2006-10-20 17:09 PEAR
> -rw-r--r-- 1 root root 34266 2006-10-20 17:09 PEAR.php
> -rw-r--r-- 1 root root 19375 2006-10-20 17:09 System.php
> drwxr-xr-x 3 root root 96 2006-10-20 17:09 XML
> drwxr-xr-x 2 root root 400 2006-10-20 14:07 build
> drwxr-xr-x 5 root root 128 2006-10-18 17:12 data
> drwxr-xr-x 6 root root 152 2006-10-18 17:13 docs
> lrwxrwxrwx 1 root root 20 2006-10-20 16:30 pear -> /usr/share/php5/PEAR
> -rw-r--r-- 1 root root 14779 2006-10-20 17:09 pearcmd.php
> -rw-r--r-- 1 root root 1800 2006-10-20 17:09 peclcmd.php
> lrwxrwxrwx 1 root root 16 2006-10-20 08:42 php5 -> /usr/lib64/php5/
> drwxr-xr-x 6 root root 144 2006-10-18 17:13 tests
おやじのを見てもらうとわかりますが、ここにはほとんど何もないですよね。
恐らく、YaSTからではなくパッケージマネージャを入れてそれで追加インストールした結果だと思います。
「/usr/share/php5/」をバックアップしておいてから、おやじの環境を見ながら不要なものを削除してみてください。因みに、上の下から2番目は消したと下にありますが残ってますね。
これで直らなければ、このままの状態でYaSTでは無理なので、PEAR関係のRPMを落としてきて、手動で強制的に上書きインストール(rpm --force -Uvh xxx.rpm)すると直るかもしれません。
かなり乱暴かもしれませんが、論理的には問題ないはずです。リスクがありますのでご自身の判断でお願いします。
>
> > 次は、「/etc/php5/apache2/php.ini」のinclude_pathです。
> > include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
>
> /etc/php5/apache/php.iniのinclude_pathは、
>
> include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
>
> /etc/php5/cli/php.iniのinclude_pathは、
> include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"
>
> > # ln -s /usr/share/php5 /usr/lib/php
> > # ln -s /usr/share/php5/PEAR /usr/lib/php/pear
これはOKですね。
> 一度リンクを消して、再度実行しました。
>
> > # ln -s /usr/share/php5 /usr/lib64/php
> > ではないです。意味が違います。
>
> これは消しました。
> 結果は、こんなにアドバイスを頂いていながら依然変わらずです。
> 申し訳ありません。
おやじの環境を示しておきます。
# ls -l /usr/lib/php
lrwxrwxrwx 1 root root 15 Oct 20 19:08 /usr/lib/php -> /usr/share/php5
# ls -l /usr/share/php5
total 1
drwxr-xr-x 18 root root 792 Oct 19 23:11 PEAR
drwxr-xr-x 2 root root 400 Oct 20 17:30 build
lrwxrwxrwx 1 root root 20 Oct 20 19:06 pear -> /usr/share/php5/PEAR
# ls -l /usr/share/php5/PEAR
total 231
drwxr-xr-x 3 root root 168 Oct 18 23:43 .channels
-rw-r--r-- 1 root root 3623 Oct 19 23:14 .depdb
-rw-r--r-- 1 root root 0 Oct 19 23:14 .depdblock
-rw-r--r-- 1 root root 9486 Oct 19 23:14 .filemap
-rw-r--r-- 1 root root 0 Oct 19 23:14 .lock
drwxr-xr-x 4 root root 488 Oct 19 23:14 .registry
drwxr-xr-x 2 root root 72 Oct 18 23:43 Archive
drwxr-xr-x 3 root root 96 Oct 19 23:14 Auth
drwxr-xr-x 2 root root 80 Oct 18 23:43 Console
drwxr-xr-x 2 root root 528 Oct 19 23:08 DB
-rw-r--r-- 1 root root 38937 Oct 19 23:08 DB.php
drwxr-xr-x 2 root root 160 Oct 18 23:43 Date
-rw-r--r-- 1 root root 38400 May 2 19:07 Date.php
drwxr-xr-x 2 root root 96 Oct 18 23:43 File
-rw-r--r-- 1 root root 16450 May 2 19:10 File.php
drwxr-xr-x 2 root root 472 Oct 19 23:11 Log
-rw-r--r-- 1 root root 25202 Oct 19 23:11 Log.php
drwxr-xr-x 2 root root 272 Oct 19 23:09 Mail
-rw-r--r-- 1 root root 8065 May 2 19:08 Mail.php
drwxr-xr-x 2 root root 184 Oct 19 23:11 Net
drwxr-xr-x 2 root root 80 Oct 18 23:43 OS
drwxr-xr-x 11 root root 1000 Oct 18 23:43 PEAR
-rw-r--r-- 1 root root 33949 Oct 5 22:17 PEAR.php
-rw-r--r-- 1 root root 19369 Oct 5 22:17 System.php
drwxr-xr-x 5 root root 128 Oct 18 23:43 data
drwxr-xr-x 6 root root 152 Oct 19 23:11 doc
-rw-r--r-- 1 root root 14788 Oct 5 22:17 pearcmd.php
-rw-r--r-- 1 root root 1810 Oct 5 22:17 peclcmd.php
drwxr-xr-x 10 root root 240 Oct 19 23:11 test
御世話になっております。
まずはおやじ様の互助言の通りにしてみました。
> 「/usr/share/php5/」をバックアップしておいてから、おやじの環境を見ながら不要なものを削除してみてください。
以下が整理した状態です。
# ls -l /usr/lib/php
lrwxrwxrwx 1 root root 15 2006-10-20 16:30 /usr/lib/php -> /usr/share/php5
# ls -l /usr/share/php5/
drwxr-xr-x 17 root root 768 2006-10-23 16:14 PEAR
drwxr-xr-x 2 root root 400 2006-10-20 14:07 build
lrwxrwxrwx 1 root root 20 2006-10-20 16:30 pear -> /usr/share/php5/PEAR
# ls -l /usr/share/php5/PEAR
drwxr-xr-x 3 root root 168 2006-10-20 14:07 .channels
-rw-r--r-- 1 root root 1939 2006-10-05 21:57 .depdb
-rw-r--r-- 1 root root 0 2006-10-05 21:57 .depdblock
-rw-r--r-- 1 root root 4103 2006-10-05 21:57 .filemap
-rw-r--r-- 1 root root 0 2006-10-05 21:57 .lock
drwxr-xr-x 4 root root 216 2006-10-20 14:07 .registry
drwxr-xr-x 2 root root 72 2006-10-20 14:07 Archive
drwxr-xr-x 3 root root 96 2006-10-20 14:07 Auth
drwxr-xr-x 2 root root 80 2006-10-20 14:07 Console
drwxr-xr-x 2 root root 496 2006-10-20 14:07 DB
-rw-r--r-- 1 root root 38937 2006-05-02 19:07 DB.php
drwxr-xr-x 2 root root 160 2006-10-20 15:54 Date
-rw-r--r-- 1 root root 38400 2006-05-02 19:07 Date.php
drwxr-xr-x 2 root root 96 2006-10-20 14:08 File
-rw-r--r-- 1 root root 16450 2006-05-02 19:10 File.php
drwxr-xr-x 2 root root 472 2006-10-20 14:07 Log
-rw-r--r-- 1 root root 19713 2006-05-02 20:04 Log.php
drwxr-xr-x 2 root root 272 2006-10-20 14:08 Mail
-rw-r--r-- 1 root root 8065 2006-05-02 19:08 Mail.php
drwxr-xr-x 2 root root 80 2006-10-20 14:07 OS
drwxr-xr-x 11 root root 1000 2006-10-20 14:07 PEAR
-rw-r--r-- 1 root root 33949 2006-10-05 21:57 PEAR.php
-rw-r--r-- 1 root root 19369 2006-10-05 21:57 System.php
drwxr-xr-x 5 root root 128 2006-10-20 14:08 data
drwxr-xr-x 3 root root 80 2006-10-20 14:07 doc
-rw-r--r-- 1 root root 14788 2006-10-05 21:57 pearcmd.php
-rw-r--r-- 1 root root 1810 2006-10-05 21:57 peclcmd.php
drwxr-xr-x 7 root root 168 2006-10-20 15:54 test
NETがありませんでしたが、恐らく後で追加すれば良いと思いましたので、
まずはこの状況でどんな結果がでるのかテストしてみました。
PostfixAdminは正常に動いているようですが、
Maia Mailguard Configuration Testerは依然
PEAR::Log
PEAR::Mail_Mime
PEAR::DB
PEAR::DB_Pager
PEAR::Net_Socket
PEAR::Net_SMTP
PEAR::Log
が無い状態でした。
試しに、pear5 install Mail_Mime を実行してみると、
インストールされはされましたが、
おやじ様が仰っていた通り、
# ls -l /usr/share/php5/
が下のように増えました。
drwxr-xr-x 3 root root 168 2006-10-23 16:36 .channels
-rw-r--r-- 1 root root 57 2006-10-23 16:36 .depdb
-rw-r--r-- 1 root root 0 2006-10-23 16:36 .depdblock
-rw-r--r-- 1 root root 246 2006-10-23 16:36 .filemap
-rw-r--r-- 1 root root 0 2006-10-23 16:36 .lock
drwxr-xr-x 4 root root 152 2006-10-23 16:36 .registry
drwxr-xr-x 2 root root 136 2006-10-23 16:36 Mail
drwxr-xr-x 17 root root 768 2006-10-23 16:14 PEAR
drwxr-xr-x 2 root root 400 2006-10-20 14:07 build
drwxr-xr-x 3 root root 80 2006-10-23 16:36 data
lrwxrwxrwx 1 root root 20 2006-10-20 16:30 pear -> /usr/share/php5/PEAR
そこで、
>PEAR関係のRPMを落としてきて、手動で強制的に上書きインストール
をする前に、YaSTで削除するとどうなるのか試してみました。
結果は/usr/share/php5/PEARが消えました。
次はRPMを落としてきてインストールしてみます。
お世話になっております。
お陰様で無事にMaia mailguardが動くようになりました。
有り難う御座いました。
結局、どうせ入れ直すのならばと、
いろいろと試してみたところ、偶然ですが解決の糸口が見つかり、
無事に動かすことが出来ましたので、
この方法であっているのかどうか疑問がありますが、
どのようにしたかをこちらにカキコませて頂きます。
SuSE 10.1 64bit
1:YaSTにて「PEAR」で検索して「PEAR」以外「pear〜」を削除
2:ln -s /usr/share/php5/PEAR /usr/share/php5/pear
3:ln -s /usr/share/php5/ /usr/lib/php
4:lynx -source http://go-pear.org/ | php5 を実行して
1-6, 'all' or Enter to continue: 3[Enter]
PHP code directory ($php_dir) [$prefix/share/pear] : $prefix/share/php5/pear
と設定しました。
5:pear5 install 〜 で必要なものをインストール
6:/etc/php5/apache2/php.iniと/etc/php5/cli/php.iniの
include_pathを
include_path = ".:/usr/share/php5/pear:/usr/share/php5:/usr/share/php5/PEAR"
としました。
これで何故出来たのかよく判っていないのですが、
include_pathの「PEAR」を「pear」に変えると上手くいくってことあるのでしょうか?
何かのご参考になれば幸いです。
有り難う御座いました。