ArGoSoft Mail Server Freeware Ver1.8.2.1r2

Windows版のApacheをインストールするには、Apacheのサイトからインストーラをダウンロードして実行すれば簡単にインストールすることができる。基本的な設定はUnix版とそれほど変わりないが、NT系なら起動や停止はサービスから行うこともできる。当然Windows版はUnix版と比べてセキュリティが弱く、実際に外部に公開するのはお勧めできないが、Windowsマシンに手軽にインストールできるのでUnixでの運用に慣れていなければこちらで練習してみるとよい。
 ApacheにSSLモジュールを組み込むには、mod_sslの入ったApacheアーカイブを利用する。今回はこちらの方法の一例を紹介するが、SSLつきApacheはEAPI対応なため、モジュールを追加インストールする場合はモジュール自身もEAPI対応のものでなければ正常に動作しない可能性があるので、SSLを組み込むときはこの点も注意する。

ActiveSTATE
DefaultPort : 80(HTTP) / 443(HTTPS)

1)「Apache-1.3.24-Mod_SSL_2.8.8-OpenSSL0.9.6c-WIN32.zip」を解凍する。以後、「C:\」に解凍したものとして説明。「C:\Apache」ができていることを確認する。

2)プログラムメニューの「ArGoSoft Mail Server」→「ArGoSoft Mail Server」を実行。最初にエラーダイアログが表示されるので、OKボタンを押す。タスクトレイに「ArGoSoft Mail Server Freeware」というアイコンができるので、右クリックして「Options」を選択。

3)コマンドプロンプトから、キーを作成したい場所(この例では「C:\Apache\conf」以下)に移動し、OpenSSLコマンドでキーペアを生成する。自動起動のためキーはパスフレーズをはずした状態で運用する。

C> cd \apache\conf
C> ..\openssl\bin\openssl
OpenSSL> genrsa -des3 -rand httpd.default.conf -out server.key 1024
(適当なパスワードを2回入力)
OpenSSL> rsa -in server.key -out server.key (上で設定したパスワードを入力

4)証明書要求を作成する。生成されたcsrファイルはVerisignへ送り、CAから証明書が送られてきたら同じ場所にコピーしておく。テスト用にSSLサーバを立ち上げるなら自己署名したものを使う。

OpenSSL> req -config ..\openssl\bin\openssl.cnf-new-days 365 \
-key server.key -out server.csr
(この後国別コード、県名、都市名、組織名、部門名、サーバ名、メールアドレスを入力)
OpenSSL> req -config ..\openssl\bin\openssl.cnf -x509 -days 365 \
-key server.key -in server.csr -out server.crt
(自己署名証明書を生成)
OpenSSL> exit

5)Apacheの設定ファイルを書き換える。アーカイブの中に入っていたhttpd.confはデフォルトの設定なので、これを利用する場合は、ディレクトリの「/Apache」となっている部分をすべてApacheのインストールディレクトリ(「C:/Apache」)に変更する。またServerAdminやServerNameディレクティブも正しいものに変更する。
SSLを利用するために以下の設定も追加する。UnixのApacheとmod_sslを組み込んだ状態のhttpd.confがあれば、それを参考にして同じように記述すればよい。

LoadModule ssl_module modules/mod_ssl.so
AddModule mod_ssl.c
<IfModule mod_ssl.c>
Listen 80
Listen 443
</IfModule>
<IfModule mod_ssl.c>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache dbm:C:/APACHE/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog C:/APACHE/logs/ssl_engine_log
SSLLogLevel info <VirtualHost _default_:443>
DocumentRoot "C:/APACHE/htdocs"
ServerName localhost.localdomain
ServerAdmin postmaster@localhost.localdomain
ErrorLog C:/APACHE/logs/error_log
TransferLog C:/APACHE/logs/access_log SSLEngine on
SSLCertificateFile C:/APACHE/conf/server.crt
SSLCertificateKeyFile C:/APACHE/conf/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "C:/APACHE/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog C:/APACHE/logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
</IfModule>

※SSLを無効化するには、LoadModuleとAddModuleをコメント化するか、この2つをUnixのように<IfDefine SSL></IfDefine>で囲んでもよい。今回はサービスによって必ずSSLを起動させるのでIfDefineを使用していないが、コマンドから起動させる場合はこれを使ってもよい。

6)コマンドラインからApacheを起動して、ブラウザから「http://localhost/」および「https://localhost/」に正常にアクセスできるかテストする。(5)の設定によってはオプションに「-D SSL」と加える必要がある。起動中はプロンプトからキー入力ができないので、Apacheを停止するときはDOS窓をもう1つ立ち上げ、引数にstopまたはshutdownをつける。

C> cd ..
C> apache -k start
C> apache -k stop

7)正常に起動したら、ApacheをNTサービスに登録する。登録後はサービスから起動・停止が行える。コマンドプロンプトからnetコマンドを利用してもよい。

C> apache -i
C> net start apache

ActivePerlをインストールすることで、Windows上でPerl-CGIを扱うことができるようになる。基本的なインストールは、アーカイブを解凍して追加モジュールをインストールするだけでOKだが、ApacheでCGIを使うためにはhttpd.confを編集する必要がある。

1)Apacheが起動していれば停止させる。

C> c:\apache\apache -k shutdown

2)「ActivePerl-5.6.1.631-MSWin32-x86.zip」を解凍、その後installer.batを実行する。インストール先は「C:\PERL」とし、画面の指示に従ってインストールを完了する。

3)コマンドプロンプトから、ppm.exeを実行する。以下のコマンドを実行してモジュールをインストールする。

C> c:\perl\bin\ppm
PPM> install DBI
PPM> install DBD-Mysql
PPM> exit

4)httpd.confでCGIを利用可能にする。以下の例では「D:\APACHE\users\cgi-bin」ディレクトリ以下にcgiファイルを置いたとき、そのファイルをCGIスクリプトとみなし、また「D:\APACHE/cgi-bin」ディレクトリ以下のファイルはすべてcgiスクリプトとみなす設定である。必要に応じて変更する。

<Directory "C:/APACHE/users/*/cgi-bin">
Options ExecCGI
</Directory>
DirectoryIndexes index.cgi index.pl
ScriptAlias /cgi-bin/ "C:/APACHE/cgi-bin/"
AddHandler cgi-script .cgi .pl
#!C:/PERL/bin/perl.exe

5)Apacheを起動し、CGIが正常に実行できることを確認する。

C> c:\apache\apache -k start

外部ホストへメールを送信した際のログを記録する。チェックON。

TOP OF PAGE