Linux下SVN服務器搭建(CentOS+Subversion)

安裝

(centos下yum便可方便的完成安裝)vim

# yum install subversion

測試安裝是否成功:centos

# svnserve --version      回車顯示版本說明安裝成功

創建版本庫

# mkdir /svndata              建立svn數據目錄(目錄可自行制定)
# svnadmin create /svndata/kuming

kuming就是版本庫的名字,能夠改變!瀏覽器

配置svn配置文件

(爲了方便管理,這裏多個庫調用相同的配置文件。)bash

#每一個版本庫建立以後都會生成svnserve.conf主配文件
# vim /svndata/kuming/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svndata/conf/passwd
authz-db = /svndata/conf/authz
realm =kuming
 
# mkdir /svndata/conf
# vim /svndata/conf/passwd      //svn用戶配置文件
[users]
user1 = password1
user2 = password2
user3 = password3
user4 = password4
 
# vim /svndata/conf/authz      //svn權限控制配置文件
[groups] #設置組
group1 = user1,user2 #多用戶用逗號隔開
 
[/] #根目錄權限設置(就是「kuming」這個文件夾)
user3 = rw #用戶1權限是:可讀寫
user4 = r #用戶2權限是:可讀,不可寫
user = #什麼都沒寫表明沒有任何權限
 
@group1 = rw #設置組權限
 
[kuming:/123] #設置根目錄下「123」文件夾的權限
#說明「123」這個文件件怎麼建立?這是在SVN服務器配置好以後,建立一個權限很高的用戶在客戶端登陸SVN
#而後建立一個文件夾「123」。

啓動服務器

# svnserve -d -r /svndata
-d表示以daemon方式(後臺運行)運行
-r /svndata指定根目錄是/svndata
關閉SVN 服務器
# killall svnserve
 
# ps aux | grep svnserve    查看服務,端口:3690

客戶端使用的軟件是TortoiseSVN服務器

瀏覽方法:

打開版本庫瀏覽器輸入:svn://ip-addr/kuming/文件夾名svn

下面是隨便折騰一個小腳本用來管理服務器的啓動、重啓、中止等操做測試

# vim svn
# chmod +x svn
#!/bin/bash
case "$1" in
start)
svnserve -d -r /svndata
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server Already Runnning. Port:3690"
else
echo "SVN Server Does Not Start"
fi
;;
reload)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
killall svnserve && svnserve -d -r /svndata
echo "Reload OK"
else
echo "SVN Server Is Not Running"
fi
;;
stop)
killall svnserve
echo "SVN Server Has Been Stopped"
;;
status)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server (pid:$pid) 正在運行..."
else
echo "SVN Server 中止運行..."
fi
;;
*)
echo "$0: Usage: $0 {start|status|stop|reload}"
exit 1
;;
esac

該腳本使用方法我想應該不用多說了,全文完。code

相關文章
相關標籤/搜索