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 は awk.exe がツールメニューのオプション以下の、 実行ファイルのディレクトリ設定にリストされた場所にある場合に限り、 見つけることに注意してください。必要に応じ、awk.exe のパスをこのリストに追加してください。
それから、適切なディレクトリに Apache を解凍してください。
コマンドラインプロンプトを開き、Apache 配布サブディレクトリ
src に移動してください
Makefile.win ファイルには Apache の makefile
の元となる指示が含まれています。WindowsNT で Apache
をコンパイルするには、以下のコマンドのうちの1つを単に使ってください
nmake /f Makefile.win _apacher
(リリースビルド)nmake /f Makefile.win _apached
(デバッグビルド)これらはどちらも Apache をコンパイルします。 後者では、デバグ情報が出力されたファイルに含まれ、 それによりバグを見つけて問題を解決しやすくなります。
もし、"the name specified is not recognized..." のようなエラーが出た場合はまず、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.dspos\win32\Win9xConHook.dspregex\regex.dspap\ap.dsplib\expat-lite\xmltok.dsplib\expat-lite\xmlparse.dsp requires
xmltoklib\sdbm.dspmain\gen_uri_delims.dspmain\gen_test_char.dspApacheCore.dsp requires all of the
aboveApache.dsp requires ApacheCoreさらに os\win32 サブディレクトリには、ApacheCore
を必要とするオプションのモジュールすべてのプロジェクトファイルが含まれます。
os\win32\mod_auth_anon.dspos\win32\mod_auth_dbm.dsp also requires
sdbmos\win32\mod_auth_digest.dspos\win32\mod_cern_meta.dspos\win32\mod_digest.dspos\win32\mod_expires.dspos\win32\mod_headers.dspos\win32\mod_info.dspos\win32\mod_mime_magic.dspos\win32\mod_proxy.dspos\win32\mod_rewrite.dspos\win32\mod_speling.dspos\win32\mod_status.dspos\win32\mod_unique_id.dspos\win32\mod_usertrack.dspos\win32\mod_vhost_alias.dspsupport\ フォルダは、Apache
ランタイムの一部ではないけれども、パスワードとログファイルを
管理するために、管理者により使用される追加のプログラムの
プロジェクトファイルが含まれます。
support\htdigest.dspsupport\htpasswd.dspsupport\logresolve.dspsupport\rotatelogs.dspApache がコンパイルできたらサーバールートディレクトリにインストール
する必要があります。デフォルトは現在のハードディスクのディレクトリ
\Apache です。
自動的に c:\ServerRoot
にファイルをインストールするには、以下の nmake
コマンド(上部参照)の 1 つを使ってください。
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 - Example CGI
スクリプトc:\ServerRoot\conf - 設定ファイル
ディレクトリc:\ServerRoot\icons - FancyIndexing
用のアイコンc:\ServerRoot\include\*.h - Apache
ヘッダファイルc:\ServerRoot\htdocs - Welcome
index.html pagesc:\ServerRoot\htdocs\manual -
Apache ドキュメントc:\ServerRoot\lib - 静的ライブラリ
c:\ServerRoot\libexec - 動的ライブラリ
c:\ServerRoot\logs - 空のログディレクトリ
c:\ServerRoot\modules\mod_*.dll -
Loadable Apache modulesもし nmake を持っていないか、違うディレクトリにインストール したい場合は、必ず同様な命名体系を使ってください。
プロセスの簡素化のためすべてのプロジェクトの間の依存関係は Microsoft Visual Studio workspace ファイルにおいて定義されています
src/Apache.dsw
このことは、より低位のソースは Visual Studio 内で再ビルドされることを保証します。最上位のプロジェクトは InstallBin であり、Makefile.win を実行してコンパイルされた実行ファイルと dll を移動します。InstallBin の設定で INSTDIR= を変更することにより、 一般タブの下にコマンドラインのエントリをビルドします。 InstallBin.dsp プロジェクト内のデフォルトは、src ツリーから 1 階層上 (..) です。InstallBin 設定を修正し、 INSTDIR= を目的のディレクトリへと編集してください。