« Tex:enumerate.sty が凄い | トップページ | 東京凰籃学院の時間割 »

2013年8月26日 (月)

Linux:PostfixからメールをCGIに転送するとCan't locate cgi-lib.pl等のエラーが出る

Can't locate cgi-lib.plのエラー自体は単にcgi-lib.plが見つからねっぞ、という意味だが、cgi-lib.plが存在している場合でもエラーが出ることがある。

Web上では、cgi-lib.plのパスを変えたりするとエラーが消えたという報告が数多くあるが、それでも解決しないことがある。

それはメールをCGIに転送した場合。

この場合CGIを実行するのは別ユーザ(Postfix)となるので、cgi-lib.plのパスを / から始まるフルパスにしなければならない。

use lib '/home/icepotate/public_html';

reqwire 'cgi-lib.pl';

次に、ファイルの書き込みができない場合がある。これもパーミッションの問題。CGIの実行者が他のユーザだから、書き込み人も他のユーザ。

そこで、ファイルのパーミッションを標準の644でなく666にする。

あとは/etc/aliasesに

icepotato: "|/home/icepotate/public_html/maillog.cgi"

のように書き込み、newaliasesを実行すれば、届いたメールをperlスクリプトで処理してファイルに保存できる。

 

 

« Tex:enumerate.sty が凄い | トップページ | 東京凰籃学院の時間割 »

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

ブックマーク

無料ブログはココログ