yuu_nkjm blog
2011-11-30(Wed) [長年日記]
[openSUSE][Apache][WebDav][SVN] svn over httpの設定
svn co svn+ssh://hoge.nkjm.info/svn/nkjm workspace
ではなく,
svn co http://hoge.nkjm.info/svn/nkjm workspace
をやりたい.
サーバの設定
digest認証
yastの/etc/sysconfig エディタで,Network/WWW/Apache2を選択しAPACHE_MODULESを編集する.auth_digestを追加する.
SVNの準備
yastでsubversion,subversion-serverを入れる.
WebDavの準備
SVN on DAVの設定
yastの/etc/sysconfigエディタで,Network/WWW/Apache2でAPACHE_MODULESを編集する.dav_svn authz_svnを追加する.
/etc/apache2/conf.d/subversion.conf(もしくはホスト毎の設定ファイル)に以下の設定を書き込む.
閲覧するだけでもパスワードが必要
<Location /svn> DAV svn SVNPath /svn/repos/nkjm AuthType Digest AuthName "Private" AuthUserFile /hogehoge/.htdigest Require valid-user Options Indexes Order allow,deny Allow from all </Location>
閲覧するだけならパスワードなし,書き込み時には必要(うまくいかなかった)
以下の設定でうまくいくと思ったんだけど,意図通りは動作しなかった.
<Location /svn> DAV svn SVNPath /svn/repos/nkjm <LimitExcept GET PROPFIND OPTIONS REPORT> AuthType Digest AuthName "Private" AuthUserFile /hogehoge/.htdigest Require valid-user </LimitExcept> Options Indexes Order allow,deny Allow from all </Location>
SVNレポジトリの作成
svn create /svn/repos/nkjm chmod -R wwwrun:www /svn/repos/nkjm
WebDAVのテスト
SVNクライアントによるアクセス
http経由でチェックアウト出来るか,コミットできるかを確認する.
svn co http://hoge.nkjm.info/svn/nkjm workspace cd workspace svn add README svn add ADD_FILE_TEST svn commit -m "Add files."
ブラウザによるアクセス
"http://hoge.nkjm.info/svn/nkjm"にブラウザからアクセスする.
cadaver
cadaverというdavクライアントがあるらしい.yastでcadaverを入れる.
cadaver http://hoge.nkjm.info/svn/nkjm
備考・注意事項
- ユーザ毎に,閲覧権限,書き込み権限を与える様な設定はできていない.やりたい場合は,以下の記事を参照.
リポジトリの中も細かく制御したいorユーザごとの制御もしたい場合 †
<Location "/svn/repos"> DAV svn SVNParentPath /absolute/path/to/repository/parent AuthzSVNAccessFile /my/svn/authz/file AuthType Basic AuthName "Subversion repository" AuthUserFile /my/svn/user/passwd/file Require valid-user </Location>
- /my/svn/authz/file
# グループ定義 [groups] grp1 = user1, user2 grp2 = user1, user3 # 全ユーザに全リポジトリ以下の読み込み権限を与え、 # user0に全リポジトリ以下の読み書き権限を与える。 [/] * = r user0 = rw # grp1に属するユーザにproject1リポジトリ以下の読み書き権限を与える [project1:/] @grp1 = rw # grp2に属するユーザにproject2リポジトリのtrunk以下の読み書き権限を与える [project2:/trunk] @grp2 = rw
- /my/svn/authz/file
- レポジトリの持ち主がwwwrun:wwwになっているので,ssh+svnでコミットしようとするときに注意する必要がある.
- HTTPプロキシ経由でしか外部に出られないようなケースもあるので,HTTPでSVNが扱えると便利
- DavとSVNを使おうとするディレクトリに対して,"Options Indexes"が必要なようだ.DAV svnがあれば,よろしくやってくれるのかと思っていたけれど.
参考ページ
- https://www.google.co.jp/ ×47
- http://okwave.jp/qa/q7177191.html ×10
- https://www.google.com/search ×3
- http://jp.hao123.com/yahoo-search-demo-sample?quer... ×1
- http://okwave.jp/qa/q7177191/a20045649.html ×1
- https://www.google.com.tw/ ×1
- http://www.so-net.ne.jp/search/web/?query=subversi... ×1
- http://search.mobile.yahoo.co.jp/pcsite/list?p=svn... ×1
- http://qa.itmedia.co.jp/qa7177191.html ×1
- http://ziddy.japan.zdnet.com/qa7177191.html ×1
- linkstation subversionを入れる ×2 / subversion authz パスワードなし ×1 / svn dav allow deny ×1 / yastでsvnのインストール ×1 / svnauthz 設定 ×1 / subversion インストール ×1 / svn proxy "svn://svn" ×1 / http svn パスワード 設定 apache2 ×1 / ipad ftp webdav ssh subversion ×1 / opensuse12 webdav ×1 / subversion authzfile ×1 / svn authz parent ×1 / svn sub ×1 / subversion 書き込み権限 authz ×1 / svn ユーザー毎の権限 ×1 / svn ブラウザ ×1 / suse svn ユーザー追加 ×1 / SVN dav 権限 ×1 / cadaver プロキシ設定 ×1 / svn passwdfile htaccess ×1 / subversion authz man ×1 / xampp webdav apache 設定 windows digest ×1 / Svnauthz svn group設定 ×1 / svn 外部アクセス https ×1 / http経由 コミット ×1 / svn svn.authz で細かく ×1 / cadaver AWS ×1 / samba subversion http ×1 / subversion svnauthz groups ×1 / subversion webDAV 書き込み ×1 / svn ×1