• 締切済み

どkWEBサーバーとメールサーバーでformmai

お世話になります。 現在、固定IP環境下でメールサーバーのみを立ち上げて 社内・社外へのメールが出来るようにしてあります。 このたび、会社の方針で別にWEBサーバーを設置しWEBサイトを立ち上げる事になりました。 現在ルーターから25、110ポートについてメールサーバー宛に設定をしてありますので 新しいWEBサーバーあてに、80ポートを割り当てれば良いのだろうと思うのですが、 立ち上げるWEBサイトには、お問い合わせ用のFormMailのCGIを使用したページがあり CGIには、sendmailの場所を指定する必要があります。 通常、WEBサーバーとメールサーバーを一つのサーバーとして運用する場合には ルーターから25,110,80ポートをサーバーに割り当てていれば、sendmailの場所を指定するのは 一つのサーバーしかない場合には問題なく思うのですが、 WEBサーバーとメールサーバーが別の場合には、formmailのCGIで使用するsendmailの 指定はどうすればよいのでしょうか? 素人の私からすると、sendmailはメールに関わるものだから、ポートをWEBサーバーに割り当て なければならない・・・でも、別にメールサーバーがあり、25,110ポートは既に割り当てられている。 ここが理解できないのです・・・ sendmailは、80ポートを使用するのでしょうか? できましたら、詳しく設定の手法などを教えて頂ければ幸いです。 サーバー構築の本を読んでも、私の疑問と設定方法が書かれていないようで 困っています。 何卒よろしくおねがいいたします。

みんなの回答

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.4

>と設定してやれば、[Mail Server 192.168.24.31 ]のメーラーを呼び出して?経由して? >メール送信してくれるということだということですね。 1.CGIはローカル[192.168.24.32]のsendmail(Client)を呼び出し制御を渡します。 2.sendmailは、CGIから送信命令を受け取り、指定されたメールサーバ[192.168.24.31]へメールを送信します。   ※このsenndmailには、メールサーバ[192.168.24.31]の設定が必要になります。 >私は、[Mail Server 192.168.24.31 ]のsendmailの場所を指定してやらなければCGIが動作 >しないのかなと思っておりました。 このサーバでsendmail(SMTPD)をお使いなのですか? 同じ名前でも、前者は送信用のメーラ(Client)に対し、後者はメールサーバで別ものです。 上記、通常のメール送信に例えると 1.Aさんは、OUTLOOKを呼び出し(起動)てメールを送信します。 2.OUTLOOKは、入力された(未送信の)メールを指定されたメールサーバへ送信します。   ※OUTLOOKでメールを送信する為には、送信メールサーバ(SMTP)の設定が必要になります。

Hina-chan
質問者

お礼

お忙しいところ、ご親切にありがとうございます。 どうやら、まだ理解していないということのようだと思いました。 1.CGIはローカル[192.168.24.32]のWebサーバ内にあるsendmail(Client)を呼び出し制御を渡す 2.ローカル[192.168.24.32]のWebサーバ内にあるsendmail(Client)は、CGIから送信命令を受け取り、指定されたメールサーバ[192.168.24.31]へメールを送信する 3.メールサーバ[192.168.24.31]には、ローカル[192.168.24.32]のWebサーバ内にあるsendmail(Client)から送信できる設定(smtp接続(リレー)許可設定)で、ローカル[192.168.24.32]からのメール送信を許可する設定が必要 といった内容でよろしいでしょうか? つまりは、 ローカル[192.168.24.32]のWebサーバ内にあるsendmail(Client)には、送信先をメールサーバ[192.168.24.31]へ送るという設定が必要であり、メールサーバ[192.168.24.31]には、ローカル[192.168.24.32]のWebサーバ内にあるsendmail(Client)から送信できる設定(smtp接続(リレー)許可設定)で、ローカル[192.168.24.32]からのメール送信を許可する設定が必要だということなのかなと理解しました・・・ >このサーバでsendmail(SMTPD)をお使いなのですか? 使用しているOSは、 メールサーバーは、Turbolinux Appliance Server 3.0 [ http://www.turbolinux.com/products/server/tlas3/package.html ]で、パッケージのまま使用していて、パッケージ説明には、電子メールサーバー:postfix-2.4.5, imap-2006j2との記載があります。 Webサーバーは、SentOS6.2で、メールサーバーは動作(起動)させていません。Postfix はインストール済みのようです。(というかOSをインストールしたときに入っていたそうです) ここで、本当に申し訳ありませんが、上記の私の理解が正しいとしたら、今度は設定の作業をしないと ならないと思うのですが、「どこを」「どのように」書き換えれば宜しいのでしょうか? 教えて頂いた内容を、コピー&ペーストする事が可能ならば、作業を完結したいと思っています。 完全に頼りきって申し訳ありませんが、詳しい方に頼るしか道はなく、何卒ご指導をお願い申し上げます。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.3

WEBサーバと言えどパソコンです。 WEBサーバに対し、誰かがFORMに入力すると、WEBサーバ上でCGIが動きます。 このCGIがメールを送信しようとする場合、WEBサーバ内にメーラ(SendMail)を呼び出し メールを送信します。 なので、CGIの設定はSendMailをインストールしたWEBサーバ自身のローカルディクスの ディレクトリ(フォルダー)を設定します。 もっと簡単に説明します。 あなたが、メールを送る時に、自分のパソコンしか触ってないのに、 隣に置いてあるパソコンのアウトルックからメールが送れますか? 自分のパソコンのソフトしか起動できないですよね。 CGIはメールを送信してくれるメーラ(ここではSendMail)を呼び出して、 そのメーラがメールサーバに送信してくれます。

Hina-chan
質問者

お礼

とても御丁寧にありがとうございます。 よくわかりましたm(__)m つまりは、                             NAT port25,110 [Router 192.168.24.1 ]--+--------------[Mail Server 192.168.24.31 ]                   |                   |           NAT port80                  +--------------[WEB Server 192.168.24.32 ] で、 [WEB Server 192.168.24.32 ]の中にあるWEBサイトのデータ内のフォームメールCGI で、 perl   /usr/bin/perl sendmail /usr/sbin/sendmail と設定してやれば、[Mail Server 192.168.24.31 ]のメーラーを呼び出して?経由して? メール送信してくれるということだということですね。 私は、[Mail Server 192.168.24.31 ]のsendmailの場所を指定してやらなければCGIが動作 しないのかなと思っておりました。 CGIでローカル内の他のサーバーのローカルアドレスとsendmailの場所を指定することなど したこともなく、とても素人の私には不可能と思っておりましたので大変助かりました。 ありがとうございました m(__)m

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.2

>勝手につなぎに行くのですね 勝手に繋ぎに行きません。 >ということは、WEBサーバーにあるサイトデータでのformmailのCGIでの設定で >はWEBサーバー側にあるSendmailを指定してやれば良いという事だと解釈すれば >よいのでしょうか? そのformmailがどういう仕組みか解りませんが、 「入力内容がCGIに渡り、CGIがsendmailを利用してメールを送信する」と解釈すると、 CGIが自分で呼び出す為には、WEBサーバ内にsendmailが必要ですね。 このsendmailはメールサーバでは無く、メールサーバへメール送信するプログラムです。 ※OutLookとかThunderBirdのメール送信機能みたいなものです。 sendmailの設定で、メールサーバを指定できますので、 御社のメールサーバのローカルアドレスを指定してあげればOKです。

Hina-chan
質問者

お礼

ご丁寧にありがとうございます。 まだまだsendmailがよく理解できていないのだとハッキリわかりました No.1にて教えていただいたように                             NAT port25,110 [Router 192.168.24.1 ]--+--------------[Mail Server 192.168.24.31 ]                   |                   |           NAT port80                  +--------------[WEB Server 192.168.24.32 ] で、設定してあり [WEB Server 192.168.24.32 ] は、cgi_bin などのCGI設置場所にとらわれず CGIが動作できる状態です。(まだ納入されていませんが、そうらしいです) この[WEB Server 192.168.24.32 ]にて公開するWEBサイトで設置するCGIは、 CGI DE アミーゴのAmigoFormMailですが、 このCGIの設置説明では、 ◎設置手順1 ------------------------------------------------------------ formmail.cgiをテキストエディタで開き 1行目にあるPerlのパスを使用サーバーに合わせて変更します。 ※ほぼ #!/usr/bin/perl か #!/usr/local/bin/perl ですが 分からない場合は、ご利用サーバーの管理者へお問い合わせ下さい。 ------ 中略 ----- ■sendmailのパス メール送信で使用するsendmailのパスを設定します。 ご利用サーバによりパスは異なりますので 分からない場合は、ご利用サーバーの管理者へお問い合わせ下さい。 ------ 以上 ------ といった内容でした。 [Mail Server 192.168.24.31 ] と [WEB Server 192.168.24.32 ] のコマンドパスを調べたところ、sendmail は両方のサーバーに存在し、 perl   /usr/bin/perl sendmail /usr/sbin/sendmail という事でした。 [WEB Server 192.168.24.32 ]に設置するフォームメールCGI設定では perl   /usr/bin/perl は何となくこのままで大丈夫だと思っていますが、 sendmail /usr/sbin/sendmail は、このままではダメで教えて頂いた メールサーバのローカルアドレスを指定するのだという事だから [ 192.168.24.31 ]を指定するという事でよいのですよね・・・・・?  このsendmailの指定はどうすれば良いのでしょうか? どうも、この指定の仕方と、動作が心配です・・・・・ この心配を解消したいので、何とか御指導を御願いいたします。 素人相手で、お手数をお掛けしますが、何卒宜しくおねがいいたします。 m(__)m

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

      NAT port25,110 [Router]--+--------------[Mail Server]      |      | NAT port80      +--------------[WEB Server] こういう構成ですよね? 図のように、Routerから新たなWEB ServerにPort80をフォワードしてやればOKです。 で、SendMailですが、WEB ServerからMail Serverへ通常のPort25で接続に行きます。 ルータ内部での転送になりますので、特に何も設定しなくても問題なく送信できます。

Hina-chan
質問者

お礼

ご回答ありがとうございます。 勝手につなぎに行くのですね ということは、WEBサーバーにあるサイトデータでのformmailのCGIでの設定で はWEBサーバー側にあるSendmailを指定してやれば良いという事だと解釈すれば よいのでしょうか? ほんと素人で申し訳ありませんが教えてください。