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

Apache2.0.xのhttpd.confを手動で作成する方法

      2014/11/22

Apacheのmsiファイルを手動で解凍を行った際に自動で作成されない
Apacheのhttpd.confとssl.conf等の初期設定ファイルを作成する方法をご紹介します。
同じメジャーバージョンのconfが手元にあればそれで足りるはずですが、
必ずしもインストールできる環境にない場合に備えてご紹介します。

はじめに

Apacheインストーラには同一メジャーバージョンを
複数インストールできないという制限があります。

テスト環境と検証環境といったサーバー上の動きを事前に確認するために、
ローカル上にもサーバーを建てたい場合もあるでしょう。

そんな時には、当然ながら同じバージョンで確認をしたい。当然のことだと思います。

そんな時に、同一バージョンのインストールを手動で行います。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法

しかし、この方法では初期設定が一切行われず、そのままではApacheは起動しません。

httpd.confを始めとした、初期設定を行う方法をご紹介します。
既に同じバージョンがインストールされているなら、そちらからコピーで問題ありませんが。

手で修正なんてしてられない!なんか手っ取り早くやる方法はないのか?
って場合は、以下の投稿でVBScriptをご紹介しています。
Apacheの初期設定をVBScriptを利用して1発で完了する方法

環境

作業

Aapche2.0.x系(2.0.65)

msiファイルを展開すると設定ファイルの元となるファイルが[/conf]に対して展開されています。

01_解凍したconfフォルダ

解凍したconfフォルダ

作業内容は、InstallConf.awkに書かれているのですが、
windowsで実行するにはツールが必要そうなので手で行ってしまいます。 以下の作業を行います。
作業後の状態(インストーラが生成した状態)は以下のようになります。

02_インストールしたconfフォルダ

インストールしたconfフォルダ

作業手順

conf/httpd.confの作成
  1. [/conf/httpd-win.conf]を[/conf/httpd.default.conf]でコピー
  2. httpd.default.confをインストール環境に合わせて修正
  3. [/conf/httpd.default.conf]を[/conf/httpd.conf]でコピー
  4. [/conf/httpd-win.conf]を削除
mime.typesの作成
  1. [/conf/mime.types.default]を[/conf/mime.types]でコピー
magicの作成
  1. [/conf/magic.default]を[/conf/magic]でコピー
conf/mime.defaultの作成
  1. [/conf/mime.types.default]を[/conf/mime.default]でコピー
  2. [/conf/mime.types.default]を削除
conf/ssl.default.confの作成
  1. [/conf/ssl-std.conf.in]を[/conf/ssl.default.conf]でコピー
  2. ssl.default.confをインストール環境に合わせて修正
  3. [/conf/ssl.default.conf]を[/conf/ssl.conf]でコピー
  4. [/conf/ssl-std.conf.in]の削除
awkファイルの削除
  1. [/conf/InstallConf.awk]を削除
logsフォルダの作成

logsフォルダが未作成の場合、サービスに登録する際にエラーになります。
この時点で作成してしまっておきます。

  1. [/logs]を作成

httpd.default.confをインストール環境に合わせる手順

httpd.default.confには、初期状態で以下のような置換用の文字列が埋め込まれています。

置換文字列 設定例
@@ServerRoot@@ C:/Apache2
@@Port@@ 80
@@ServerAdmin@@ admin@domain.local
@@ServerName@@ host.domain.local
@@DomainName@@ domain.local

この置換文字列をインストールする環境に合わせて置換を行っていきます。

置換作業は標準テキストエディタで行っても構いませんが、
私はサクラエディタを利用した置換マクロを利用しています。

マクロの内容は以下のようになっています。
サクラエディタのマクロ実行の手順は以下の投稿でご紹介しています。
sakuraエディタのマクロ生成の方法と保存

尚、S_ReplaceAll()関数のヘルプは以下を参照ください。
S_ReplaceAll(置換前文字列 , 置換後文字列 , 置換ダイアログの状態)
※置換する値(置換後文字列)は各自の環境に読み替えてください。
ap20_httpd.default.conf_rep_macro.mac

置換を実行したら保存して終了です。
httpd.default.confをコピーして、httpd.confにリネームします。

ssl.default.confをインストール環境に合わせる手順

ssl.default.confには、初期状態で以下のような置換用の文字列が埋め込まれています。

置換文字列 設定例
 file:@exp_runtimedir@/ssl_mutex default
@exp_runtimedir@ logs
@exp_htdocsdir@ C:/Apache2/htdocs
www.example.com domain.local
you@example.com admin@domain.local
@exp_logfiledir@ logs
@exp_sysconfdir@ conf
@exp_cgidir@ C:/Apache2/cgi

この置換文字列をインストールする環境に合わせて置換を行っていきます。

置換作業は標準テキストエディタで行っても構いませんが、
私はサクラエディタを利用した置換マクロを利用しています。

マクロの内容は以下のようになっています。
サクラエディタのマクロ実行の手順は以下の投稿でご紹介しています。
sakuraエディタのマクロ生成の方法と保存

尚、S_ReplaceAll()関数のヘルプは以下を参照ください。
S_ReplaceAll(置換前文字列 , 置換後文字列 , 置換ダイアログの状態)
※置換する値(置換後文字列)は各自の環境に読み替えてください。
ap20_ssl.default.conf_rep_macro.mac

サービスの登録と起動

すべての設定が完了したら、設定を終えたconfファイルにてサービスの登録を行います。
サービス登録の方法は以下の投稿でご紹介しています。
プログラムをwindowsのサービスとして追加する(Apacheの例)

また、この手動によるApacheインストールの概要については、
以下の投稿でご紹介しています。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法

参考

インストーラ(httpd-2.0.65-win32-x86-openssl-0.9.8y.msi)によって、
インストールした直後のconfファイルの状態は以下です。
httpd.conf ssl.conf

手修正が不安でしたら、これをひな形にしてもいいかもしれません。

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

普通にインストールすればいいじゃないか。
はい、そう思います。
でもね、既に構築されたApacheに影響なく、別の新しいことを試したい時もあるもので、
httpd.confの差し替えで試したって構わないわけですが、
やっぱり後から復旧すること考えたら、既存は触らないにこしたことはない。

だから、新しく違うApacheが欲しくなることもあるんです。
読んでくれた方は、きっと同じように感じてくれた人だと思っています。

でも結局のところは面倒くさいでしょ?
一応自動化処理書いてみましたのでもしよろしければどうぞ。
Apacheの初期設定をVBScriptを利用して1発で完了する方法


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, プログラミング

  関連記事

eye_php
PHP.iniに設定する設定値はhttpd.confや.htaccessに対しても設定が可能

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
(apache 2.2.25)ローカル環境(windows)へのApache設置

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
[コンピュータに MSVCR110.dllがない]とApacheMonitor.exeを起動して言われた場合

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache
LimitディレクティブでGET,POSTを制限する

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
PHPをmod_fcgidやmod_fastcgiでFastCGI実行する方法

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(相対ディレクトリ)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

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

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_windows
1つのPC(サーバー)で複数のIPでアクセス(Listen)を受ける

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
(mod_fastcgi on 2.0.x)windowsでCGIをFastCGIで実行するように設定する

Google or AdMax Promotion(it) 禁断の機能がau公式 …