SVN部署(基于Linux)

第一步:通过yum命令安装svnserve,命令如下:

yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装位置,可以用以下命令:

rpm -ql subversion

第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

mkdir /var/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /var/svnrepos/xxxx  

 (xxxx为你预期的版本库名称,可自定义)

创建成功后,进入xxxx目录下

cd /var/svnrepos/xxxx

进入目录,可以看见如下文件信息:

total 24

drwxr-xr-x 2 root root 4096 May  2 13:48 conf

drwxr-sr-x 6 root root 4096 May  2 13:48 db

-r--r--r-- 1 root root    2 May  2 13:48 format

drwxr-xr-x 2 root root 4096 May  2 13:48 hooks

drwxr-xr-x 2 root root 4096 May  2 13:48 locks

下·-rw-r--r-- 1 root root  229 May  2 13:48 README.txt

第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx,进入conf

cd /var/svnrepos/xxxx/conf

conf目录下,一共存放三份重要的配置文件,如下:

total 12 -rw-r--r-- 1 root root 1080 May  2 13:48 authz -rw-r--r-- 1 root root  309 May  2 13:48 passwd -rw-r--r-- 1 root root 3090 May  2 13:48 svnserve.conf

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

1.编辑 authz 文件(注意:[/]也是必须的

 SVN部署(基于Linux)_第1张图片

 

 #用户组(权限分组管理,组名 = 用户1,用户2)

[groups]

teacher = zhengying,zhugc

class1 = zhangsan

 #拥有根目录(版本库)下权限的用户组配置,r代表可读权限--可以从svn服务器上dowm资料,但是不能上传和删除资料;rw代表可读可写权限--可以从svn服务器上dowm资料,也可以上传和删除资料

[/]

@teacher = rw

 #拥有版本库下class1文件夹权限的用户组配置(xinfs为版本库)

[xinfs:/class1]

@class1 = rw

2.编辑 passwd 文件,管理用户密码(用户名 = 密码)

 SVN部署(基于Linux)_第2张图片

 

3.编辑 svnserve.conf 文件,取消下面几行注释注意:配置的前面不能有空格,一定要顶格写

 SVN部署(基于Linux)_第3张图片

 

SVN部署(基于Linux)_第4张图片

 

anon-access = none:表示禁止匿名用户访问。

auth-access = write:表示授权用户拥有读写权限。

password-db = passswd:指定用户名口令文件,即 passwd 文件。

authz-db = authz:指定权限配置文件,即 authz 文件。

realm = /var/svnrepos:指定认证域,即 /var/svnrepos 目录。

第五步:防火墙开启(iptable防火墻)

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】

vi /etc/sysconfig/iptables

添加配置信息

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

保存退出

service iptables restart #重启防火墙使配置生效

六:启动svn服务器(注意:重启命令中不要带入版本号

svnserve -d -r /var/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

ps -ef | grep 'svnserve'

七:客户端访问svn服务器

windows客户端,输入地址:svn://ip地址:3690/xxxx   (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)

弹出输入用户名和密码,输入即可访问

或者在linux服务器输入命令测试:

svn co svn://ip地址:3690/xxxx

如下为例子:

 

 

问题1:输入账号密码后,提示 svn: Authorization failed解决办法

authz 文件 [/] 改为 [\] 试试

你可能感兴趣的:(SVN部署(基于Linux))