• 締切済み

qmailからのスクリプト起動でのPostgreSQLへの接続と他のスクリプトの起動

こんにちは.はじめまして. qmailを起動し,メール到着時にmail.plというPerlスクリプトを起動しています. このmail.pl内で,PostgreSQLに接続し,データベースをいじりたいのですが, なぜかqmailで指定したスクリプトからはいじれません. 同じように,他のスクリプト(new.pl)をrequireを使用して呼び出しているのですが, 呼び出すことができません. new.plのパーティションは777に設定しました.(こんなに必要だとは思いませんが) qmail を利用すると,起動するスクリプトは誰が起動していることになるのでしょうか? 全てのスクリプトと.qmailはユーザーuser,の中にあります. PostgreSQLでは,ユーザーuserは作成してあり, mail.plの中で呼び出すDBの作成者はuser です. 初心者で何もわかっていないのですが, よろしくお願いします.

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

qmailは以前ちょっといじっただけなんですが、本を見ながらqmailをインストールした時は、 # mkdir /var/qmail # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias # useradd -g nofiles -d /var/qmail -s /bin/false qmaild # useradd -g nofiles -d /var/qmail -s /bin/false qmaill # useradd -g nofiles -d /var/qmail -s /bin/false qmailp # groupadd qmail # useradd -g qmail -d /var/qmail -s /bin/false qmailq # useradd -g qmail -d /var/qmail -s /bin/false qmailr # useradd -g qmail -d /var/qmail -s /bin/false qmails こんな風にして、qmailを稼働させるのに必要なユーザ・グループを登録しましたが。 Postgresのログファイルは確認しましたか?エラーメッセージが/var/log/messagesに出力されていると思いますが。 出力されていなかったら、postgres.confを修正して、ログをはく様にしてみてください。

ctuk
質問者

お礼

お礼のところですが,もう一度,捕捉させていただきます. 簡単なスクリプト(その中でDB接続 + 他のスクリプトを呼び出す) を作成し,実行しました. その結果,qmailを通さないで実行すると, うまくいくのですが, qmailを通し,実行すると, maillogに Can't_locate_test2.pl_in_@INC_(@INC_contains:_/usr/lib/perl5/5.6.1/i386-linux_/usr/lib/perl5/5.6.1_/usr/lib/perl5/site_perl/5.6.1/i386-linux_/usr/lib/perl5/site_perl/5.6.1_/usr/lib/perl5/site_perl_/usr/local/lib/site_perl/5.6.1/i386-linux_/usr/local/lib/site_perl/5.6.1_/usr/local/lib/site_perl_.)_at_/home/user/test.pl_line_13./ と書かれたエラー文がでました. (今までも同じようなエラーがでました) この,line13はrequire文で,test2.plを呼び出しています. どうしてqmailを通すとうまくいかないのでしょうか..

ctuk
質問者

補足

messageにログははいてました. しかし,mail.plから呼び出したはずの部分は まったくありませんでした. うまく呼び出せてないということなのでしょうか..? qmailに必要なユーザ,グループは登録してあります.