Linux搭建SVN服务器

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/4/4-155.html

    之前搭建过一次,没什么难度,但是后来出了点问题,就没再去用,这次重新搭建,遇到很多坑,等我这次排完坑,也对这个版本管理工具有了比较深入的了解,特此写一篇文章,记录一下。我的环境为CentOS 6.5 64位。

1、 先安装啊。。一条简单的命令:
yum -y install subversion
2、 创建一个给svn专门使用的文件夹:
mkdir  /var/svn
3、 在这个文件夹下新建一个仓库:Coselding是仓库名
svnadmin create /var/svn/Coselding
4、 接下来进入创建好的仓库中:
cd  /var/svn/Coselding
里面有如下文件和文件夹:
README.txt:略
conf:配置文件夹
db:版本数据存储目录
format:存储一个整数的文件,此整数代表库层次结构版本
hooks:存放版本库勾子目录
locks:存储库锁目录,用来跟踪库的访问者
接下来重点讲conf下的配置文件的配置问题
5、 进入配置文件夹:
cd  /var/svn/Coselding/conf
ls:查看文件夹下的文件,可看到有三个文件:

 

6、 接下来配置账户密码文件:passwd
进入:vim passwd
如下:

 

它是一个账户密码的键值对,用"="隔开,显然配置很简单的,按"i"进入编辑模式:
 

这样就配置了一个账户啦。你就先配着,稍后再来讲解这些文件到底是什么调用关系。
7、 接下来配置authz文件:
进入vim authz
初始没有配置信息,都是注释的:

 

先配置个用户组,在[groups]这行下面配置用户组:
 

注意:这个admin并不是什么系统的关键字,只是自己取的一个组名称而已。
      如果一个组需要配置多个用户,可以这样:admin=user1,user2(逗号隔开而已,很简单)
到这一步,我们刚才配置的用户就可以通过admin这个组调用到了,可以理解吧?
接下来,为我们刚才配置的组设定相应的权限:

 

[Coselding:/]这个看得出来吧,就是刚才create的仓库Coselding的根路径啊,如果要设置所有仓库的根路径,用[/]
然后下面就是这个仓库路径下的访问权限的设置,如果你有多个仓库,配置多个就可以啦,我这里就配置一个。
*=r:表示其他人有读权限,比如在这里没设定的其他组
@admin=rw:这个@表示引用上面定义的admin组,这不难理解,整句就是admin这个组有读写权限呗
dangerman=:这个应该就是系统关键字了,危险人物没有任何权限。。。反正我没用到,有兴趣可以去了解
8、 然后是配置svn的主配置文件:
进入:vim svnserve.conf
进入编辑模式,去掉[general]下面的四个注释,变成不是注释。。。

 

anon-access = read:表示匿名用户具有读权限,不要的话可以设置成none
auth-access = write:认证用户具有写权限(当然包括了读)
password-db = passwd:指定账户文件夹,这样写表示在和这个配置文件同目录下的passwd文件,这样刚才配置的用户svn不就知道了吗(svn会自动去读取svnserve.conf这个配置文件,再通过这个配置文件就获取到了passwd文件,也因此,其实这个passwd文件完全可以放到别的地方,只是要把路径设置好就行)
authz-db = authz:和passwd文件的同样道理啊,刚才配置的组权限文件也被svn知道啦
至此,你配置的用户、组、权限svn就都知道了,他就可以正常工作哇咔咔
9、 启动svn:svnserve -d -r /var/svn
-d表示后台运行
-r指定根目录,根目录下可以有多个仓库,这样写那些仓库就都能访问啦
查看svn服务启动状态(一看就明白了):ps -ef | grep svn

 

关闭svn:
ps -aux |grep svn  看pid
kill -9             进程杀掉
注:svn端口号为3690,有开防火墙的自己把它开放了。
    如果遇到目录权限问题,试试chmod命令
10、 到目前为止,svn服务器端就配置好了,但是有个坑,svn是不会开机自启的,这个别忘了!
到自己喜欢的目录下,我直接在根目录,写个shell脚本:
vim  /root/svn.sh
写入:(很显而易见的,就不解释了)
#!/bin/bash
svnserve -d --listen-port 3690 -r /var/svn
 添加执行权限:
       chmod ug+x /root/svn.sh  (这样就直接可以运行这个脚本来启动svn了)
把这个脚本设定开机运行:
   打开自启动文件列表:vim /etc/rc.d/rc.local
   在最后面添加自启动条目:

 

OK!

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/4/4-155.html

你可能感兴趣的:(项目相关,linux)