svn基于mysql认证_SVN基于MySQL认证

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 [email protected]‘%‘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:                                           [确定]

2513795988cb7838137e748679585140.png

db37c804424329d2f1f89e497d18085f.png

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

aaadf7f907bc4a6ca5c3e01a0a7d68a6.png

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

原文:http://denghaibin.blog.51cto.com/4128215/1554829

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值