歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 10.10搭建svn服務器

Ubuntu 10.10搭建svn服務器

日期:2017/2/28 16:23:23   编辑:Linux教程

為了避免麻煩,首先獲取root權限
sudo -sH

安裝Subversion
sudo apt-get install subversion

新建存儲倉庫
svnadmin create /home/svn

在做文件配置之前,建議先賦予/home/svn文件夾完全讀寫權限
sudo chmod -R 777 */*

下一步做文件配置,首先是/home/svn/conf
修改:
anon-access = read
auth-access = write
password-db = passwd
anon-access 和 auth-access 分別指定匿名和有權限用戶的權限,默認給匿名用戶只讀的權限,如果想拒絕匿名用戶的訪問,只需把 read 改成 none 就能達到目的。password-db 後的 passwd 則為定義用戶名及密碼的文件路徑。這個文件默認跟 snvserve.conf 在同一個目錄。
記住,去掉上述每一句前面的 # ,並且讓其頂格

然後是在pwd文件中添加
svnuser = password
ly = 123456

然後是配置authz,配置信息如下:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
group_admin = ly

# [/foo/bar]
# harry = rw
# &joe = r
# * =

[/]
ly = rw
* =

配置完成以後,就可以導入版本庫了
我現在要把/home/paolo/a22source下的內容導入到版本庫中:
sudo svn import -m "第一次導入" /home/paolo/a22source file:///home/svn
最後顯示:提交後的版本為 1

下面進入搭建SVN服務器:

停止Subversion服務器:
killall svnserve

啟動Subversion服務器:
sudo /usr/bin/svnserve -d -r /home/svn/ --listen-host 192.168.6.174
其中-d表示在後台運行,-r指定服務器的根目錄,www.linuxidc.com這樣訪問服務器時就可以直接用svn://服務器ip來訪問了。如果服務器有多ip的話--listen-host來指定監聽的ip地址. 一般情況下沒有,則無須指定,即默認為localhost。
對於多個代碼倉庫,我們在啟動時也可以用-r選項來指定服務器根目錄,但訪問時需要寫上每個倉庫相對於svn根目錄的相對路徑.
比如,我們有兩個代碼倉庫/home/repo1 和/home/repo2,我們用svnserve -d -r /home --listen-host 192.168.1.16來啟動,那麼在客戶端訪問時可以用svn://192.168.1.16/repo1和svn: //192.168.1.16/repo2來分別訪問兩個項目

完成以後,可以用命令或者客戶端測試服務器是否搭建成功。我用的是RapidSVN客戶端,右鍵點擊書簽,“簽出新的工作副本”,URI:svn://192.168.6.174,目標目錄:/home/paolo/a22svn

友情提醒:
可以用xinetd來啟動svnserve的守護進程。
先安裝xinetd
sudo apt-get install xinetd

在/etc/xinetd.d/下面新建svn文件

( 由於/etc/xinetd.d/下的目錄是只讀的,所以需要用命令來完成新建和讀寫,
新建文件:
sudo touch /etc/xinetd.d/svn
編輯文件:
sudo gedit /etc/xinetd.d/svn

文件內容如下:
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/bin/svnserve
server_args = -i -r /home/svn


}

最後,重啟xinetd /etc/init.d/xinetd restart

Copyright © Linux教程網 All Rights Reserved