CentOS 7下搭建SVN服务器&多项目教程

windows下使用到的操作软件:
putty、TortoiseSVN

安装步骤:
1.使用 putty 连接Linux终端后下载安装SVN服务端

yum install subversion

2.查看SVN服务端安装版本

svnserve --version

 3.创建SVN版本库目录,project1、project2分别为“项目1”、“项目2”

mkdir -p /home/svn/project1
mkdir -p /home/svn/project2

 4.创建版本库

svnadmin create /home/svn/project1
svnadmin create /home/svn/project2

执行了这两句命令之后会在/home/svn/project1、/home/svn/project2目录下生成如下这些文件:conf db format hooks locks README.txt

 

 

 5.创建版本库公共配置文件存放目录,随便打开一个项目版本库复制一份conf目录(即:/home/svn/project1/conf)到 /home/svn 目录下

cp -r /home/svn/project1/conf /home/svn/conf

 

 

 6.清空刚才创建的项目版本库conf目录,删除库的所有配置文件

rm -f /home/svn/project1/conf/*
rm -f /home/svn/project2/conf/*

 

 

 

 7.进入/home/svn/conf目录(进行版本库配置)

cd /home/svn/conf
authz         - 文件是权限控制文件
passwd        - 是帐号密码文件
svnserve.conf - SVN服务配置文件

 

 

 

 8.设置账号密码 vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如下

user1 = 123456
user2 = 123456
user3 = 123456
user4 = 123456
user5 = 123456

 

 

 9.设置用户权限&项目分组 vi authz
在[groups]块中添加项目分配用户,格式:项目目录名=用户名(账号),如下

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
project1 = user1,user2,user3,user4,user5
project2 = user1,user2,user3

 

在末尾添加如下代码:

[/]
* = r
root = rw

[project1:/]
@project1 = rw

[project2:/]
@project2 = rw

 

@project2 = rw 中的"rw"意思是[groups]下定义的用户对指定的Project版本库有读写权限

10.修改svnserve.conf文件 vi svnserve.conf
打开下面的几个注释,并修改如下:

   anon-access = none #匿名用户可读(none匿名不可读写)
   auth-access = write #授权用户可写
   password-db = ../../conf/passwd #使用哪个文件作为账号文件
   authz-db = ../../conf/authz #使用哪个文件作为权限文件
   realm = /home/svn # 认证空间名,版本库所在目录

 

 

 

 11.复制 svnserve.conf 配置文件到刚创建的所有项目版本库的conf目录下

cp -f /home/svn/conf/svnserve.conf /home/svn/project1/conf/svnserve.conf
cp -f /home/svn/conf/svnserve.conf /home/svn/project2/conf/svnserve.conf

好啦,到这里仅剩最后一步就完成了时需说明一下 /home/svn/conf 下的svnserve.conf 文件,当SVN服务启动时他并不会被版本库载入,而真正被载入的配置是相对每个Project/conf里的svnserve.conf 文件,所以只是备份在当前目录下为了以后添加项目时方便复制到新的Project/conf里,因此所有项目版本库conf目录下的svnserve.conf文件都是一样的!当然啦每个Project/conf里的svnserve.conf 文件都复制好了后 /home/svn/conf 下的svnserve.conf 文件也可以被删掉。

 

 12.启动svn版本库服务

svnserve -d -r /home/svn(停止SVN命令  killall svnserve)

 配置防火墙端口,开放3690端口(SVN默认端口)

firewall-cmd --zone=public --add-port=3690/tcp --permanent

 

记得重启防火墙

firewall-cmd --reload

 

 

 CentOS 7 以下版本防火墙端口配置如下:

[root@localhost conf]# vi /etc/sysconfig/iptables 
添加以下内容: 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT 
保存后重启防火墙 
[root@localhost conf]# service iptables restart 
或是关闭防火墙 :service iptables stop

13.windows 上测试搭建是否成功
输入SVN地址:

 

 输入用户名和密码:

 

 如果能够checkout 则表示SVN服务器搭建并设置成功了,到此为止SVN服务器的搭建就已经完成了!

以下是远程Linux系统中的一些操作命令和快捷键:
cd 打开目录
cp 复制目录或文件
ls 查看当前目录文件
cat 查看文件内容
vi 编辑文件 (操作快捷键 按"i"插入模式,按"Esc"退出插入模式。":q!"取消编辑不保存编辑内容。":x"保存并退出vi编辑。)

 

posted @ 2020-10-15 10:56  wei-wei  阅读(963)  评论(0编辑  收藏  举报