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

操作説明:apache2.0.x_ini.vbs(ver.0.1.01b)

Apache2.0.xxx系のApacheのmsiファイルをコマンドにて解凍し、
解凍されたApacheフォルダの[/conf]フォルダ内の
httpd.confファイルなどの設定ファイルを
Apacheが起動するように初期設定を行う為のスクリプトです。

スクリプトダウンロード

apache2.0.x_ini.vbs

動作確認済環境

概要

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” 利用するポート環境のドメイン名

ソース抜粋

使用方法

VBScriptの配置

以下の例では、httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
解凍したフォルダを元にご紹介します。

msiファイルの解凍方法については以下の投稿をお読みいただければと思います。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法

上記の投稿の方法にて解凍したmsiファイルは、
以下のようなディレクトリで展開されます。

01_msi解凍後の生成ディレクトリ

msi解凍後の生成ディレクトリ

展開された[program files]フォルダ内には[Apache2]という、
Apacheのフォルダが生成されています。
このフォルダが、インストーラでインストールした際に、
インストール先に選択したフォルダになります。
confフォルダも作成されています。

02_Apache2ディレクトリ

Apache2ディレクトリ

解凍した際のconfフォルダ内は、インストーラが生成する構成とは異なり、
元のファイルのままとなっています。

この元ファイルを個別に手修正してもApacheは起動することができますが、
この手修正を一括で行うことがこのスクリプトの目的です。
手修正される場合には以下の投稿を参考にして頂ければと思います。
Apache2.0.xのhttpd.confを手動で作成する方法

展開された[program files]フォルダ内には[Apache Group]-[Apache2]という、
階層でフォルダが生成されます。
Apache2のフォルダを[C:\]にコピーし[C:\Apache2]をインストールディレクトリとします。

以後、解凍された[Apache2]をインストールディレクトリとして、作業します。
別のディレクトリに配置する際には、パスの読み替えをお願いします。

Apache2フォルダをインストール先に配置を行ったら、
apache2.0.x_ini.vbsをApache2フォルダ内にコピーし、配置します。

03_プログラムのコピー

プログラムのコピー

このapache2.0.x_ini.vbsでconfフォルダ内を、
インストーラによってインストールされた状態にすることを目的としています。

04_プログラムの実行前・実行後

プログラムの実行前・実行後

環境に合わせてVBScriptの編集

インストールしたPCの環境に合わせて、apache2.0.x_ini.vbsを右クリックし編集します。

プログラム内の変数と設定例にしたがって、
インストールしたパスやポートなどを指定します。
個別に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形式)フォルダー]を選択します。

05_confフォルダの圧縮を選択

confフォルダの圧縮を選択

conf.zipが作成されたことを確認して、バックアップは完了です。

06_conf.zip生成の確認

conf.zip生成の確認

apache2.0.x_ini.vbsの実行

途中、少しうるさいぐらいにダイアログを表示していますが、
基本的には[はい]で応答頂ければ、処理が行われます。

通常処理

プログラムの実行確認
07_実行の確認とバックアップのお願い

実行の確認とバックアップのお願い

最初にプログラムの実行前にバックアップのお願いと、
既存ファイルに対する削除に関するご注意についてご確認頂きます。
[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。

ファイルコピーの確認
08_ファイル生成の確認

ファイル生成の確認

Apacheから解凍されたファイルのコピーを開始します。
ここでは、元のファイルに拡張子[.BAK]を付与してコピーします。

  • httpd-win.conf.BAK
  • ssl-std.conf.in.BAK

以下のファイル名でファイルを生成します。

  • httpd.default.conf
  • ssl.default.conf
  • magic
  • mime.types

以下のフォルダ名でフォルダを生成します。

  • logs

[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。

置換概要の確認
09_文字列置換の概要

文字列置換の概要

コピーによって作成したhttpd.default.confとssl.default.confに対しての、
文字列置換の概要をご確認ください。
apache2.0.x_ini.vbsを修正した内容に相違がないことをご確認下さい。
[はい(Y)]で処理を開始します。
[いいえ(N)]で処理を中断します。

尚、ここで誤りがあったことが判明した場合には、[いいえ(N)]で処理を中断してください。
中断後、そのまま再実行すると以下のダイアログが表示されます。

10_ファイルなしによるエラーメッセージ

ファイルなしによるエラーメッセージ

httpd-win.conf.BAK、ssl-std.conf.in.BAKの拡張子[.BAK]を消して、
再度実行することで、プログラムの再実行が行えます。

ファイルの削除確認
11_作業ファイルの削除確認

作業ファイルの削除確認

処理中に作成したhttpd-win.conf.BAK、ssl-std.conf.in.BAKのファイルおよび、
InstallConf.awkを削除することの確認です。
この削除処理は必須ではありません。
ファイルが存在する状態であっても特に問題はありません。

処理終了

「処理を完了いたしました」とダイアログが表示されれば、
confフォルダの初期設定が完了しています。

12_初期設定完了メッセージ

初期設定完了メッセージ

処理完了後のフォルダ内容は以下のようになります。

13_実行後のconfフォルダ状態

実行後のconfフォルダ状態

Apacheのサービス登録と実行

プログラムの実行が完了したら、作成されたconfファイルにて、
Apacheの起動を確認することになりますが、その際にはサービスに登録して行います。
以下でご紹介しておりますので、お読みいただけると幸いです。
1つのPC(サーバー)で複数のApacheをインストールして利用する方法

サービスの登録時にエラーが表示されずにサービス登録されれば、
設定は終了です。

エラーダイアログについて

プログラム配置先エラー
14_配置フォルダ誤りエラーメッセージ

配置フォルダ誤りエラーメッセージ

apache2.0.x_ini.vbsのインストール先がApacheのプログラムディレクトリ以外の場合、
Apache.exeまたはhttpd.exeが見つけられないため、エラーとなります。
※Apache2.0.xxxではApache.exeですが、
将来的には2.2.xxxのhttpd.exeにも対応予定です。

初期データエラー
15_複数回実行時のエラーメッセージ

複数回実行時のエラーメッセージ

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バージョンエラー
16_Apacheバージョン違いのエラーメッセージ

Apacheバージョン違いのエラーメッセージ

現時点でapache2.0.x_ini.vbsはApache 2.0.xxxのみに対応しています。
2.2.xxxや2.4.xxxを対象に実行した場合には、このメッセージが表示されます。

さいごに

おかしな所でもあれば実行前に直していただければと思いますが、
何か不具合などがありましたら、コメントでも頂けると励みになります。

正直、対して難しい処理も行っていませんが、
最初はコマンドでやろうと思って始めた処理でしたが、私にはコマンドでは厳しかったです。

また、FileSystemObject (FSO)のTextStreamで置換処理を行おうと思ったのですが、
どうもうまく処理が行えなかったので、結局はADODB.Streamで処理をしています。

もっといい方法などがあればご紹介ください。

「VBScriptはデバッグできないから俺は読みたくない」そんな方は、
以下を参考にして頂けると、デバッグすることができます。
私もこの方法でスクリプトを記述しています。
VBScript でもデバッグしながら開発を行える

プロモーション(btm)

Google or AdMax Promotion (it)

公開日:
最終更新日:2014/12/04

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

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

Rakuten Promotion

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