■CGIを使う設定■
Apacheの設定で,いちおうCGIは使えるようにしていますが,必ずcgi-binというディレクトリに入れる必要があります.かっちょ悪いです.
そこで,public_html以下のどのディレクトリでもCGIを使えるように変えます.
<Directory "X:/home/*/puplic_html">
Options +ExecCGI
</Directory>
このように,公開ディレクトリパス設定のオプションのExecCGIの頭に+をつけます.
これでpublic_html以下のディレクトリでCGIが動くようになります.
■perlのインストール
Active Perlを入れます.
インストール先はX:\local\Perl\となるようにします.
この説明は省略します.
■CGIスクリプト側の設定
フリー配布されているCGIスクリプトを使う場合,第1行のPerlのパスを変えてやる必要があります.
#!/usr/local/bin/perl
となっているところを
#!X:/local/perl/bin/perl
と書き換えます.この場合,Perl for win32が\local\perlにインストールされているという前提です.
掲示板スクリプトなどではsendmailで投稿がメール送信されるものがあります.
サーバ側にsendmail機能があれば問題ないのですが,sendmailを持つメールサーバは,なかなか設定がやっかいで,私はまだ成功していません.
そこで,sendmailのcgiスクリプトをサーバPCに入れて,パスを書き換えます.
$sendmail = '/usr/lib/sendmail';
となっているところを
$sendmail = 'X:/local/perl/bin/perl.exe X:/local/XXXX/sendmail.cgi';
とします.
こうすることで,サーバがサーバらしく動くようになります.
■httpd.confの再設定
デフォルトではCGIのハンドラーはコメントになっています.
コメントを外してあるか再チェックしましょう.
#AddHandler cgi-script .cgi
#があれば取り去ります.
■CGIが動かない場合
私の経験では,ほとんどが自分の記述ミスか,不適応CGIかです.
記述ミスはエラーログで見つけ出せますが,不適応CGIは不具合個所を見つけるのが困難です.
UNIX用のコマンドが原因みたいです.
しかし,私には直せません.....
フリー掲示板CGIの中には(dlighi.cgiもそうですが)
Windowsサーバでは返信時に文字数がある範囲を超えると,投稿エラーを起こすものがあります.
CGIはもともとUNIX上で使うことを前提としているでしょうから仕方がないのですが,使えるCGIを見つけ出すのに苦労するという短所があります.
■cgiでsendmailを使う(2003.06.07追記
上にも書きましたが,Windowsサーバの場合,cgiのsendmailはsendmai.cgiを使うのが簡単でお勧めできます.
実は,今までこのsendmail.cgiは以前のレンタルサーバのメールサーバを使う設定になったままでした.
本日ついにこのメールサーバが機能停止したらしく,朝からsendmailが使えない状態でした.
そこで,自宅サーバのメールサーバを使うように設定を変更しました.
# 設定

#◇SMTPサーバ
$smtp = "127.0.0.1";

#◇標準 FORM アドレス
$from = 'xxxxxxxx@kubo-office.com';

#◇ エラーログの作成(sendmail.log)
$logs = 1 ;

#◇ タイムアウト秒数 (デフォルト推奨)
$timeout = 20;

#◇ アラームファイル (デフォルト推奨)
$alarm =".alarmpid";


#======================================================================#
#◇POP before SMTPを使用する yes=1 no=0
$pop_before_smtp = 0;

#◇ POP3サーバアドレス
$pop3 = "127.0.0.1";

#◇POP3接続用 USER-ID/PASSWORD
$user = 'xxxxxxxx';
$pass = 'xxxxxxxxxxx';
SMTPとPOPサーバを両方とも自宅サーバのBlackJunboDogを使うようにします.
あとはBlackJunboDogで,sendmail用に新しいアカウントを作成し,そのアカウントから希望のメールアドレスに送信するようにします.
どのメールアドレスに送るかは掲示板のcgi側で設定です.
↑UP↑