- 追加された行はこの色です。
- 削除された行はこの色です。
Apache 2.2.8 on Windows に対して、SubVersion 1.4.6 をインストールしてみた。
* SubVersionのインストール [#e6c206bc]
*** SubVersion 1.4.6のダウンロードとインストール [#h198673b]
- [[ここ:http://subversion.tigris.org/servlets/ProjectDocumentList?expandFolder=91&folderID=91]]にあるファイルはApache 2.2に対応していないそうなので、[[ここ:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91]]にある svn-1.4.6-setup.exe ファイルをダウンロードし、インストールする。
*** SubVersion 1.4.6の設定 [#q625500a]
- SVNの親パスを作成
>md D:\Inetpub\svn
- "test"プロジェクトのリポジトリを作成、初期化
>svnadmin create D:\Inetpub\svn\test
- "test"の下に、"trunk"、"tags"などを作成
>svn mkdir file://localhost/d:/Inetpub/svn/test/trunk -m "trunkディレクトリ作成"
>svn mkdir file://localhost/d:/Inetpub/svn/test/tags -m "tagsディレクトリ作成"
>svn mkdir file://localhost/d:/Inetpub/svn/test/branches -m "branchesディレクトリ作成"
- 試しに、テストファイルをリポジトリにインポート
>svn import -m "Test.txtのインポート" D:\testdir file://localhost/d:/Inetpub/svn/test/trunk
*** Apache 2.2.8の設定(httpd.conf) Part.1 [#u3bea147]
- httpd.conf で以下の記述を有効化
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
- 更に、LoadModule群の最後に、以下の記述を追加
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
- 一度、Apache2を再起動し、正常に起動するか確認
-- もし動かない場合は、C:\Program Files\Subversion\bin\libdb44.dll を、%Apache_Install_Dir%\bin の下にコピーしてみる
--- ※ 私の環境ではコピーの必要はなかったので試せていません。
*** Apache 2.2.8の設定(httpd-svn.conf) Part.1 [#fe834419]
- %Apache_Install_Dir%\conf\extra\httpd-svn.conf を作成し、以下の記述を追加
<Location /svn>
DAV svn
SVNParentPath "D:/Inetpub/svn"
</Location>
-- セパレータは必ず"/"。"\"ではNG
*** Apache 2.2.8の設定(httpd.conf) Part.2 [#k9203c0a]
- httpd.conf の最後の方で以下の記述を追加
# SubVersion
Include conf/extra/httpd-svn.conf
- Apacheを再起動して、http://localhost/svn/test が閲覧できればOK
* 認証機能の追加 [#d2e667b4]
*** Apache 2.2.8の設定(httpd.conf) Part.3 [#hfee3d33]
- httpd.conf で以下の記述を有効化
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_file_module modules/mod_authn_file.so
*** Apache 2.2.8の設定(httpd-svn.conf) Part.2 [#waa11a2c]
- %Apache_Install_Dir%\conf\extra\httpd-svn.conf を編集し、以下の記述を追加
AuthType Basic
AuthName "Subversion Repositories"
AuthUserFile "C:/Apache/conf/svnpasswd"
Require valid-user
AuthzSVNAccessFile "C:/Apache/conf/svnaccess"
*** AuthUserFileの作成 [#a28f000b]
- %Apache_Install_Dir%\bin\htpasswd.exe を実行し、認証ユーザーを作成
>htpasswd.exe -c "C:/Apache/conf/svnpasswd" guest
*** AuthzSVNAccessFileの作成 [#z7d06b0c]
- テキストエディタでsvnaccessファイルを作成(以下、設定例)
# Standard Access Permission
[/]
jomora = rw
* = r
[test:/trunk]
guest = rw
* リポジトリ一覧の公開 [#y0aca016]
*** Apache 2.2.8の設定(httpd-svn.conf) Part.3 [#bcd6b6a9]
- %Apache_Install_Dir%\conf\extra\httpd-svn.conf を編集し、以下の記述を追加
SVNListParentPath on
- 上記の設定だけだと、[[Subversionの不具合:http://subversion.tigris.org/issues/show_bug.cgi?id=2753]]の影響で、Not Found(404)になるので、
<Location /svn>
を
<Location /svn/>
に変更。 以後、http://jomora.net/svn/ でリポジトリ一覧が閲覧可能。
※ http://jomora.net/svn では閲覧不可