Last-modified: 2008-03-23 (日) 02:05:23 (4800d)

 Apache 2.2.8 on Windows に対して、SubVersion 1.4.6 をインストールしてみた。

SubVersionのインストール

SubVersion 1.4.6のダウンロードとインストール

  • ここにあるファイルはApache 2.2に対応していないそうなので、ここにある svn-1.4.6-setup.exe ファイルをダウンロードし、インストールする。

SubVersion 1.4.6の設定

  • 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

  • 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

  • %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

  • httpd.conf の最後の方で以下の記述を追加
    # SubVersion
    Include conf/extra/httpd-svn.conf
  • Apacheを再起動して、http://localhost/svn/test が閲覧できればOK

認証機能の追加

Apache 2.2.8の設定(httpd.conf) Part.3

  • 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

  • %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の作成

  • %Apache_Install_Dir%\bin\htpasswd.exe を実行し、認証ユーザーを作成
    >htpasswd.exe -c "C:/Apache/conf/svnpasswd" guest

AuthzSVNAccessFileの作成

  • テキストエディタでsvnaccessファイルを作成(以下、設定例)
    # Standard Access Permission
    [/]
    jomora = rw
    * = r
    
    [test:/trunk]
    guest = rw

リポジトリ一覧の公開

Apache 2.2.8の設定(httpd-svn.conf) Part.3

  • %Apache_Install_Dir%\conf\extra\httpd-svn.conf を編集し、以下の記述を追加
     SVNListParentPath on
  • 上記の設定だけだと、Subversionの不具合の影響で、Not Found(404)になるので、
    <Location /svn>
    <Location /svn/>
    に変更。 以後、http://jomora.net/svn/ でリポジトリ一覧が閲覧可能。
    http://jomora.net/svn では閲覧不可

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