頑張らない!でも諦めない!必死にならずにええかげん

1つのPC(サーバー)で複数のApacheをインストールして利用する方法

      2014/11/22

複数のApacheを1つのPC(windows)やサーバーにインストールし、
複数のバージョンで動作確認などに利用したり、
今の環境を残したままで新しい環境を利用したいことはないでしょうか。
そんな時に複数のバージョンをインストールしアクセスする方法をご紹介します。

はじめに

ローカルのPC上でApacheをインストールして、
テスト環境や新しい環境の確認作業をしたい場合はありませんか。
ただApacheをローカル環境にインストールするだけであれば、以下の投稿でご紹介しています。
ローカル環境へのApache設置

ローカル環境でテスト環境や新しい環境などを複数設置して動作の違いを確認したい。
そんな時に1つのPC上にApacheをインストールして利用するのですが、
複数のApacheに対してどのようにブラウザからアクセスすればいいでしょうか。
そんな方法をご紹介します。

環境

  • windows: windows 7 Ultimate (64bit)
  • Apache: httpd-2.2.25-win32-x86-openssl-0.9.8

インストール前の準備

まず最初にお使いのPCのNIC(ネットワークカード・LANポート)に対して、
複数のIPアドレスを割り当てておきます。

以下の投稿を参考に、NICに対して複数のIPアドレスを割り当てておいてください。
1つのPC(サーバー)に複数のIPアドレスを割り当てる方法

ローカルPCにブラウザからアクセスする方法として、
よく利用されているのが[localhost]ではないでしょうか。

こうしたループバックによるアクセス方法では、
複数のIPアドレスによるアクセスができませんので、
お使いのPCにはIPアドレスを直接指定してアクセスするようになります。
ドメインを利用している場合には、ドメイン指定することができます。
1つのPC(サーバー)で複数のIPにアクセスをする

2個目のApacheのインストール

Apacheをローカル環境に対してインストールを行う方法は、
以下の投稿を参考にして頂けると助かります。
ローカル環境へのApache設置

1つ目のApacheインストールでは特に問題はないはずです。
次に複数のApacheをインストールする際には、
エラーが表示されてしまいインストールが行えません。
Apacheのメジャーバージョン(2.0.xxxや2.2.xxx)が同一の場合は、
同一PCに複数インストールすることはインストーラからはできません。

別のバージョンの製品が既にインストールされています。このバージョンのインストールを続行できません。既にインストールされているバージョン製品を構成、または削除するにはコントロールパネルの[プログラムの追加と削除]アイコンを使用します。

01_Apache追加インストールエラー

Apache追加インストールエラー

その為、ダウンロードしたmsiインストーラを利用して、
コマンドラインからインストールを行う必要があります。

ダウンロードしたmsiインストーラファイル(httpd-2.2.25-win32-x86-openssl-0.9.8y.msi)を
適宜[C:\]などに保存し、以下のようにコマンドを入力します。
以下の例では、[C:\httpd-2.2.25-win32-x86-openssl-0.9.8y.msi]ファイルを、
[C:\Apache225]に対して解凍、インストールしています。

02_インストーラのコマンドライン実行

インストーラのコマンドライン実行

Enterを押し、実行が開始されると通常のインストールプログレスが表示されます。

03_インストールプログレス表示

インストールプログレス表示

インストールが完了すると、指定したフォルダに以下のようなファイルが展開されます。

04_インストール先の状態

インストール先の状態

C:\Apache225\program files\Apache Software Foundation\Apache2.2のように、
program files内に通常のApacheフォルダが展開されていますので、
Apacheを動作させるフォルダに対してコピーしておきます。
※以下はC:\Apache2にプログラムをコピーしています。

05_Apacheディレクトリへコピーし配置

Apacheディレクトリへコピーし配置

ここでコピーしたApacheではインストール時に作成されるhttpd.confは生成されません。
その為、通常インストールしたhttpd.confファイルをコピーして配置する必要があります。

06_httpd.confは作成されない

httpd.confは作成されない

インストール時点のconfファイルが入手できない場合には、
どこかで新しくインストールするなり、既にインストールしているものから、
不要な情報を取り除いて利用することもできますが、
参考までに初期状態のhttpd.confをアップしておきます。
c:\Apacheに対してインストールしたものです。対象を保存でもしてください。

msiから解凍したconfディレクトリからのhttpd.confに関して、
Apache 2.0.xxx系(本投稿は2.2.xxx)であれば、以下でご紹介しています。
※まだ、2.2.xxx系には対応できていません。
Apache2.0.xのhttpd.confを手動で作成する方法
Apache2.0.xの初期設定をVBScriptを利用して1発で完了する方法

2個目のApacheの設定

2個目のApacheに対する設定は、以下の設定を行う必要があります。
AapcheはC:\Apache2にインストールしたものとして変更しています。

ServerRootの指定

ServerRootの設定を変更します。

ListenポートとIPアドレスの設定

今回は1つのPCで複数のApacheをインストールすることから、
IPアドレスによって、アクセス先のApacheを切り替えます。

httpd.confの以下の行を、アクセス先にするIPアドレスに変更します。
尚、既にインストールされているApacheのhttpd.confも、
異なるIPアドレスに設定をしておきます。

既にインストールされているApacheに対しても、同様に異なるIPに変更します。

DocumentRootの指定

DocumentRootに関する設定も変更します。

ディレクトリアクセス権の設定

DocumentRootに関するアクセス権の設定を行います。

以上で、最低限の設定は完了です。

Apacheをサービスとして登録します。

Apacheサービスの追加

現在インストール済みのApacheがサービスに1つ存在しています。
この状態に、追加のApacheをサービスとして追加します。

07_既存のApacheサービス

既存のApacheサービス

コマンドプロンプトからのサービス追加

コマンドプロンプトを開き、追加でインストールしたApacheディレクトリへ移動し、
以下のコマンドを入力します。
※Apache 2.2.25の部分は追加するサービスのサービス名になります。

C:\Users\XXXXX>cd C:\Apache2

C:\Apache2>bin\httpd.exe -k install -n “Apache 2.2.25”
Installing the Apache 2.2.25 service
The Apache 2.2.25 service is successfully installed.
Testing httpd.conf….
Errors reported here must be corrected before the service can be started.
Syntax error on line 488 of C:/Apache2/conf/httpd.conf:
ScriptAlias takes two arguments, a fakename and a realname

この時点で設定に誤りがあれば上のようにエラーが表示されます。
httpd.confの488行目にエラーがあると指摘しています。

ここでは以下の行にエラーがありました。
PHPのインストール時に初期設定されたPHPディレクトリが未設定になっています。

変更前

変更後

起動すると他にもエラーが表示されると思います。
エラー内容を確認するために、
Apacheのフォルダ内に[C:\Apache2\logs]フォルダを作成しerror.logファイルを作成します。
※ログファイル名等は、httpd.confで変更可能

起動時にエラーが発生した場合、以後エラーがログファイルに出力されますので、
都度、出力されたエラーを改善します。

その他エラー(mime.typesファイルが存在しない)

このエラーでは「mime.types」をhttpd.conf内で検索すると、以下のように記述されています。
confフォルダ内にmime.typeファイルが必要ということなので、
既存のApacheからmime.typesをコピーしてきます。

その他にも、環境によってはエラーが発生するかもしれませんが、
こうした手順を繰り返して、エラーを解消してください。

サービスの確認

Apacheの設定ファイルに対してエラーがあったとしても、
windowsサービスとしては既に追加されています。

08_追加したApacheサービス

追加したApacheサービス

Apacheサービスモニタにも同時に追加されています。

09_Apache Service Monitorへの追加

Apache Service Monitorへの追加

サービスの追加を誤った場合

私もこうした手順で作業をしていて、
何らかのエラーが出てしまった時にあれ?あれ?となるわけですが、
そんな時、うまくいった時に限って、設定が違う状態で登録されてしまうんですよね。

サービスを誤って登録してしまった時には、以下の投稿を参考に削除できます。
windowsのサービスを削除する

Apacheの起動

httpd.confの設定エラーを修正したら、ApacheモニタからApacheを起動します。
正常に起動すれば設定は完了です。

10_追加したApacheの起動

追加したApacheの起動

ブラウザからのアクセス

設定がすべて完了して、Apacheが正常に起動の確認ができたら、
設定したIPアドレスを入力してアクセスします。

11_ブラウザからの表示

ブラウザからの表示

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

1PCのwindows内に複数のApacheをインストールする方法は以上です。

この手順を繰り返せば、複数のバージョンで様々な動作を確認することができます。

通常は複数のバージョンでApacheを複数といった用途より、
複数のURL(ドメイン)で複数サイトを管理するといった用途の方が多いでしょう。
そうした場合はバーチャルホストで切り分けたほうが便利でしょうね。
2. Apacheの仮想ホスト設定(複数サイトをローカル上で開発・管理)(作成中)

参考

Multiple Apache HTTPD versions in Windows – splike.com
Windowsに複数バージョンのApacheをインストールする – Qiita [キータ]

Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。

AdMax Promotion

ブログ記事のご紹介
すべて展開 | すべて省略

Rakuten Promotion

ページ
すべて展開 | すべて省略

 - Apache, windows , ,

  関連記事