在工作中,为了提高工作效率,我们都会用版本控制软件来对项目经行管理,比如说svn、git等等。接下来以svbversion为例来谈谈安装svn和部署项目的过程

一、安装svn服务端,并使用匿名用户访问和管理svn项目

1、首先安装svn服务端

yum install subversion -y

2、设置版本库的目录,默认监听端口号3690

svnserve -d -r /usr/svndata

3、创建svn项目

svnadmin create /usr/svndata/gztest

4、测试检出项目是否成功,记得修改iptables加入3690端口号为允许

cd /var/www
svn checkout svn://ip/gztest ./

5、测试提交项目是否成功

touch gztest.php
svn commit ./

提交的时候报错:connection refused by,在网上看了好多都说用户没有分配权限,可以我测试的是匿名用户,所有人都可以检出和修改代码,于是查看配置文件vim /usr/svndata/gztest/conf/svnserve.conf取消注释了下面这行:

anon-access = read    #取消前面的分号注释并保证没有空格

并在改行下面新添加了一行:

anon-access = write

需要注意的是:所有关于svn的配置文件前面都不要有空格,否则会报错,这是svn配置文件的规定

6、修改完成后再提交svn,没有出现错误


二、基于用户权限分配的svn项目管理

1、修改项目的配置文件vim /usr/svndata/gztest/conf/svnserve.conf,添加如下内容:

anon-access = none      #禁止匿名用户访问
auth-access = write     #验证用户具有写的权限
password-db = passwd            #保存用户名和密码的文件
authz-db = authz        #用户权限认证的文件
realm = gztest          #svn项目文件名字  --个人理解

2、编辑 vim /usr/svndata/gztest/conf/passwd 文件添加一个用户:

mytest = mytest     #等号左边是用户名右边是密码

3、编辑 vim /usr/svndata/gztest/conf/authz 文件添加用户组,并增加用户权限控制:

gztest = gzinfo,gznew #左边是用户组、右边是该用户组中包含的用户名

4、设置用户组对gztest项目具有读写的权限:

[gztest:/]
@gztest = rw    #这里也可以对单独的用户设置读写权限

5、在netbeans中使用用户名检出项目gztest,如图:CentOS中SVN服务器的配置过程_CentOS

检出后就可以对项目的代码进行管理了:

CentOS中SVN服务器的配置过程_SVN版本控制_02

到此SVN安装与配置介绍完毕,欢迎大家一起讨论