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:                                           [确定]

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

aaadf7f907bc4a6ca5c3e01a0a7d68a6.png

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

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

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览32843 人正在系统学习中 相关资源:斯维尔软件

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月27日
下一篇 2021年1月27日

相关推荐