操作説明:apache2.0.x_ini.vbs(ver.0.1.01b)
Apache2.0.xxx系のApacheのmsiファイルをコマンドにて解凍し、
解凍されたApacheフォルダの[/conf]フォルダ内の
httpd.confファイルなどの設定ファイルを
Apacheが起動するように初期設定を行う為のスクリプトです。
スクリプトダウンロード
動作確認済環境
- windows: windows 7 Ultimate(64bit)
- Apache: 2.0.65
例)httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
概要
apache2.0.x_ini.vbsファイルを
Apacheを配置するフォルダなどインストールにコピーを行います。
次に、apache2.0.x_ini.vbsファイルをテキストエディタで開き、
環境に合わせて編集を行ったら、実行することでファイルの生成と置換を行います。
変数名 | VBS初期値 | 備考 |
---|---|---|
strServerRoot | “C:/Apache” | Apacheを配置したフォルダ |
strPort | “80” | 利用するポート |
strAdmin | “admin@domain.local” | サーバー管理者メールアドレス |
strServerName | “host.domain.local” | 利用するホスト名 |
strDomainName | “domain.local” | 利用するポート環境のドメイン名 |
ソース抜粋
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
'Apache2.0.x系の[/conf]内のoriginalファイルから初期設定データへ変更する。 '初期設定ではディレクトリは以下の構成になります。 '個別に変更する場合には、初期設定後にファイルを編集してください。 'DocumentRoot : @@ServerRoot@@/htdocs '/icons/: @@ServerRoot@@/icons '/cgi-bin: @@ServerRoot@@/cgi-bin 'Help: http://algorhythnn.jp/blg/development/man-apache20x_ini_vbs-ver01b/ 'create:2013/11/03(ver.0.1.00b) Algorhythnn - pubulish 'update:2013/11/10(ver.0.1.01b) Algorhythnn - create logs folder Option Explicit '変数を宣言 Dim strServerRoot '@@ServerRoot@@ → strServerRoot Dim strPort '@@Port@@ → 80 Dim strAdmin '@@ServerAdmin@@ → admin@domain.local Dim strServerName '@@ServerName@@ → host.domain.local Dim strDomainName '@@DomainName@@ → domain.local '■■■↓↓↓変更対象の情報を編集し設定してください。↓↓↓■■■ strServerRoot = "C:/Apache" strPort = "80" strAdmin = "admin@domain.local" strServerName = "host.domain.local" strDomainName = "domain.local" '■■■↑↑↑変更対象の情報を編集し設定してください。↑↑↑■■■ '=====以下変更の必要はありません。===== |
使用方法
VBScriptの配置
以下の例では、httpd-2.0.65-win32-x86-openssl-0.9.8y.msiを
解凍したフォルダを元にご紹介します。
msiファイルの解凍方法については以下の投稿をお読みいただければと思います。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法
上記の投稿の方法にて解凍したmsiファイルは、
以下のようなディレクトリで展開されます。
展開された[program files]フォルダ内には[Apache2]という、
Apacheのフォルダが生成されています。
このフォルダが、インストーラでインストールした際に、
インストール先に選択したフォルダになります。
confフォルダも作成されています。
解凍した際のconfフォルダ内は、インストーラが生成する構成とは異なり、
元のファイルのままとなっています。
この元ファイルを個別に手修正してもApacheは起動することができますが、
この手修正を一括で行うことがこのスクリプトの目的です。
手修正される場合には以下の投稿を参考にして頂ければと思います。
Apache2.0.xのhttpd.confを手動で作成する方法
展開された[program files]フォルダ内には[Apache Group]-[Apache2]という、
階層でフォルダが生成されます。
Apache2のフォルダを[C:\]にコピーし[C:\Apache2]をインストールディレクトリとします。
以後、解凍された[Apache2]をインストールディレクトリとして、作業します。
別のディレクトリに配置する際には、パスの読み替えをお願いします。
Apache2フォルダをインストール先に配置を行ったら、
apache2.0.x_ini.vbsをApache2フォルダ内にコピーし、配置します。
このapache2.0.x_ini.vbsでconfフォルダ内を、
インストーラによってインストールされた状態にすることを目的としています。
環境に合わせてVBScriptの編集
インストールしたPCの環境に合わせて、apache2.0.x_ini.vbsを右クリックし編集します。
19 20 21 22 23 24 25 |
'■■■↓↓↓変更対象の情報を編集し設定してください。↓↓↓■■■ strServerRoot = "C:/Apache2" strPort = "80" strAdmin = "admin@domain.local" strServerName = "192.168.0.51" strDomainName = "domain.local" '■■■↑↑↑変更対象の情報を編集し設定してください。↑↑↑■■■ |
プログラム内の変数と設定例にしたがって、
インストールしたパスやポートなどを指定します。
個別にIPアドレスを指定するような場合(Listen 192.168.0.1:80)には、
このプログラム実行後に手修正してください。
※インストーラでも、標準は80、オプションを選択しても8080しか設定できません。
変数名 | 設定例 | 置換文字列 |
---|---|---|
strServerRoot | C:/Apache2 | @@ServerRoot@@ |
strPort | 80 | @@Port@@ |
strAdmin | admin@domain.local | @@ServerAdmin@@ |
strServerName | host.domain.local | @@ServerName@@ |
strDomainName | domain.local | @@DomainName@@ |
編集が終了したら、設定は終了です。
apache2.0.x_ini.vbsを管理者として実行すると、
設定した値で置換が行われファイルが生成されます。
ファイルバックアップのお願い
プログラム実行後に元の状態に戻すことができるようにファイルのバックアップをお願いします。
confフォルダ上で右クリックし[送る]-[圧縮(zip形式)フォルダー]を選択します。
conf.zipが作成されたことを確認して、バックアップは完了です。
apache2.0.x_ini.vbsの実行
途中、少しうるさいぐらいにダイアログを表示していますが、
基本的には[はい]で応答頂ければ、処理が行われます。
通常処理
プログラムの実行確認
最初にプログラムの実行前にバックアップのお願いと、
既存ファイルに対する削除に関するご注意についてご確認頂きます。
[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。
ファイルコピーの確認
Apacheから解凍されたファイルのコピーを開始します。
ここでは、元のファイルに拡張子[.BAK]を付与してコピーします。
- httpd-win.conf.BAK
- ssl-std.conf.in.BAK
以下のファイル名でファイルを生成します。
- httpd.default.conf
- ssl.default.conf
- magic
- mime.types
以下のフォルダ名でフォルダを生成します。
- logs
[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。
置換概要の確認
コピーによって作成したhttpd.default.confとssl.default.confに対しての、
文字列置換の概要をご確認ください。
apache2.0.x_ini.vbsを修正した内容に相違がないことをご確認下さい。
[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。
尚、ここで誤りがあったことが判明した場合には、[いいえ(N)]で処理を中断してください。
中断後、そのまま再実行すると以下のダイアログが表示されます。
httpd-win.conf.BAK、ssl-std.conf.in.BAKの拡張子[.BAK]を消して、
再度実行することで、プログラムの再実行が行えます。
ファイルの削除確認
処理中に作成したhttpd-win.conf.BAK、ssl-std.conf.in.BAKのファイルおよび、
InstallConf.awkを削除することの確認です。
この削除処理は必須ではありません。
ファイルが存在する状態であっても特に問題はありません。
処理終了
「処理を完了いたしました」とダイアログが表示されれば、
confフォルダの初期設定が完了しています。
処理完了後のフォルダ内容は以下のようになります。
Apacheのサービス登録と実行
プログラムの実行が完了したら、作成されたconfファイルにて、
Apacheの起動を確認することになりますが、その際にはサービスに登録して行います。
以下でご紹介しておりますので、お読みいただけると幸いです。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法
サービスの登録時にエラーが表示されずにサービス登録されれば、
設定は終了です。
エラーダイアログについて
プログラム配置先エラー
apache2.0.x_ini.vbsのインストール先がApacheのプログラムディレクトリ以外の場合、
Apache.exeまたはhttpd.exeが見つけられないため、エラーとなります。
※Apache2.0.xxxではApache.exeですが、
将来的には2.2.xxxのhttpd.exeにも対応予定です。
初期データエラー
confフォルダ内の以下のファイルが存在していない場合には、
このエラーが表示されます。
- .\conf\httpd-win.conf
- .\conf\ssl-std.conf.in
- .\conf\magic.default
- .\conf\mime.types.default
尚、httpd-win.confとssl-std.conf.inは、処理を途中で中断した際に、
httpd-win.conf.BAK、ssl-std.conf.in.BAKより復旧可能です。
Apacheバージョンエラー
現時点でapache2.0.x_ini.vbsはApache 2.0.xxxのみに対応しています。
2.2.xxxや2.4.xxxを対象に実行した場合には、このメッセージが表示されます。
さいごに
おかしな所でもあれば実行前に直していただければと思いますが、
何か不具合などがありましたら、コメントでも頂けると励みになります。
正直、対して難しい処理も行っていませんが、
最初はコマンドでやろうと思って始めた処理でしたが、私にはコマンドでは厳しかったです。
また、FileSystemObject (FSO)のTextStreamで置換処理を行おうと思ったのですが、
どうもうまく処理が行えなかったので、結局はADODB.Streamで処理をしています。
もっといい方法などがあればご紹介ください。
「VBScriptはデバッグできないから俺は読みたくない」そんな方は、
以下を参考にして頂けると、デバッグすることができます。
私もこの方法でスクリプトを記述しています。
VBScript でもデバッグしながら開発を行える
公開日:
最終更新日:2014/12/04