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]]の影響で、一覧が表示されないので、
- 上記の設定だけだと、[[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 では閲覧不可

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS