最近,来到一家新公司上班,项目处于初级阶段,几个程序员之间还是用文件拷贝方式合并代码,于是用visualsvn在windows平台下搭建了svn服务。后来想着,在自己的linux服务器下也装svn试试,于是,找度娘问谷歌,尝试了下,成功了!期间也遇到了一些问题…
服务器环境:
1.安装svn yum install -y subversion
2验证是否成功安装 svnserve –version
3创建svn版本库 mkdir /var/svn
cd /var
svnadmin create svn/repo
4配置svn 创建版本库成功后,在这个版本库的conf目录下会生成3个配置文件
1)svnserve.conf是svn服务综合配置文件
2)passwd是用户名和密码配置文件
3)authz是权限配置文件
4.1修改passwd文件,test=123456,创建用户名为test,密码为123456的用户
4.2(可选)配置可使用明文密码 vim /$HOME/.subversion/servers找到store-plaintext-passwords = yes
4.3修改authz文件
[groups]
team=test1,test2
[repo:/]
@ream=rw
把test1和test2用户加入这个团队,本团队的人对此版本库有读(read)和写(write)的权限。[repo:/]设置权限起作用的区域是在版本库的根目录下
4.4修改svnserve.conf
[general]
anon-access = none //匿名用户及未登陆用户(anonymous)不允许接入
auth-access = write //授权用户(authorized)即登陆用户有写的权限
password-db = passwd //启用登陆,在首次checkout时弹出登陆框
authz-db = authz //对应authz配置文件
5启动svn svnserve -d -r /var/svn 我就是卡在这里一天,好坑啊!!!一开始,是因为防火墙拦截了,后来关了防火墙,又提示找不到url,折腾了很久,发现问题就出在这里,svnserve -d是以服务(daemon)的方式启动,至于-r是路径,我一开始写成svnserve -d -r /var/svn/repo,一直报错,后来才发现,路径只要写到/var/svn问题就解决了!
6关闭svn ps -aux | grep svn 找到进程id,然后kill -9 进程id
7然后就可以 svn checkout svn://域名或ip/版本库 例如svn://www.feehi.com/repo0
完成效果
转载请注明:飞嗨 » linux centos搭建svn服务器