IBM HTTP Server は単一インストール環境(1つの実行形式ファイル)でも、複数のWebサーバーインスタンスを実行できます。例えば、開発Webサーバーインスタンス、運用Webサーバーインスタンスのようにポート番号違いで複数のサービスを登録/実行することが可能です。Tipsでは、Windows環境のIBM HTTP Server(IHS)で複数のWebサーバーインスタンスを構築する方法を紹介します。
前提
インストール環境について
IBM HTTP Server(IHS)が既にインストールされていることを前提としています。
- Windows64bit環境
- デフォルトのパス「C:\Program Files (x86)\IBM\HTTPServer\」にインストール済
- ポート番号 80
新規インスタンス作成について
作成する新規インスタンスは、既存のWebサーバーの実行形式ファイルを利用して作成します。
Webサーバーの構成ファイルを複製して、ログ出力先等、パスの情報を変更することで、新規インスタンスを定義します。
Tipsでは、開発用のWebサーバーインスタンス(ポート番号:10000)を作成する手順で説明します。
新規インスタンス作成手順
新規インスタンス用 フォルダの作成
新規インスタンス用のフォルダを作成します。
Tipsでは、「C:\Program Files (x86)\IBM\HTTPServer\」に新規Webサーバーインスタンスに必要なフォルダを追加します。
- ログ用フォルダ「C:\Program Files (x86)\IBM\HTTPServer\logs_dev」
- Webディレクトリ用フォルダ「C:\Program Files (x86)\IBM\HTTPServer\htdocs_dev」
- 設定ファイル用フォルダ「C:\Program Files (x86)\IBM\HTTPServer\conf_dev」
設定ファイル(httpd.conf等)のコピー
既存のWebサーバー設定ファイルをコピーします。
- 「C:\Program Files (x86)\IBM\HTTPServer\conf\httpd.conf」
- 「C:\Program Files (x86)\IBM\HTTPServer\conf\magic」
- 「C:\Program Files (x86)\IBM\HTTPServer\conf\magic.default」
- 「C:\Program Files (x86)\IBM\HTTPServer\conf\mime.types」
- 「C:\Program Files (x86)\IBM\HTTPServer\conf\mime.types.default」
を「C:\Program Files (x86)\IBM\HTTPServer\conf_dev\」にコピーします。
コピーした設定ファイル(httpd.conf)のリネーム
「C:\Program Files (x86)\IBM\HTTPServer\conf_dev\」にコピーした「httpd.conf」を「httpd_dev.conf」にリネームします。
「httpd.conf」→ 「httpd_dev.conf」
IBM HTTP Server 設定ファイルの設定変更
次に、コピーした「httpd_dev.conf」をテキストエディタ等で開き編集します。
変更の必要がある項目は以下です。
PidFile設定
pidファイルは起動時にApacheのプロセスIDを保存するファイルです。
既存のpidファイルと別にする必要があるため変更します。
【変更前】PidFile logs/httpd.pid
【変更後】PidFile logs_dev/httpd_dev.pid
待ち受けポート設定
待ち受けポート番号を変更します。既存の設定は80番ポートで待ち受けしています。
新規Webインスタンスは10000番ポートで待ち受けをします。
【変更前】Listen 0.0.0.0:80
【変更後】Listen 0.0.0.0:10000
サーバー名設定
サーバー名設定を変更します。IPアドレスが記載されているため待ち受けポートと同じ10000に変更してください。
【変更前】ServerName [サーバーホスト名]:80
【変更後】ServerName [サーバーホスト名]:10000
DocumentRoot設定
Webサーバーのドキュメントルートを設定します。
【変更前】DocumentRoot "C:/Program Files (x86)/IBM/HTTPServer/htdocs/"
【変更後】DocumentRoot "C:/Program Files (x86)/IBM/HTTPServer/htdocs_dev/"
ドキュメントルート変更に合わせて、<Directory>ディレクティブを変更してください。
【変更前】<Directory "C:/Program Files (x86)/IBM/HTTPServer/htdocs">
【変更後】<Directory "C:/Program Files (x86)/IBM/HTTPServer/htdocs_dev">
Mime設定
個別のMimeType設定を行うために、mime.typesファイルへのパスを変更します。
【変更前】TypesConfig conf/mime.types
【変更後】TypesConfig conf_dev/mime.types
拡張モジュールの定義も変更します。
【変更前】
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
【変更後】
<IfModule mod_mime_magic.c>
MIMEMagicFile conf_dev/magic
</IfModule>
ログ出力先設定
エラーログの出力先を変更します。
【変更前】ErrorLog logs/error.log
【変更後】ErrorLog logs_dev/error.log
アクセスログの出力先を変更します。
【変更前】CustomLog logs/access.log common
【変更後】CustomLog logs_dev/access.log common
デフォルトの設定では変更する箇所は以上になります。
ログの出力をカスタマイズしている場合や、その他ログ出力を定義している場合には、パスを変更してください。
Windowsサービス設定
サービスへの登録方法
「httpd_dev.conf」ファイルの編集完了後、「httpd_dev.conf」ファイルを元にサービス登録します。
Windowsのサービスに登録するには、httpdコマンドを使用します。
コマンドプロンプトを管理者権限で起動後、cdコマンドでカレントディレクトリを「”Apacheのインストールパス”\bin」に変更してください。
パスに半角スペースを含む場合には、cdコマンドのパスをダブルコーテーションで括る必要があることに注意ください。
cd "C:\Program Files (x86)\IBM\HTTPServer\bin"
カレントディレクトリ変更後、httpdコマンドを実行します。
以下のコマンドでは、「C:/Program Files (x86)/IBM/HTTPServer/conf_dev/httpd_dev.conf」の設定ファイルを元に、「IBM HTTP Server V8.5_DEV」という名前でサービスに登録できます。
httpd -n "IBM HTTP Server V8.5_DEV" -k install -f "C:/Program Files (x86)/IBM/HTTPServer/conf_dev/httpd_dev.conf"
httpd_dev.conf設定ファイルに問題がなければ、サービスからWebサーバーが起動できます。
設定ファイルの確認方法
Webサーバーインスタンスが起動できない場合、編集した設定ファイルに誤りがある可能性が考えられます。設定ファイルの構文をチェックするにはhttpdコマンドの 「-t」 オプションを使用します。
httpd -t -f "C:/Program Files (x86)/IBM/HTTPServer/conf_dev/httpd_dev.conf"
設定ファイルに問題がない場合は、「Syntax OK」が表示されます。
問題がある場合には、原因と行目を表示してくれます。
Webサーバーが起動できない場合には「httpd -t」で設定ファイルの確認をしてください。
サービスからの削除方法
登録したサービスを削除したい場合があると思います。
削除は、登録と同じくカレントディレクトリを「Apacheのインストールパス\bin」へ変更後、httpdコマンドの 「-n」 オプションを使用します。
cd "C:\Program Files (x86)\IBM\HTTPServer\bin"
「IBM HTTP Server V8.5_DEV」という名前のサービスを削除するには以下のコマンドになります。
httpd -n "IBM HTTP Server V8.5_DEV" -k uninstall
おわりに
Tipsでは、単一インストール環境(1つの実行形式ファイル)から、複数のWebサーバーインスタンスの作成方法をご紹介しました。次回Tipsでは、以前のTipsで作成したWebSphere Application Serverのプロファイルと、本Tips記事で作成した開発用の新規Webサーバーインスタンスを「WebSphere Customization Toolbox」に含まれる、「Web サーバー・プラグイン構成ツール」で連携する手順をご紹介します。