apt-get install apache2 apache2.2-common apache2-utils apache2-doc libapache2-svn subversion
# 建立 Repositorys 的目錄
mkdir /var/lib/svn
# 建立三個 Repository
svnadmin create /var/lib/svn/repo1
svnadmin create /var/lib/svn/repo2
svnadmin create /var/lib/svn/repo3
# 變更 Repositorys 的權限給 Apache
chown -R www-data:www-data /var/lib/svn
# 啟用 Apache 中的 dav_svn
a2enmod dav_svn
# 設定 SVN 使用者帳號
htpasswd -c /etc/apache2/dav_svn.passwd user1
htpasswd /etc/apache2/dav_svn.passwd user2
htpasswd /etc/apache2/dav_svn.passwd user3
# 編輯 SVN 配置檔
vim /etc/apache2/mods-available/dav_svn.conf
<Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd AuthzSVNAccessFile /etc/apache2/dav_svn.authz <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
# 編輯 SVN 資源權限
vim /etc/apache2/dav_svn.authz
# 設定使用者群組 [groups] group1 = user1,user2 group2 = user1,user3 # 設定全域皆可讀取 [/] * = r # 指定 repo1 只有 group1 可以寫入 [repo1:/] @group1 = rw # 指定 repo1 中 blog 這個目錄只有 uesr2 可以寫入 [repo1:/blog/] uesr2 = rw # 指定 repo2 只有 group2 可以寫入 [repo2:/] @group2 = rw # 指定 repo3 只有 user1 可以寫入 [repo3:/] user1 = rw
# 重新啟動 Apache
/etc/init.d/apache2 restart
參考來源:
Ubuntu - 安裝 SVN (Subversion Server)
Subversion用户,权限管理
0 回應:
張貼留言