Apache のコンパイルをはじめる前に、多くの重要なポイントがあります。 始める前に、Microsoft Windows での Apache の使用を見てください。
Apache をコンパイルするには Microsoft Visual C++ 5.0 または 6.0 が適切にインストールされていることが必要です。 ビルドはコマンドラインツール、 または Visual Studio 環境で可能です。インストールの方法は、 VC++ のマニュアルを参考にしてください。コマンドラインでのビルド (たとえば nmake の使用)では、コマンドラインツールの準備に Program Files/DevStudio/VC/bin フォルダにある vcvars32.bat 及び Platform SDK の setenv.bat のファイルが必要になるであろうことについて、 特に注意してください。Makefile.win や Visual Studio IDE の InstallBin プロジェクトを使って Apache をインストールする場合は、 awk ユーティリティも必要になります。
まず、IDE を使うつもりならパスが通り、 DevStudio 環境が解釈できるところに awk.exe をインストールしてください。 Windowsで利用可能な awk は様々なバージョンがあります。 一番インストールしやすいものは Brian Kernighan の http://cm.bell-labs.com/cm/cs/who/bwk/サイトから入手可能です。 このサイトからhttp://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe をダウンロードした場合は、awk95.exe を awk.exe という名前で保存しなければなりません。
DevStudio はツール(T)メニューのオプション(O)以下の、 ディレクトリの実行可能ファイルにリストされた場所にある場合にのみ、 awk.exe を見つけられることに注意してください。必要に応じ、awk.exe のパスをこのリストに追加してください。
それから、適切なディレクトリに Apache の配布を展開してください。
コマンドラインプロンプトを開き、Apache 配布サブディレクトリ
src
に移動してください
Makefile.win
ファイルには Apache の makefile
の元となる指示が含まれています。WindowsNT で Apache
をコンパイルするには、単に以下のコマンドのうちの一つを使ってください
nmake /f Makefile.win _apacher
(リリースビルド)nmake /f Makefile.win _apached
(デバッグビルド)これらはどちらも Apache をコンパイルします。 後者では、出力されたファイルにデバッグ情報が含まれ、 バグを見つけたり問題を追跡したりしやすくなります。
もし、「...として認識されていません」 のようなエラーが出た場合はまず、vcvars32.bat を実行する必要があります。 以下のコマンドを入力してください
"c:\Program Files\DevStudio\VC\Bin\VCVARS32.bat"
(このコマンドは VC がインストールされたディレクトリに合わせて 調整する必要があります。)
Visual C++ 5.0 ユーザで、かつ、最近のプラットフォーム SDK をインストールしている場合は、以下のコマンドを入力する必要があるでしょう (Platform SDK アップデートがインストールされているディレクトリに合わせて 調整する必要があります)
"c:\Program Files\Platform SDK\SETENV.BAT"
それから、再び nmake コマンドを試してください。
サポートされたすべての mod_isapi 機能を有効にするには Windows Platform SDK の更新が必要になることに注意してください。 Microsoft Visual C++ 5.0 とともに配布された SDK ファイルは古いために 使えません。 最近のアップデートがなされていない場合、Apache は MSVC++ 5.0 では、 mod_isapi 機能がいくつか使用不可になることを警告します。 アップデートに関しては http://msdn.micro soft.com/platformsdk/ で探してください。
Apache は、VC++ の Visual Studio 開発環境を使ってコンパイル
することもできます。このプロセスを簡素化するために、Visual Studio
workspace (Apache.dsw) が src
フォルダにおいて
提供されています。
この workspace は、完全な Apache のバイナリリリースに必要な .dsp
プロジェクトの全体のリストが書かれています。
また、それらが適切な順序でビルドされるようにするために、
プロジェクトの間の依存関係も含まれています。
InstallBin が、他のすべてのプロジェクトをビルドし、
コンパイルされたファイルを適切な位置にインストールする、
トップレベルのプロジェクトです。
これらの .dsp プロジェクトファイルは Visual C++ 6.0
のフォーマットで配布されます。Visual C++ 5.0(97) は
唯一の例外、デバッグシンボル用のフラグである /ZI
フラグを除いてこのフォーマットを認識します。
VC 5.0 では /Zi フラグがこれに相当します。
Visual Studio 5.0 (97) の .dspファイルをすぐに準備するには、
src\helpers
フォルダにて配布されている perl
スクリプトを使うことができます
cd src\helpers cvstodsp5.pl
このコマンドは、Perl インタプリタがインストールされていて、 .pl のファイルタイプが登録されていると仮定します。変換された .dsp プロジェクトファイルのリストはそれらが変換されるにつれて表示されていきます。 改訂されたプロジェクトファイルを提供するパッチを寄与するときは、 Visual Studio6.0 フォーマットにプロジェクトを戻すスクリプト dsp5tocvs.pl によってそれらを変換してください。
Apache.dsw 及び makefile.win によりビルドされるコアの .dsp プロジェクトは以下の通りです
os\win32\ApacheOS.dsp
os\win32\Win9xConHook.dsp
regex\regex.dsp
ap\ap.dsp
lib\expat-lite\xmltok.dsp
lib\expat-lite\xmlparse.dsp xmltok が必要
lib\sdbm.dsp
main\gen_uri_delims.dsp
main\gen_test_char.dsp
ApacheCore.dsp 以上全てが必要
Apache.dsp ApacheCore が必要
さらに os\win32
サブディレクトリには、
オプションのモジュールすべてのプロジェクトファイルが含まれます。
これらはすべて ApacheCore を必要とします。
os\win32\mod_auth_anon.dsp
os\win32\mod_auth_dbm.dsp sdbm も必要
os\win32\mod_auth_digest.dsp
os\win32\mod_cern_meta.dsp
os\win32\mod_digest.dsp
os\win32\mod_expires.dsp
os\win32\mod_headers.dsp
os\win32\mod_info.dsp
os\win32\mod_mime_magic.dsp
os\win32\mod_proxy.dsp
os\win32\mod_rewrite.dsp
os\win32\mod_speling.dsp
os\win32\mod_status.dsp
os\win32\mod_unique_id.dsp
os\win32\mod_usertrack.dsp
os\win32\mod_vhost_alias.dsp
support\
フォルダは、Apache
ランタイムの一部ではないけれども、パスワードとログファイルを
管理するために、管理者により使用される追加のプログラムの
プロジェクトファイルが含まれます。
support\htdigest.dsp
support\htpasswd.dsp
support\logresolve.dsp
support\rotatelogs.dsp
Apache がコンパイルできたらサーバールートディレクトリにインストール
する必要があります。デフォルトは現在のハードディスクのディレクトリ
\Apache
です。
自動的に c:\ServerRoot
にファイルをインストールするには、以下の nmake
コマンド(上部参照)のどちらかを使ってください。
nmake /f Makefile.win installr
INSTDIR=c:\ServerRoot
(リリース版ビルド用)
nmake /f Makefile.win installd
INSTDIR=c:\ServerRoot
(デバッグ版ビルド用)INSTDIR へのc:\ServerRoot 引数がインストールディレクトリを指定します (Apache を \Apache にインストールする場合は省略可)。
これにより以下がインストールされます
c:\ServerRoot\Apache.exe
- Apache
プログラムc:\ServerRoot\ApacheCore.dll
-
Apache ランタイム [共有ライブラリ]c:\ServerRoot\Win9xConHook.dll
-
Win9x console fixups [共有ライブラリ]c:\ServerRoot\xmlparse.dll
- XML
パーサ [共有ライブラリ]c:\ServerRoot\xmltok.dll
- XML
トークンエンジン [共有ライブラリ]c:\ServerRoot\bin\*.exe
-
管理用プログラムc:\ServerRoot\cgi-bin
- CGI
スクリプトの例c:\ServerRoot\conf
- 設定ファイル
ディレクトリc:\ServerRoot\icons
- FancyIndexing
用のアイコンc:\ServerRoot\include\*.h
- Apache
ヘッダファイルc:\ServerRoot\htdocs
- ようこそ、の
index.html ページc:\ServerRoot\htdocs\manual
-
Apache ドキュメントc:\ServerRoot\lib
- 静的ライブラリ
c:\ServerRoot\libexec
- 動的ライブラリ
c:\ServerRoot\logs
- 空のログディレクトリ
c:\ServerRoot\modules\mod_*.dll
-
ロード可能な Apache モジュールもし nmake を持っていないか、違うディレクトリにインストール したい場合は、必ず同様の命名体系を使ってください。
プロセスの簡素化のためすべてのプロジェクトの間の依存関係は Microsoft Visual Studio workspace ファイルにおいて定義されています
src/Apache.dsw
これは、より低位のソースは Visual Studio 内で再ビルドされることを保証します。最上位のプロジェクトは InstallBin であり、Makefile.win を実行してコンパイルされた実行ファイルと dll を移動します。InstallBin の、「設定」から、「一般」タブにある、 「コマンドライン」エントリで INSTDIR= を変更することができます。 InstallBin.dsp プロジェクト内のデフォルトは、src ツリーから 1 階層上 (..) です。InstallBin 設定を修正し、 INSTDIR= を目的のディレクトリへと編集してください。