Tips/BuildOnWindows/Apache
の編集
http://mitty.jp/wiki/?Tips%2FBuildOnWindows%2FApache
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
この下に新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
|
リンク抽出
|
検索語
]
Top
/
Tips
/
BuildOnWindows
/ Apache
-- 雛形とするページ --
BracketName
DirectoryIndex
FormatExample
FormatRule
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
InterWikiテクニカル
MenuBar
PHP
PukiWik
PukiWiki
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/マニュアル/プラグイン
PukiWiki/1.4/マニュアル/プラグイン/a
PukiWiki/1.4/マニュアル/プラグイン/b
PukiWiki/1.4/マニュアル/プラグイン/c
PukiWiki/1.4/マニュアル/プラグイン/d
PukiWiki/1.4/マニュアル/プラグイン/e
PukiWiki/1.4/マニュアル/プラグイン/f
PukiWiki/1.4/マニュアル/プラグイン/h
PukiWiki/1.4/マニュアル/プラグイン/i
PukiWiki/1.4/マニュアル/プラグイン/l
PukiWiki/1.4/マニュアル/プラグイン/m
PukiWiki/1.4/マニュアル/プラグイン/n
PukiWiki/1.4/マニュアル/プラグイン/o
PukiWiki/1.4/マニュアル/プラグイン/p
PukiWiki/1.4/マニュアル/プラグイン/r
PukiWiki/1.4/マニュアル/プラグイン/s
PukiWiki/1.4/マニュアル/プラグイン/t
PukiWiki/1.4/マニュアル/プラグイン/u
PukiWiki/1.4/マニュアル/プラグイン/v
PukiWiki/1.4/マニュアル/プラグイン/y
RecentDeleted
SandBox
ServicePack
Text Formatting Rules
Tips
Tips/BuildOnWindows
Tips/BuildOnWindows/Apache
Tips/BuildOnWindows/NTP
Tips/BuildOnWindows/PHP
Tips/BuildOnWindows/Ruby
Tips/BuildOnWindows/Subversion
Tips/CentOS
Tips/CentOS/Installing
Tips/ServicePack統合
Tips/ServicePack統合/ISO化
Tips/ServicePack統合/Windows2000
Tips/ServicePack統合/Windows2003
Tips/ServicePack統合/WindowsXP
Tips/sakura.ne.jp
Tips/sakura.ne.jp/svn1.4
Tips/svn+ssh
ToDO
ToDO/MovableType
ToDO/PukiWiki
ToDO/PukiWiki/変数設定
ToDO/XMail
ToDO/unicodeconv.pl
WikiEngines
WikiName
WikiWikiWeb
XMail
XMail/K4
XMail/MLA?A?A®Reply-toA¤A»AA?A?A
XMail/MLã®Reply-toä»ÂÃ¥ÂÂ
XMail/MLのReply-to付加
XMail/Maildir
XMail/SpamAssassin
XMail/XMQuotaMonitor
XMail/xmailcfg
YukiWiki
frontpage
kano
tDiary
tDiary/ToDO
tDiary/category.rb
tDiary/counter.rb
tDiary/image_ex.rb
tDiary/weather.rb
tDiary/半角かな
tDiary/半角かな/2005-06-07
ヘルプ
メンテナンス情報
メンテナンス情報/2005-05-04
メンテナンス情報/2005-05-04/newpage_subdir
メンテナンス情報/2005-05-31
メンテナンス情報/2005-09-11
メンテナンス情報/2005-10-22
メンテナンス情報/2005-10-23
メンテナンス情報/2005-11-04
メンテナンス情報/2005-11-23
メンテナンス情報/2005-12-19
メンテナンス情報/2006-12-01
メンテナンス情報/PukiWiki
メンテナンス情報/PukiWiki/Plus!
メンテナンス情報/PukiWiki/Plus!/初期作業
メンテナンス情報/PukiWiki/newpage_subdirの導入
メンテナンス情報/PukiWiki/初期作業
参考リンク
参考リンク/Linux
参考リンク/PukiWiki
参考リンク/Windows
参考リンク/XMail
参考リンク/chasen
参考リンク/tDiary
参考リンク/その他
参考リンク/ソフト
参考リンク/ソフト比較
参考リンク/ハードウェア
参考リンク/プログラミング
参考リンク/状態監視
参考リンク/箱庭諸島
参考リンク/運営Tips
実験部屋
実験部屋/2010-01-19
実験部屋/有機化学
実験部屋/無機化学
整形ルール
日本語
1
#contents * 対象 [#vf531e75] - Apache 2.0.55 (mod_deflate, mod_ssl) - Apache 2.2.0 (mod_deflate, mod_ssl) * 参考 [#jec62580] -[../manual/platform/win_compiling.html Compiling Apache for Microsoft Windows] -[[Compiling Apache, PHP and foreign modules on a Win32 platform:http://www.schau.com/apachephp/apachephpwin32/]] -[[Apache/WindowsでのMake方法(mod_deflate付き):http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?Apache%2FWindows%A4%C7%A4%CEMake%CA%FD%CB%A1(mod_deflate%C9%D5%A4%AD)]] -[[Apache/WindowsでのMake方法(mod_ssl付き):http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?Apache%2FWindows%A4%C7%A4%CEMake%CA%FD%CB%A1(mod_ssl%C9%D5%A4%AD)]] - [[Web Server Tutorial: Building Apache 2.0.55 + mod_ssl + mod_security for Windows 2000/XP:http://www.devside.net/web/server/windows/apache]] * 必要なもの [#ucd246a4] -[[Apache:http://httpd.apache.org/]] -- httpd-2.0.55-win32-src.zip -- httpd-2.2.0-win32-src-rev2.zip -[[zlib:http://www.zlib.net/]] --[[zlib-1.1.4.tar.gz:http://www.zlib.net/zlib-1.1.4.tar.gz]] (for 2.0.55) -- [[zlib-1.2.3.tar.gz:http://www.zlib.net/zlib-1.2.3.tar.gz]] (for 2.2.0) -[[openssl:http://www.openssl.org/]] --[[openssl-0.9.8a.tar.gz:http://www.openssl.org/source/openssl-0.9.8a.tar.gz]] -fc.exe --%systemroot%\system32に元々入っている。 ** 以下のものはCygwinをインストールしていれば基本的には不要 [#e352715d] なお、Cygwinを使った場合confファイルやperlスクリプトの改行コードが0x0aになる等の小さな違いは出る。((Windowsは0x0d 0x0a)) -[[awk:http://cm.bell-labs.com/cm/cs/who/bwk/]] --[[awk95.exe:http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe]] ---[[gawk:http://gnuwin32.sourceforge.net/packages/gawk.htm]]でも可 ([[gawk-bin-zip:http://gnuwin32.sourceforge.net/downlinks/gawk-bin-zip.php]]) -[[bison:http://gnuwin32.sourceforge.net/packages/bison.htm]] --[[bison-1.875-4-bin.zip:http://prdownloads.sourceforge.net/gnuwin32/bison-1.875-4-bin.zip?download]] --[[bison-1.875-4-dep.zip:http://prdownloads.sourceforge.net/gnuwin32/bison-1.875-4-dep.zip?download]] ---dep.zipに含まれるlibiconv2.dllとlibintl3.dllが必要なため。((他のgnuwin32ツールにもdep.zipはあるがbisonのものが最新な模様。)) --- bison 2.1は出力するコードが異なり、 ssl_expr_parse.c y.tab.c(926) : error C2449: '{' を見つけました (関数のヘッダーがないかもしれません)。 y.tab.c(1598) : error C2059: 構文エラー : '}' とエラーになるため使えない。 -[[sed:http://gnuwin32.sourceforge.net/packages/sed.htm]] --[[sed-4.1.4-bin.zip:http://gnuwin32.sourceforge.net/downlinks/sed-bin-zip.php]] -[[flex:http://gnuwin32.sourceforge.net/packages/flex.htm]] --[[flex-2.5.4a-1-bin.zip:http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php]] * 手順 [#u8799d25] '''作業ディレクトリはD:\work\apache''' ** Apache 2.0.55 (mod_deflate, mod_ssl) [#o33d20f5] - zlibの最新は1.2.3だが、そのままでも前もってzlibをbuildしても、 deflate.c NMAKE : fatal error U1073: '"..\..\srclib\zlib\infblock.h"' のビルド方法が指定されていません。 Stop. とエラーで止まる。 *** アーカイブを展開 [#n3fb63bf] +D:\work\apache\に展開 --httpd-2.0.55-win32-src.zip + D:\work \---apache +---httpd-2.0.55 +---build | +---pkg | \---... \---test +D:\work\apache\httpd-2.0.55\srclib\に展開 --openssl-0.9.8a.tar.gz ---ディレクトリ名をopensslに。 --zlib-1.1.4.tar.gz ---ディレクトリ名をzlibに。 + D:\work\apache\httpd-2.0.55\srclib ... +---openssl | +---apps ... ... \---zlib +---amiga ... +D:\work\apache\build\に展開~ もちろん場所は何処でも良いが、あとでパスを通す必要があるのでまとめておいた方が楽。~ なお、上にも書いたようにCygwinがインストールされていれば不要。 ただし、Cygwinのawk.exeはgawk.exeへのsymlinkとなっていて、Windowsではsymlinkは動作しないのでawk.exeを使う作業が失敗する。 例えばD:\work\apache\install\cgi-bin\printenv.plなどのファイルが0バイトの空ファイルとして出来上がる。 なのでawk.exeを削除しgawk.exeをコピーしてawk.exeとする必要がある。 --awk95.exeをD:\work\apache\build\bin\にコピー --gawk-3.1.3-2-bin.zip(gawkを使う場合) ---awk.exeに名前変更するのを忘れずに。 --bison-1.875-4-bin.zip --bison-1.875-4-dep.zip --flex-2.5.4a-1-bin.zip --sed-4.1.4-bin.zip + D:\work\apache\build +---bin | awk.exe | bison.exe | flex++.exe | flex.exe | libiconv2.dll | libintl3.dll | m4.exe | sed.exe | yacc +---contrib | +---bison | +---flex | \---sed +---include +---man +---manifest \---share *** コマンドラインからのビルド [#o248909f] +コマンドプロンプトを開く。 --スタート メニュー→プログラム→Microsoft Visual Studio .NET 2003→Visual Studio .NET ツール→Visual Studio .NET 2003 コマンド プロンプト でも良い ---この場合、"%VS71COMNTOOLS%vsvars32.bat"の実行は省略出来る。 +環境変数PATHに'''D:\work\apache\build\bin'''を追加 set PATH=%PATH%;D:\work\apache\build\bin --fc.exeとperlがあればいいので極端な話 set PATH=%systemroot%\system32;C:\usr\bin;D:\work\apache\build\bin でも動く :p --Cygwinが入っていれば不要((Cygwinのusr/binにパスが通っているはず)) +"%VS71COMNTOOLS%vsvars32.bat"を実行する。~ "で囲む必要があるので注意((パスに空白が含まれるので。)) --"C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat" D:\work\apache\httpd-2.0.55>"%VS71COMNTOOLS%vsvars32.bat" Setting environment for using Microsoft Visual Studio .NET 2003 tools. (If you have another version of Visual Studio or Visual C++ installed and wish to use its tools from the command line, run vcvars32.bat for that version.) +opensslのビルド ++cd srclib\openssl ++perl Configure VC-WIN32 ++ms\do_masm D:\work\apache\httpd-2.0.55\srclib\openssl>ms\do_masm Generating x86 for MASM assember Bignum DES "crypt(3)" Blowfish CAST5 RC4 MD5 SHA1 RIPEMD160 RC5\32 D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkfiles.pl 1>MINFO D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mk1mf.pl VC-WIN32 1>ms\nt.mak D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mk1mf.pl dll VC-WIN32 1>ms\ntdll.mak D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def D:\work\apache\httpd-2.0.55\srclib\openssl> ++nmake -f ms\ntdll.mak D:\work\apache\httpd-2.0.55\srclib\openssl>nmake -f ms\ntdll.mak Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Building OpenSSL ... しばし((8分@1.8GHz、5分強@3.0GHz))待つ ++cd out32dll ++..\ms\test D:\work\apache\httpd-2.0.55\srclib\openssl\out32dll>..\ms\test rsa_test PKCS #1 v1.5 encryption/decryption ok ... TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 512 bit RSA 1 handshakes of 256 bytes done passed all tests D:\work\apache\httpd-2.0.55\srclib\openssl\out32dll> +cd \work\apache\httpd-2.0.55 +nmake /f Makefile.win _apacher D:\work\apache\httpd-2.0.55>nmake /f Makefile.win _apacher Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. INSTDIR = \Apache2 SERVERNAME = localhost PORT = 80 ... また少し((10分@1.8GHz、7分@3.0GHz))待つ +nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" D:\work\apache\httpd-2.0.55>nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. INSTDIR = D:\work\apache\install SERVERNAME = localhost PORT = 80 ... D:\work\apache\httpd-2.0.55> これでD:\work\apache\install以下にバイナリがまとめられる。~ なお、INSTDIRを指定しないとD:\Apache2にまとめられる。 *** IDE(統合開発環境)からのビルド [#w73bdd64] +opensslをビルド~ コマンドラインからビルドしておく必要があるので、コマンドラインからのビルドの1.~4.を前もって実行しておく。 +「スタート」ボタン→「プログラム」→「Microsoft Visual Studio .NET 2003」→「Microsoft Visual Studio .NET 2003」を開く +「ツール」→「オプション」を開き、「プロジェクト」→「VC++ ディレクトリ」を選択する~ 実行可能ファイルの一番上に'''D:\work\apache\build\bin'''を追加する。 #ref(VS-01.png,nolink) +D:\work\apache\httpd-2.0.55\Apache.dswを開く #ref(VS-02.png,nolink) +変換して開くに「すべてはい」と答える #ref(VS-03.png,nolink) +「ビルド」→「構成マネージャ」を開き、「アクティブソリューション構成」を'''Release'''にする #ref(VS-04.png,nolink) +右側の「ソリューションエクスプローラ」から'''InstallBin'''を右クリックし、「プロパティ」を開く #ref(VS-05.png,,50%) +「InstallBinプロパティ」の「NMake」を選択し、インストール先を適当に設定する #ref(VS-06.png,nolink) +「ビルド」→「ソリューションのビルド」 #ref(VS-07.png,,50%) #ref(VS-08.png,,50%) 何故かコマンドラインからのビルドより、一部のバイナリが若干大きく出来るようです。 ** Apache 2.2.0 (mod_deflate, mod_ssl) [#ke6d7bac] - 基本的には2.0.55と同じ *** コマンドラインからのビルド [#p69979de] + zlibは前もってbuildしておかないと扱えない模様 mod_deflate.c link.exe @C:\Temp\nm1287.tmp LINK : fatal error LNK1181: 入力ファイル 'zlib.lib' を開けません。 NMAKE : fatal error U1077: 'link.exe' : リターン コード '0x49d' -- zlib 1.1.4は D:\work\apache\httpd-2.2.0\srclib\zlib>nmake /f msdos\Makefile.w32 でbuild出来るが、Apacheのbuild中に mod_deflate.c link.exe @C:\Temp\nm1664.tmp ライブラリ .\Release\mod_deflate.lib とオブジェクト .\Release\mod_deflate.exp を作成中 LINK : warning LNK4098: defaultlib 'LIBC' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 という警告が出るため、警告が出ない1.2.3を使用した。 + コマンドは以下の通り~ perlはC:\usr\bin\perl.exeを想定。 set PATH=%systemroot%\system32;C:\usr\bin;D:\work\apache\build\bin call "%VS71COMNTOOLS%vsvars32.bat" cd /d D:\work\apache\httpd-2.2.0 cd srclib\openssl perl Configure VC-WIN32 call ms\do_masm nmake -f ms\ntdll.mak cd out32dll call ..\ms\test cd \work\apache\httpd-2.2.0\srclib\zlib nmake -f win32/Makefile.msc cd \work\apache\httpd-2.2.0 nmake /f Makefile.win _apacher nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" なお、このままバッチファイルとして実行出来るはずです。 ** 不要ファイル [#pd46b899] D:\work\apache\install>del *.pdb /s/q 削除したファイル - D:\work\apache\install\bin\ab.pdb 削除したファイル - D:\work\apache\install\bin\Apache.pdb ... 削除したファイル - D:\work\apache\install\modules\util_ldap.pdb D:\work\apache\install>rd symbols /s/q pdbはデバッグ用情報ファイルらしいので不要。これを消すとinstall以下が80MB強から20MB弱になる。
タイムスタンプを変更しない
#contents * 対象 [#vf531e75] - Apache 2.0.55 (mod_deflate, mod_ssl) - Apache 2.2.0 (mod_deflate, mod_ssl) * 参考 [#jec62580] -[../manual/platform/win_compiling.html Compiling Apache for Microsoft Windows] -[[Compiling Apache, PHP and foreign modules on a Win32 platform:http://www.schau.com/apachephp/apachephpwin32/]] -[[Apache/WindowsでのMake方法(mod_deflate付き):http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?Apache%2FWindows%A4%C7%A4%CEMake%CA%FD%CB%A1(mod_deflate%C9%D5%A4%AD)]] -[[Apache/WindowsでのMake方法(mod_ssl付き):http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?Apache%2FWindows%A4%C7%A4%CEMake%CA%FD%CB%A1(mod_ssl%C9%D5%A4%AD)]] - [[Web Server Tutorial: Building Apache 2.0.55 + mod_ssl + mod_security for Windows 2000/XP:http://www.devside.net/web/server/windows/apache]] * 必要なもの [#ucd246a4] -[[Apache:http://httpd.apache.org/]] -- httpd-2.0.55-win32-src.zip -- httpd-2.2.0-win32-src-rev2.zip -[[zlib:http://www.zlib.net/]] --[[zlib-1.1.4.tar.gz:http://www.zlib.net/zlib-1.1.4.tar.gz]] (for 2.0.55) -- [[zlib-1.2.3.tar.gz:http://www.zlib.net/zlib-1.2.3.tar.gz]] (for 2.2.0) -[[openssl:http://www.openssl.org/]] --[[openssl-0.9.8a.tar.gz:http://www.openssl.org/source/openssl-0.9.8a.tar.gz]] -fc.exe --%systemroot%\system32に元々入っている。 ** 以下のものはCygwinをインストールしていれば基本的には不要 [#e352715d] なお、Cygwinを使った場合confファイルやperlスクリプトの改行コードが0x0aになる等の小さな違いは出る。((Windowsは0x0d 0x0a)) -[[awk:http://cm.bell-labs.com/cm/cs/who/bwk/]] --[[awk95.exe:http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe]] ---[[gawk:http://gnuwin32.sourceforge.net/packages/gawk.htm]]でも可 ([[gawk-bin-zip:http://gnuwin32.sourceforge.net/downlinks/gawk-bin-zip.php]]) -[[bison:http://gnuwin32.sourceforge.net/packages/bison.htm]] --[[bison-1.875-4-bin.zip:http://prdownloads.sourceforge.net/gnuwin32/bison-1.875-4-bin.zip?download]] --[[bison-1.875-4-dep.zip:http://prdownloads.sourceforge.net/gnuwin32/bison-1.875-4-dep.zip?download]] ---dep.zipに含まれるlibiconv2.dllとlibintl3.dllが必要なため。((他のgnuwin32ツールにもdep.zipはあるがbisonのものが最新な模様。)) --- bison 2.1は出力するコードが異なり、 ssl_expr_parse.c y.tab.c(926) : error C2449: '{' を見つけました (関数のヘッダーがないかもしれません)。 y.tab.c(1598) : error C2059: 構文エラー : '}' とエラーになるため使えない。 -[[sed:http://gnuwin32.sourceforge.net/packages/sed.htm]] --[[sed-4.1.4-bin.zip:http://gnuwin32.sourceforge.net/downlinks/sed-bin-zip.php]] -[[flex:http://gnuwin32.sourceforge.net/packages/flex.htm]] --[[flex-2.5.4a-1-bin.zip:http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php]] * 手順 [#u8799d25] '''作業ディレクトリはD:\work\apache''' ** Apache 2.0.55 (mod_deflate, mod_ssl) [#o33d20f5] - zlibの最新は1.2.3だが、そのままでも前もってzlibをbuildしても、 deflate.c NMAKE : fatal error U1073: '"..\..\srclib\zlib\infblock.h"' のビルド方法が指定されていません。 Stop. とエラーで止まる。 *** アーカイブを展開 [#n3fb63bf] +D:\work\apache\に展開 --httpd-2.0.55-win32-src.zip + D:\work \---apache +---httpd-2.0.55 +---build | +---pkg | \---... \---test +D:\work\apache\httpd-2.0.55\srclib\に展開 --openssl-0.9.8a.tar.gz ---ディレクトリ名をopensslに。 --zlib-1.1.4.tar.gz ---ディレクトリ名をzlibに。 + D:\work\apache\httpd-2.0.55\srclib ... +---openssl | +---apps ... ... \---zlib +---amiga ... +D:\work\apache\build\に展開~ もちろん場所は何処でも良いが、あとでパスを通す必要があるのでまとめておいた方が楽。~ なお、上にも書いたようにCygwinがインストールされていれば不要。 ただし、Cygwinのawk.exeはgawk.exeへのsymlinkとなっていて、Windowsではsymlinkは動作しないのでawk.exeを使う作業が失敗する。 例えばD:\work\apache\install\cgi-bin\printenv.plなどのファイルが0バイトの空ファイルとして出来上がる。 なのでawk.exeを削除しgawk.exeをコピーしてawk.exeとする必要がある。 --awk95.exeをD:\work\apache\build\bin\にコピー --gawk-3.1.3-2-bin.zip(gawkを使う場合) ---awk.exeに名前変更するのを忘れずに。 --bison-1.875-4-bin.zip --bison-1.875-4-dep.zip --flex-2.5.4a-1-bin.zip --sed-4.1.4-bin.zip + D:\work\apache\build +---bin | awk.exe | bison.exe | flex++.exe | flex.exe | libiconv2.dll | libintl3.dll | m4.exe | sed.exe | yacc +---contrib | +---bison | +---flex | \---sed +---include +---man +---manifest \---share *** コマンドラインからのビルド [#o248909f] +コマンドプロンプトを開く。 --スタート メニュー→プログラム→Microsoft Visual Studio .NET 2003→Visual Studio .NET ツール→Visual Studio .NET 2003 コマンド プロンプト でも良い ---この場合、"%VS71COMNTOOLS%vsvars32.bat"の実行は省略出来る。 +環境変数PATHに'''D:\work\apache\build\bin'''を追加 set PATH=%PATH%;D:\work\apache\build\bin --fc.exeとperlがあればいいので極端な話 set PATH=%systemroot%\system32;C:\usr\bin;D:\work\apache\build\bin でも動く :p --Cygwinが入っていれば不要((Cygwinのusr/binにパスが通っているはず)) +"%VS71COMNTOOLS%vsvars32.bat"を実行する。~ "で囲む必要があるので注意((パスに空白が含まれるので。)) --"C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat" D:\work\apache\httpd-2.0.55>"%VS71COMNTOOLS%vsvars32.bat" Setting environment for using Microsoft Visual Studio .NET 2003 tools. (If you have another version of Visual Studio or Visual C++ installed and wish to use its tools from the command line, run vcvars32.bat for that version.) +opensslのビルド ++cd srclib\openssl ++perl Configure VC-WIN32 ++ms\do_masm D:\work\apache\httpd-2.0.55\srclib\openssl>ms\do_masm Generating x86 for MASM assember Bignum DES "crypt(3)" Blowfish CAST5 RC4 MD5 SHA1 RIPEMD160 RC5\32 D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkfiles.pl 1>MINFO D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mk1mf.pl VC-WIN32 1>ms\nt.mak D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mk1mf.pl dll VC-WIN32 1>ms\ntdll.mak D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def D:\work\apache\httpd-2.0.55\srclib\openssl>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def D:\work\apache\httpd-2.0.55\srclib\openssl> ++nmake -f ms\ntdll.mak D:\work\apache\httpd-2.0.55\srclib\openssl>nmake -f ms\ntdll.mak Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Building OpenSSL ... しばし((8分@1.8GHz、5分強@3.0GHz))待つ ++cd out32dll ++..\ms\test D:\work\apache\httpd-2.0.55\srclib\openssl\out32dll>..\ms\test rsa_test PKCS #1 v1.5 encryption/decryption ok ... TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 512 bit RSA 1 handshakes of 256 bytes done passed all tests D:\work\apache\httpd-2.0.55\srclib\openssl\out32dll> +cd \work\apache\httpd-2.0.55 +nmake /f Makefile.win _apacher D:\work\apache\httpd-2.0.55>nmake /f Makefile.win _apacher Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. INSTDIR = \Apache2 SERVERNAME = localhost PORT = 80 ... また少し((10分@1.8GHz、7分@3.0GHz))待つ +nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" D:\work\apache\httpd-2.0.55>nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" Microsoft(R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. INSTDIR = D:\work\apache\install SERVERNAME = localhost PORT = 80 ... D:\work\apache\httpd-2.0.55> これでD:\work\apache\install以下にバイナリがまとめられる。~ なお、INSTDIRを指定しないとD:\Apache2にまとめられる。 *** IDE(統合開発環境)からのビルド [#w73bdd64] +opensslをビルド~ コマンドラインからビルドしておく必要があるので、コマンドラインからのビルドの1.~4.を前もって実行しておく。 +「スタート」ボタン→「プログラム」→「Microsoft Visual Studio .NET 2003」→「Microsoft Visual Studio .NET 2003」を開く +「ツール」→「オプション」を開き、「プロジェクト」→「VC++ ディレクトリ」を選択する~ 実行可能ファイルの一番上に'''D:\work\apache\build\bin'''を追加する。 #ref(VS-01.png,nolink) +D:\work\apache\httpd-2.0.55\Apache.dswを開く #ref(VS-02.png,nolink) +変換して開くに「すべてはい」と答える #ref(VS-03.png,nolink) +「ビルド」→「構成マネージャ」を開き、「アクティブソリューション構成」を'''Release'''にする #ref(VS-04.png,nolink) +右側の「ソリューションエクスプローラ」から'''InstallBin'''を右クリックし、「プロパティ」を開く #ref(VS-05.png,,50%) +「InstallBinプロパティ」の「NMake」を選択し、インストール先を適当に設定する #ref(VS-06.png,nolink) +「ビルド」→「ソリューションのビルド」 #ref(VS-07.png,,50%) #ref(VS-08.png,,50%) 何故かコマンドラインからのビルドより、一部のバイナリが若干大きく出来るようです。 ** Apache 2.2.0 (mod_deflate, mod_ssl) [#ke6d7bac] - 基本的には2.0.55と同じ *** コマンドラインからのビルド [#p69979de] + zlibは前もってbuildしておかないと扱えない模様 mod_deflate.c link.exe @C:\Temp\nm1287.tmp LINK : fatal error LNK1181: 入力ファイル 'zlib.lib' を開けません。 NMAKE : fatal error U1077: 'link.exe' : リターン コード '0x49d' -- zlib 1.1.4は D:\work\apache\httpd-2.2.0\srclib\zlib>nmake /f msdos\Makefile.w32 でbuild出来るが、Apacheのbuild中に mod_deflate.c link.exe @C:\Temp\nm1664.tmp ライブラリ .\Release\mod_deflate.lib とオブジェクト .\Release\mod_deflate.exp を作成中 LINK : warning LNK4098: defaultlib 'LIBC' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 という警告が出るため、警告が出ない1.2.3を使用した。 + コマンドは以下の通り~ perlはC:\usr\bin\perl.exeを想定。 set PATH=%systemroot%\system32;C:\usr\bin;D:\work\apache\build\bin call "%VS71COMNTOOLS%vsvars32.bat" cd /d D:\work\apache\httpd-2.2.0 cd srclib\openssl perl Configure VC-WIN32 call ms\do_masm nmake -f ms\ntdll.mak cd out32dll call ..\ms\test cd \work\apache\httpd-2.2.0\srclib\zlib nmake -f win32/Makefile.msc cd \work\apache\httpd-2.2.0 nmake /f Makefile.win _apacher nmake -f Makefile.win installr INSTDIR="D:\work\apache\install" なお、このままバッチファイルとして実行出来るはずです。 ** 不要ファイル [#pd46b899] D:\work\apache\install>del *.pdb /s/q 削除したファイル - D:\work\apache\install\bin\ab.pdb 削除したファイル - D:\work\apache\install\bin\Apache.pdb ... 削除したファイル - D:\work\apache\install\modules\util_ldap.pdb D:\work\apache\install>rd symbols /s/q pdbはデバッグ用情報ファイルらしいので不要。これを消すとinstall以下が80MB強から20MB弱になる。
テキスト整形のルールを表示する