Ubuntu14下安装svn仓库,以及权限配置
sudo apt-get update
接下來安裝svn
apt-get install subversion
apt-get install libapache2-svn
檢查svn是否安裝成功了:
svn --version
檢查svn是否安裝成功了:
# svn --version
svn, version 1.8.8 (r1568071)
? ?compiled Aug 20 2015, 12:51:30 on x86_64-pc-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
? - with Cyrus SASL authentication
? - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
? - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
? - using serf 1.3.3
? - handles 'http' scheme
? - handles 'https' scheme
如果出現上面的命令,說明svn安裝成功了
1.???????新建一個目錄用于存儲SVN所有文件
# mkdir /svn
2.???????新建一個資源倉庫
# svnadmin create /svn/project
ls /svn/project/
conf??db??format??hooks??locks??README.txt
目錄用途說明:
l??hooks目錄:放置hook腳本文件的目錄
l??locks目錄:用來放置subversion的db鎖文件和db_logs鎖文件的目錄,用來追蹤存取文件庫的客戶端
l??format文件:是一個文本文件,里面只放了一個整數,表示當前文件庫配置的版本號
l??conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等)
3.???????配置svn服務的配置文件svnserver.conf文件
# vi /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = My Test Repository?????????#這是個提示信息
保存
4.???????添加兩個訪問用戶及口令
# vi /svn/project/conf/passwd
#下面是3個用戶,密碼都是123456
[users]
xiaoran.shen = 123456
test1 = 123456
test2 = 123456
保存
注意:對用戶配置文件的修改立即生效,不必重啟svn服務。?
5.??配置新用戶的授權文件
# vi /svn/project/conf/authz
[groups]
admin = xiaoran.shen,test1
user = test2
#[表示]svn上的東西都可以看到。
[/]
@admin?= rw ? ? #表示admin這個組里面的人都可以讀和寫操作
@user?= r ? ? ? ? ? #表示user這個組下的人只可以看
* = ? ? ? ??
保存
格式說明:
版本庫目錄格式:?
[<版本庫>:/項目/目錄]?
@<用戶組名>?=?<權限>?
<用戶名>?=?<權限>
/?表示對根目錄(即/svn/project目錄)下的所有子目錄范圍設置權限;
[/abc]?表示對資料庫中abc項目設置權限;
創建一個admin組,組成員包括xiaoran.shen和test1
創建一個user組,成員只有test2;
admin組對目錄有讀寫權限;
單個用戶test2有讀寫權限;
*=表示除了上面設置的權限用戶組以外,其他所有用戶都設置空權限,空權限表示禁止訪問本目錄,這很重要一定要加上。
注意:對權限配置文件的修改立即生效,不必重啟svn。?
如果想配置[/]下有兩個人可以看,[/doc]文件夾先的內容只有兩個人可以看到可以配置成類似:
[groups]
admin = test1,test2
user = test3,test4
[/]
@admin = rw
* =
[/docdetection]
@admin = rw
@user = rw
* =
經過上面的配置之后user里面的人只可以看“svn://你的服務器ip/docdetection”中的內容,而admin組里面的人可以看到“svn://你的服務器ip/”中的所有內容
6.?啟動svn服務
svnserve -d -r /svn/project/
注意:不要使用系統提供的?/etc/init.d/svnserve start?來啟動,因為系統默認的啟動腳本中沒有使用?–r /svn/project參數指定一個資源。這種情況下啟動的svn服務,客戶端連接會提示“svn: No repository found in 'svn://192.168.11.229/'?”這樣的錯誤。
默認svn服務器端口是3690。 ? ? (注意:訪問的時候不用加上端口號)
殺死svn服務:
# ps -ef|grep svn
root??????4642?????1??0 16:08 ?????????00:00:00 svnserve -d -r /svn/project/
root??????4692??3676??0 16:13 pts/2????00:00:00 grep svn
# kill -9 4642
若要使用/etc/init.d/svnserve?腳本,可以修改start()函數部分,如下:
start() {
????[ -x $exec ] || exit 5
????[ -f $config ] || exit 6
????echo -n $"Starting $prog: "
????daemon --pidfile=${pidfile} $exec $args?-r /svn/project
????retval=$?
????echo
????[ $retval -eq 0 ] && touch $lockfile
????return $retval
}
完成總結
以上是生活随笔為你收集整理的Ubuntu14下安装svn仓库,以及权限配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰山原浆啤酒怎么样 品尝泰山原浆啤酒的口
- 下一篇: 烤箱上的烧烤是多少度?