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 回應:
張貼留言