SVN的简介和工作原理

Subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linux和windows,但是普通应用在Linux上。

SVN主要是通过两种方式来工作:即是通过独立服务器和依赖Apache方式来工作。

SVN的作用体现如下方面

1、解决代码管理紊乱的问题。

2、解决代码冲突的问题。

3、解决代码拥有者对代码权限的控制。

4、.......

下面的例子主要是讲解SVN基于MySQL的认证。

系统环境:centos6.5   服务器IP:172.18.107.176

一、先安装相关的数据包

#yum -y install mysql mysql-devel mysql-server httpd

mod_auth_mysql subversion mod_dav_svn

二、启动相关服务。

#service mysqld start

#service httpd start

三、创建项目和相关授权

#mkdir -p /data/svn/

#svnadmin create /data/svn/test   #创建一个名为test的项目

#vim /data/svn/authz              #创建SVN认证文件

[groups]

admin = eelly01,eelly02,test100   #添加SVN用户名

[test:/]                          #对test版本库进行权限设置

@admin = rw                       #允许admin这个组的成员对这个版本库有读写的权限

四、授予项目Apache的权限,否则无法通过http的方式来访问。

#chown -R apache.apache /data/svn/

#chmod 755 /data/svn/ -R

五、创建认证数据库

#mysql -uroot -p

1)创建数据库

mysql>create database svn_auth;

mysql>use svn_auth;

mysql>grant all privileges on *.* to svn@'%'identified by '123456'with grant option;

2)创建表

mysql> CREATE TABLE users ( user_name CHAR(30) NOT NULL,user_passwd CHAR(20) NOT NULL,PRIMARY KEY (user_name));

3)创建测试账号

mysql> insert into svn_auth.users values('test100',encrypt('123456'));

mysql> insert into svn_auth.users values('eelly01',encrypt('123456'));

mysql> insert into svn_auth.users values('eelly02',encrypt('123456'));

六、Apache和SVN集成

#vim /etc/httpd/conf/httpd.conf          #添加如下内容

DAV svn

SVNParentPath /data/svn/             #项目的父目录

AuthzSVNAccessFile /data/svn/authz   #svn访问认证文件

AuthName "EELLY SUBVERSION"          #认证名称

AuthType Basic                       #基本认证

AuthMYSQLEnable on                   #开启mysql认证

AuthMYSQLUser svn                    #数据库访问用户名

AuthMySQLPassword 123456             #数据库访问的密码

AuthMYSQLDB svn_auth                 #存放认证信息的数据库名称

AuthMYSQLUserTable users             #存放认证信息的表名称

AuthMYSQLNameField user_name         #存放认证用户名的字段名称

AuthMYSQLPasswordField user_passwd   #存放认证密码的字段名称

Require valid-user

七、重启Apache服务器。

# service httpd restart

停止 httpd:                                               [确定]

正在启动 httpd:                                           [确定]

从上面看到在数据库里面创建test100这个用户是可以登录的。eelly01也是没有问题的。如下图。(当然里面是没有东西的了,因为是新建的版本库)

简单的SVN基于MySQL认证就这样搭建完成了,只需要在MySQL数据库里面创建一个用户,然后在authz文件里面授予用户相应的权限即可访问相应的版本库了。

svn mysql认证_SVN基于MySQL认证相关推荐

  1. svn基于mysql认证_Svn基于mysql做登陆认证

    不做权限控制的登陆认证 基础环境 Centos 6 Apache 2.2 Svn 1.6 Mysql 5.1 yum -y install mysql mysql-devel mysql-server ...

  2. vsftp服务器mysql认证_基于mysql控制vsftp的用户认证机制

    一.简介 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以 ...

  3. mysql 没有 advisor_基于mysql的SQLadvisor工具一次优化尝试

    基于mysql的SQLadvisor工具一次优化尝试 使用方式: 1 1> [root@SQLAdvisor ~]# getenforce 2 Disabled 3 安装SQLAdvisor 4 ...

  4. python 用户认证_python基于mysql的用户认证

    首先,创建mysql用户users表 1 2 3 4 5 create table users ( id int NOT NULL primary key auto_increment, userna ...

  5. netty mysql 中间件_Cobar_基于MySQL的分布式数据库服务中间件

    Cobar是阿里巴巴研发的关系型数据的分布式处理系统,是提供关系型数据库(MySQL)分布式服务的中间件,该产品成功替代了原先基于Oracle的数据存储方案,它可以让传统的数据库得到良好的线性扩展,并 ...

  6. mysql in 分组,基于mysql实现group by取各分组最新一条数据

    前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式. 一.准备数据 二.三种实现方式 1)先order by之后再分 ...

  7. SpringSecurity实战:基于mysql自定义SpringSecurity权限认证规则

    上文<Spring Security 源码分析:Spring Security 授权过程>已经详细分析了Spring Security 授权过程,接下来通过上文的授权过程我们可以自定义授权 ...

  8. linux ftp 团队认证,linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建 1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 ...

  9. linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口 数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式 ft ...

最新文章

  1. python字符串基本形式_python字符串常用方式
  2. ubuntu12.04 启动n卡独显方法
  3. epoll 使用详解
  4. 电脑教程从入门到精通_【电路仿真】视频教程资料包,proteus入门到精通+实例教程+软件,免费下载!...
  5. Eclipse/NSight: methond could not resolved
  6. 模板文件不存在,无法解析文档!的终极解决方案
  7. [学习笔记-SLAM篇]视觉SLAM十四讲ch3
  8. Pg Admin4 无法正常启动
  9. 大陆身份证号码正则验证js脚本
  10. echarts地图数据与世界地图中英文转换
  11. 唐诗欣赏静夜思用html设计,古诗鉴赏:静夜思
  12. 别再费劲去找后台的前端框架了,2021 年就用 Fantastic-admin 吧
  13. Idea自动导包如何设置,教你两步完成!
  14. 词向量化 Vector Representation of Words 方法汇总
  15. 三星s20Android11怎么退回10,三星已经开始在GALAXY S20+上测试安卓11系统
  16. 【板绘入门】拥有数位板之后第一步该学什么?线条!
  17. Macbook系统清理的两种方式
  18. python m4a转mp3_Python实现音频倒放
  19. linux 删除文件(批量删除文件)
  20. 1014 福尔摩斯的约会 (20 分)|一道我认为烂透了的题

热门文章

  1. OpenCV的滤波与卷积
  2. 基于Keras的卷积神经网络用于猫狗分类(进行了数据增强)+卷积层可视化
  3. Rand函数使用和对补码的理解
  4. C++学习之路 | PTA乙级—— 1058 选择题 (20 分)(精简)
  5. 创建ftp服务器后html,搭建ftp服务器需要用到固定IP吗
  6. python中ht表示什么_如何看待某国内大公司Python面试题,有关dict中初始化为固定值?...
  7. iOS中的MVC设计模式
  8. 在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题
  9. mysql联合索引数据库查询数据会变慢_如何定位并优化慢查询SQL以及联合索引和索引多的弊端...
  10. 型管件的作用_管道工程基础 - 管件和管道附件的布置规定