在工作中,为了提高工作效率,我们都会用版本控制软件来对项目经行管理,比如说svn、git等等。接下来以svbversion为例来谈谈CentOS中安装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,如图:
检出后就可以对项目的代码进行管理了:
到此SVN安装与配置介绍完毕,欢迎大家一起讨论
推荐阅读:
CentOS 6.2 SVN搭建 (YUM安装)
Windows下SVN服务器搭建和使用 + 客户端重新设置密码
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据