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発で完了する方法
環境
- windows: windows 7 Ultimate(64bit)
- apache: Apache 2.0.65
httpd-2.0.65-win32-x86-no_ssl.msi
httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
作業
Aapche2.0.x系(2.0.65)
msiファイルを展開すると設定ファイルの元となるファイルが[/conf]に対して展開されています。
作業内容は、InstallConf.awkに書かれているのですが、
windowsで実行するにはツールが必要そうなので手で行ってしまいます。 以下の作業を行います。
作業後の状態(インストーラが生成した状態)は以下のようになります。
作業手順
conf/httpd.confの作成
- [/conf/httpd-win.conf]を[/conf/httpd.default.conf]でコピー
- httpd.default.confをインストール環境に合わせて修正
- [/conf/httpd.default.conf]を[/conf/httpd.conf]でコピー
- [/conf/httpd-win.conf]を削除
mime.typesの作成
- [/conf/mime.types.default]を[/conf/mime.types]でコピー
magicの作成
- [/conf/magic.default]を[/conf/magic]でコピー
conf/mime.defaultの作成
- [/conf/mime.types.default]を[/conf/mime.default]でコピー
- [/conf/mime.types.default]を削除
conf/ssl.default.confの作成
- [/conf/ssl-std.conf.in]を[/conf/ssl.default.conf]でコピー
- ssl.default.confをインストール環境に合わせて修正
- [/conf/ssl.default.conf]を[/conf/ssl.conf]でコピー
- [/conf/ssl-std.conf.in]の削除
awkファイルの削除
- [/conf/InstallConf.awk]を削除
logsフォルダの作成
logsフォルダが未作成の場合、サービスに登録する際にエラーになります。
この時点で作成してしまっておきます。
- [/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
1 2 3 4 5 6 7 8 9 10 11 |
//キーボードマクロのファイル S_ReplaceAll('@@ServerRoot@@', 'C:/Apache2', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@@Port@@', '80', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@@ServerAdmin@@', 'admin@domain.local', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@@ServerName@@', 'host.domain.local', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@@DomainName@@', 'domain.local', 24); // すべて置換 S_ReDraw(0); // 再描画 |
置換を実行したら保存して終了です。
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//キーボードマクロのファイル S_ReplaceAll(' file:@exp_runtimedir@/ssl_mutex', 'default', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@exp_runtimedir@', 'logs', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@exp_htdocsdir@', 'C:/Apache2/htdocs', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('www.example.com', 'domain.local', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('you@example.com', 'admin@domain.local', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@exp_logfiledir@', 'logs', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@exp_sysconfdir@', 'conf', 24); // すべて置換 S_ReDraw(0); // 再描画 S_ReplaceAll('@exp_cgidir@', 'C:/Apache2/cgi', 24); // すべて置換 S_ReDraw(0); // 再描画 |
サービスの登録と起動
すべての設定が完了したら、設定を終えたconfファイルにてサービスの登録を行います。
サービス登録の方法は以下の投稿でご紹介しています。
プログラムをwindowsのサービスとして追加する(Apacheの例)
また、この手動によるApacheインストールの概要については、
以下の投稿でご紹介しています。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法
参考
インストーラ(httpd-2.0.65-win32-x86-openssl-0.9.8y.msi)によって、
インストールした直後のconfファイルの状態は以下です。
httpd.conf ssl.conf
手修正が不安でしたら、これをひな形にしてもいいかもしれません。
さいごに
普通にインストールすればいいじゃないか。
はい、そう思います。
でもね、既に構築された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に承認されライセンスされています。
関連記事
-
(lounge Apache 2.4.6)ローカル環境(windows)へのApache設置
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHP.iniに設定する設定をhttpd.confや.htaccessに対して行うメリット
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(lounge mod_fcgid on 2.4.6)windowsでCGIをFastCGIで実行するように設定する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Apacheインストール直後にコマンド画面でエラーが表示された場合の対処法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
ローカル環境のPHPをCGI実行させる方法をwindowsで試す
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
ローカル環境へのApache設置
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHPを1行目の[#!php-cgi]を省いて(書かずに)CGI実行する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(mod_fastcgi on 2.0.x)windowsでCGIをFastCGIで実行するように設定する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(パスのスラッシュ)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
LimitディレクティブでGET,POSTを制限する
Google or AdMax Promotion(it) 禁断の機能がau公式 …