全体表示

[ リスト ]

これから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

#以下は、AuthzSVNAccessFileを使わない時有効
  #<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>を作成して、管理するのが一番無難と感じる。

以上。








.
Hide3
Hide3
男性 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
友だち(1)
  • うまやど
友だち一覧

スマートフォンで見る

モバイル版Yahoo!ブログにアクセス!

スマートフォン版Yahoo!ブログにアクセス!

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Yahoo!からのお知らせ

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
10/31まで秋の行楽キャンペーン実施中
衛生対策製品クレベリンの姉妹ブランド
クレベ&アンドハンドジェルが新登場
今だけ。お試しキャンペーン実施中!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事