Linux之centos7环境搭建SVN服务器及配置指导

一、SVN简介

        SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
        SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。
        在windwos和linux上都可以搭建。在windwos上常用visualsvn进行搭建,可以提供windwos的管理配置界面。在linux上的话,这里推荐使用Subversion Edge。就是一个svn+apache实现的web端管理,且在linux上的安装非常简单方便。
        SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客户端软件。本文介绍的是第二类的安装部署方式。

二、环境准备

安装ssubversionedge要求如下:

  • Java 1.6 or later must be installed. We recommend the JRE provided by
    Sun/Oracle. When testing on 64-bit Linux we have used the 64-bit JVM.
  • Python 2.4 to 2.7 must be installed.

Subversion Edge的运行需要java环境,所以要安装jdk。并设置JAVA_HOME的环境变量。
1、下载安装包并解压:

tar zxvf jdk-8u211-linux-x64.tar.gz

2、JDK安装参照我的另外一篇博客,连接如下

https://blog.csdn.net/carefree2005/article/details/111314687

3、centos7默认安装了jdk1.8和python2.7

本实例操作系统版本为centos7.6
[root@test1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@test1 ~]# java -version
openjdk version “1.8.0_181”
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@test1 opt]# python --version
Python 2.7.5

三、SVN安装部署

1、下载ssubversionedge软件包

此处下载的版本为ssubversionedge5.2.4
#wget https://www.collab.net/sites/default/files/downloads/CollabNetSubversionEdge-5.2.4_linux-x86_64.tar.gz

2、解压软件包

#tar -zxvf CollabNetSubversionEdge-5.2.4_linux-x86_64.tar.gz

3、创建svn用户

#useradd svn
#cd /opt
#chown -R svn.svn csvn

4、安装程序

#cd csvn
#sudo -E bin/csvn install #普通用户执行安装步骤
#bin/csvn install #root用户执行安装步骤
如果二选一执行即可

执行完install后提示如下
[root@test1 csvn]# bin/csvn install
Detected RHEL or Fedora:
Installing the CSVN Console daemon…
Setting RUN_AS_USER to: ‘root’. Please edit ‘…/data/conf/csvn.conf’ if this needs to be adjusted
Setting JAVA_HOME to: ‘’. Please edit ‘…/data/conf/csvn.conf’ if this needs to be adjusted.

5、编辑配置文件data/conf/csvn.conf

按照如下提示修改
RUN_AS_USER=svn
JAVA_REQUIRED_VERSION=1.8
JAVA_HOME=/usr/local/java
修改完成后保存退出

5、启动csvn

#bin/csvn start
[root@test1 csvn]# bin/csvn start
Starting CSVN Console…

CSVN Console started
Waiting for application to initialize (this may take a minute)…
WARNING: CSVN Console timed-out waiting for http://localhost:3343/csvn
You have mail in /var/spool/mail/root

6、登录管理控制台

默认密码为admin/admin
在这里插入图片描述

7、启动svn服务

在这里插入图片描述
至此ssubversionedge软件安装完成,可以访问http://ip:3343/csvn登录SVN管理控制台了。

四、svn Edge访问规则配置

首先在用户页面定义用户,然后在版本库页面,手工填写访问规则。
以下面的配置为例(实际配置中应删除“//”及其后的注释):

[groups]     //定义用户组
sysadmin = admin     //每个组包含的成员
part1 = y1,y2,y3,test
part2 = x1,x2,x3
 
[/]     //SVN根访问权限设置
* = r
admin = rw     //给admin用户授权
 
[svndata:/]     //SVN版本库svndata访问权限设置
* =     //=空表示显示拒绝,*表示任何用户,此规则需放置在明确授权规则之后
@sysadmin = rw     //给用户组sysadmin授权读写
 
[svndata:/part1]     //SVN版本库svndata下的part1目录访问权限设置
@sysadmin = rw
y1 = rw
y2 = r
* =
 
[svndata:/part1/zhoubao]     //SVN版本库svndata下的part1目录下的周报目录访问权限设置
@sysadmin = rw
@part1 = rw
 
[svndata:/part2]
@sysadmin = rw
x1 = rw
x3 = r
* =
 
[svndata:/part2/zhoubao]
@sysadmin = rw
@part2 = rw

五、svn服务器配置

一)、 SVN设置

1. server settings

包括:host(主机名)、端口、版本库父文件夹、Backup Directory、管理员、email帐号等
操作:Administrator(管理)→Server Settings
在这里插入图片描述

保存成功后,点击“管理”菜单,需要重新启动subversion服务方可访问SVN库

2. Authentication settings

操作:Administrator(管理)→Authentication
默认http本地验证。
在这里插入图片描述

3. Mail server

操作:Administrator(管理)→Mail Server
要配置此步骤,需要在第一步设置有效的管理员邮箱在这里插入图片描述

保存之前,可先Test Settings验证下email设置是否成功,524627027@qq为示例,根据管理员个人邮箱账户信息填写。

4. Log settings

操作:Administrator(管理)→Logging
在这里插入图片描述

Delete log files older than:设置需要保留log的天数,0:默认不删除

5. Backup Schedule

操作:版本库Backup Schedule
在这里插入图片描述

Type of Job:Full Dump Backup(增量备份)、Hotcopy Backup(全量备份)、Cloud Services(此备份需要激活注册方可使用)
备份任务设置完成后,任务内容如下图:
在这里插入图片描述

备份任务完成后,可以在Jobs里查看完成状态,(Administrator→Jobs)如下图:
在这里插入图片描述

二)、 配置库管理

1. Create a repository

操作:版本库版本库列表:
在这里插入图片描述

点击“创建”,创建新的SVN库
在这里插入图片描述

被创建库的信息如下:
在这里插入图片描述

2. Create a repository template

操作:Repositories(版本库)→ Manage Templates→Create
在这里插入图片描述

创建库目录模板的前提条件:dump临时压缩文件存在
库目录模板设置方法
创建一个空模板库→检出并提交模板目录→设置”scheduled jobs”即可创建完成。

3. Connect an existing repository

  • Connect existing repository方法
    1、修改subversion edge数据库存放的父目录
    2、移动已存在的库到subversion edge库父目录
  • 修改subversion edge数据库存放的父目录
    操作:管理server settings,修改”版本库父文件夹”路径
  • 移动已存在的库到subversion edge库父目录
    A、移动SVN库
    B、版本库版本库列表→discover(同步Subversion版本库)

4. Define repository access rules

操作:版本库→访问规则→edit
详细操作见第四章节内容。
在这里插入图片描述

与SVN库权限文件管理方式相似
Notes:你在编辑此项内容时,别人不能同时编辑。

三)、 用户管理

1. create a user account

操作:User(用户)→User List(用户列表)→Create(创建)
在这里插入图片描述

2. Edit a user account

操作:User(用户)→User List(用户列表)→选择需要编辑的用户
在这里插入图片描述

3. Edit a role

操作:User(用户)→Role List(用户列表)→选择需要编辑的角色
在这里插入图片描述

选择此角色列表需要添加的用户→更新

在这里插入图片描述

四)、 监控管理

1. 监控配置

操作:操作:Administrator(管理)→ Server Monitoring
在这里插入图片描述

2. 监控状态显示

操作:操作:Administrator(管理)→ Status

3. Server Logs

操作:操作:Administrator(管理)→ Server Logs
在这里插入图片描述

access.log:Apache 权限log日志
error.log:Subversion Apache server错误日志
console.log:控制台操作日志
subversion.log:subversion操作日志
windows-server log:服务器日志

4. 任务监控

操作:操作:Administrator(管理)→ Jobs
在这里插入图片描述

五)、 各个角色权限

1. 角色列表

在这里插入图片描述

2. Role_User

权限:只能查看版本库列表信息
在这里插入图片描述

3. Role_Admin_Users

权限:可查看用户、用户角色、版本库信息、创建用户等,但不可修改用户信息
在这里插入图片描述

4. Role_Admin_System

权限:可更新系统配置信息

5. Role_Admin_Repo

权限:管理版本库,包括版本库创建、修改、访问规则、备份、库模板设置等
在这里插入图片描述

6. Role_Admin_Hooks

权限:管理各个版本库的hooks脚本
在这里插入图片描述

点击“info”,跳入hooks脚本页面
在这里插入图片描述

六、window环境客户端安装及配置

1、下载SVN客户端及汉化包软件

客户端软件下载地址
https://download.csdn.net/download/carefree2005/13756325
汉化包下载地址

2、双击SVN客户端软件开始安装

在这里插入图片描述
按照提示一步步点击下一步即可完成安装。

3、同理完成汉化包安装

在这里插入图片描述

4、创建SVN文档存放目录

在这里插入图片描述

5、设置SVN为中文语言

在这里插入图片描述

在这里插入图片描述

6、SVN服务CheckOut

在这里插入图片描述

7、配置URL链接目录,前面

在这里插入图片描述

8、在弹窗输入个人账户密码

在这里插入图片描述

9、文件夹/文件创建

在这里插入图片描述

10、文件创建、修改、删除及提交

在这里插入图片描述
在这里插入图片描述

11、文件目录状态

在这里插入图片描述

12、文件夹及文件刷新

右键选择SVN更新,会更新SVN服务器上新增的或者修改过的共享文件
在这里插入图片描述

13、个人账户密码修改

普通用户可以申请由管理员重置密码,也可以自行修改密码
建议获取到个人账户密码后自行修改密码。

1. 使用分配的账户密码登录

登录链接:http://ip:3343/csvn/

2. 依次点击账户名、编辑

在这里插入图片描述

3. 点击更改密码

在这里插入图片描述

4. 填写完成后更新

注意密码复杂度要求,8位以上数字、字母大小写,特殊字符含3样以上。在这里插入图片描述


客户端的安装及使用介绍到此介绍,开始你的svn之旅吧!

猜你喜欢

转载自blog.csdn.net/carefree2005/article/details/111473441