|
これからSVNをUnix上で管理する必要があるのだが、その前に自宅のパソコンでXAMPPを使って練習した。
忘れない為にも、早速備忘録として、書き留めておこう。
まず、XAMPPはインストール済みだったので、割愛。
Subversionは、以下にWindowsのバイナリーがあるので、最新をダウンロードする。 ただし、XAMPPのApacheのバージョンにあったものを選ぶ。
XAMPPのapacheのバージョンは、xamppのappacheのbin ディレクトリーで、 httpd -v でみれる。
C:\xampp\apache\bin>httpd -v
Server version: Apache/2.2.14 (Win32)
Server built: Nov 11 2009 14:29:03 ダウンロードしたのはSVNのZIPファイル。 今回は、xamppのインストールディレクトリーに展開。
C:\xampp\svn-win32-1.6.6
あとは、mod_dav_svn.so と、mod_authz_svn.soを、apacheのmodulesのDirectoryへコピー
httpd.confで、
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
が、コンメントアウトされているのを確認にして、
<Location /svn>
DAV svn SVNParentPath "c:/work/svn-apache-repo" #AuthType Basic #AuthName “Subversion repository” #AuthUserFile “c:\svn_conf\passwd” #Require valid-user </Location> 追加。
今回は、Auth使わず
以上で、apache側をおしまい。
Subversionの方では、Repositoryを、自分で作成。
SVNの親パスを作成。 c:\work\svn-apache-repo
以下を行うまえに、svnをインストール(展開した)DirectoryをWindowsのPathを追加していおく。
私の場合、
C:\xampp\svn-win32-1.6.6\bin;
Repositoryの作成。
svnadmin create c:\work\svn-apache-repo\myrepo
myrepoの下に、trunk, tags, branchesを作成。
svn mkdir file://localhost/c:/work/svn-apache-repo/myrepo/trunk -m "create trunk dir"
svn mkdir file://localhost/c:/work/svn-apache-repo/myrepo/tags -m "create tags dir"
svn mkdir file://localhost/c:/work/svn-apache-repo/myrepo/branches -m "create branches dir"
あとは、SVNで管理したいコードをインポートしておく。
svn import -m "import myCodes folder" myCodes file://localhost/c:/work/svn-apache-repo/myrepo/trunk/myCodes
以上。 あとは、eclipseでもtortiseSVNからでも好きなところへCheckOutすればよい。
追記:==============================
結構はまったが、最終的にDigestを使ったユーザー認証と、AuthzSVNAccessFile を利用した制御で、SVNのRepositoryアクセスを細かく指定することが出来るようになった。
# SVN repository configuration.
<Location /myrepo> # myrepoはRepository名
DAV svn
# SVNListParentPath on
SVNPath "C:/work/svn-apache-repo/myrepo" #ここは、自分がRepositoryとして作成した絶対パス
#以下、認証の設定ですが、ここではコメントアウト
AuthType Digest
AuthDigestDomain /myrepo/
AuthName "Subversion repository" # ダブルクオートしないとエラーになった。
AuthUserFile "C:/xampp/apache/conf/svnpasswd.digest" #ダイジェストパスワード
AuthzSVNAccessFile "C:/xampp/apache/conf/svnaccess" #このファイルで権限を細かく設定
Require valid-user
#<LimitExcept PROPFIND OPTIONS REPORT>
# Require valid-user
#</LimitExcept>
</Location>
大事なことは、SVNのクライアントでCheckOutする際に、ただしく、Repository (例:http://localhost/myrepo/trunk/myCodes )を指定してCheckOutしておかないと、あとでRepositoryのアクセスに403のエラーがでたり、Not authorized to open root of edit operation
などと言う、エラーがでて、はまることになる。
SVNParentPath "C:/work/svn-apache-repo" なんてのも使用できるのかもしれないが、なんかはまったので、もう使いたくない ^^;
svn.confで、レポジトリー毎に <Location>を作成して、管理するのが一番無難と感じる。
以上。
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- パソコン




