CentOS6.7部署SVN服务器

SVN的介绍

https://zh.wikipedia.org/wiki/Subversion


安装说明:

系统环境:CentOS 6.75

安装方式:YUM安装


安装:

先确认本地是否已经安装subversion

rpm -qa subversion

如果有安装subversion,先删除旧版本

yum remove subversion

安装svn

yum -y install subversion

检查版本

svnserve --version


安装后的配置:


创建SVN库:

mkdir -p /opt/svn

创建repo代码库

svnadmin create /opt/svn/repo

创建完成后,生成以下文件

[root@localhost repo]# ll
total 24
drwxr-xr-x. 2 root root 4096 Jun 15 20:05 conf
drwxr-sr-x. 6 root root 4096 Jun 15 20:26 db
-r--r--r--. 1 root root    2 Jun 15 19:08 format
drwxr-xr-x. 2 root root 4096 Jun 15 19:08 hooks
drwxr-xr-x. 2 root root 4096 Jun 15 19:08 locks
-rw-r--r--. 1 root root  229 Jun 15 19:08 README.txt



配置代码库:

cd /opt/svn/repo/conf


添加账户密码psswd配置

修改passwd文件,通过在文件中追加 账号 = 密码来创建用户

[users]
# harry = harryssecret
# sally = sallyssecret
zeng = 123456
zhou = 123456



权限控制authz配置

svn的权限控制都是在authz文件中设定,该文件定义了哪些用户可以访问哪些目录

[groups]            #

admin = hello,www   #创建一个admin组,将用户hello、www加入到组

[/]                 #根目录权限设置(就是“svn”这个文件夹)

aaa = rw            #aaasvn下的所有版本库有读写权限

[repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

@admin = rw         #admin组的用户对repo版本库有读写权限

[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限

[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限  权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。


服务svnserve.conf配置

[root@admin conf]#vim svnserve.conf

追加以下内容:

[general]
#
匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#
使授权用户有写权限
auth-access = write
#
密码数据库的路径
password-db = passwd
#
访问控制文件
authz-db = authz
#
认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm = repo


防火墙配置

使用svn必须在SVN服务器上开发防火墙端口,或者直接关闭防火墙

防火墙开发svn的端口,编辑/etc/sysconfig/iptables文件,加入以下配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


SELinux配置

建议直接disable掉selinux


启动SVN

svnserve -d -r /opt/svn/

停止svn服务

killall svnserve

查看svn的服务进程

[root@localhost conf]# netstat -tunlp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1473/svnserve

 

客户端的安装:

windows上安装客户端

客户端下载地址:http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/

需要安装tortoisesvn客户端和语言包。

安装完成后,需要重启。然后更改语言

wKiom1dqF4Pgd8X6AAFmDEdn3bU770.png

wKioL1dqF4WjsoxDAAKRFurgTFU004.png


测试

在客户端桌面上创建一个svntest的目录。然后在桌面上右键 ==> SVN检出

wKiom1dqGRbgN9c_AADX55TFBeQ200.png

wKioL1dqg4mgJ7QXAAFINQ9VWn8056.png


wKioL1dqGUCywdK4AAGmR0mgM-Y197.png



客户端上传文件

windows上要添加的文件移动至repo文件夹进行上传,上传哪个文件就点击右键―添加

添加完成后,再次右键==>提交

客户端的具体使用,可以参考下面的官网文档。

http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf


修改文件的正确操作流程:

先更新要修改的文件,然后将文件锁定,这样别人虽然能同时修改这个文件,但是不能提交。当你编辑完成并提交后,文件自动解除锁定



如何创建并启用多个代码库?


跟前面的操作一样,创建代码库,这里以新建一个名为it的代码库为例

svnadmin create /opt/svn/it

然后和前面一样,修改配置文件。


启用代码库,监听在不同的端口上

svnserve -d -r /opt/svn/it --listen-port 3691
[root@localhost conf]# netstat -tunlp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1740/svnserve       
tcp        0      0 0.0.0.0:3691                0.0.0.0:*                   LISTEN      1791/svnserve



参考文档:http://lxw66.blog.51cto.com/5547576/1343900

相关文章
相关标签/搜索