svn mysql md5

 有很多公司为了开发自己的svn mysql  结合公司的其它系统使用,避免过多的的用户密码。

1)创建数据库
mysql>create database svn_auth;
mysql>use svn_auth;
mysql>grant all privileges on *.* to root@'%' identified by 'm1949com' with grant option;
 
 2)创建表
mysql> CREATE TABLE users ( user_name CHAR(30) NOT NULL,user_passwd CHAR(64) NOT NULL,PRIMARY KEY (user_name));
 
 3)创建测试账号
insert into svn_auth.users values('test001',md5('1'));
insert into svn_auth.users values('test002',md5('2'));
insert into svn_auth.users values('test003',md5('3'));
insert into svn_auth.users values('test004',md5('4'));
insert into svn_auth.users values('test005',md5('5'));


修改密码
update svn_auth.users set user_passwd=md5('1') where user_name='test001';
update svn_auth.users set user_passwd=md5('2') where user_name='test002';
update svn_auth.users set user_passwd=md5('3') where user_name='test003';
update svn_auth.users set user_passwd=md5('4') where user_name='test004';
update svn_auth.users set user_passwd=md5('5') where user_name='test005';

 

yum -y install httpd mod_auth_mysql subversion mod_dav_svn

    安装完成可看到多了/etc/httpd/conf.d/subversion.conf文件
    创建项目、用户
    mkdir /home/svn
    svnadmin create --fs-type fsfs /home/svn/m1949com    验证授权
    cd /home/svn
    vi authz,添加内容
[m1949com:/]
admin=rw
test001=rw
test002=rw
test003=rw
test004=rw
test005=rw
    修改文件权限
      chown -R apache.apache m1949com

      chown -R apache.apache authz

    配置httpd
       # vi /etc/httpd/conf.d/subversion.conf,文件末尾添加 
     vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
        DAV svn
        SVNParentPath /home/svn
        AuthType Basic
        AuthName "svn-authz-m1949com"
        #AuthUserFile /home/svn/passwd
        AuthzSVNAccessFile /home/svn/authz
        AuthMySQLEnable on
        AuthMySQLHost 192.168.1.88
        AuthMySQLDB svn_auth
        AuthMySQLUser root
        AuthMySQLPassword m1949com

        AuthMySQLUserTable users
        AuthMySQLNameField user_name
        AuthMySQLPasswordField user_passwd
        AuthMySQLPwEncryption MD5
        Require valid-user
</Location>

vim /etc/httpd/conf/httpd.conf
 <Location /svn>
    AuthName "svn-authz-m1949com"
 </Location>

 

改ServerName 为 localhost:80

service httpd restart

 

可测试的项目 m1949com

用户及密码
test001  1
test002  2
.....
test005  5

URL测试地址  http://192.168.1.101/svn/m1949com/

排错 tail -f /etc/httpd/logs/error_log

 

以上是不能全自动网页管理,因为用户名在authz里面。要使用户名也用数据据生成,只需用程序生成以下格式的文件就行了。 

 

authz 完整格式

 

[groups]          # 这行不能变,这是格式
g_vip = admin       #用户分组:格式  组名1 = 用户1,用户2
 
g_kk2201_m = test101             #项目一的分组1,格式:  组名1 = 用户1
g_kk2201_u = test102,test104     #项目一的分组2,格式:  = 用户2,用户4
g_kk2201_r = test103             #项目一的分组3,格式:  = 用户3     (允许一个用户在多个项目组,多个用户组)

g_kk2202_m = test201             #项目二的分组1,格式:  组名1 = 用户1
g_kk2202_u = test202,test204
g_kk2202_r = test203

g_kk2203_m = test301
g_kk2203_u = test302,test304
g_kk2203_r = test303


[kk2201:/]     #项目名称1:/    (“:/”是格式,不能变)
@g_kk2201_m = rw    # @组名 = 权限(权限可以是只读r,读写rw)
@g_kk2201_u = rw
@g_kk2201_r = r
* = 

[kk2202:/]    #项目名称2:/   @组名 = 权限(权限可以是只读r,读写rw)
@g_kk2202_m = rw
@g_kk2202_u = rw
@g_kk2202_r = r
* = 
 
[kk2203:/]    #项目名称3:/   @组名 = 权限(权限可以是只读r,读写rw)
@g_kk2203_m = rw
@g_kk2203_u = rw
@g_kk2203_r = r
* = 


#生成的文件名称为 authz  (无后辍,可以用记事本打开即可)

 

 

参考文档:
http://my.oschina.net/xiaokaceng/blog/185070
http://denghaibin.blog.51cto.com/4128215/1554829
扩展参考(SHA512加解密):
http://blog.itpub.net/9094533/viewspace-74434/
http://blog.chinaunix.net/uid-24426415-id-77207.html

你可能感兴趣的:(mysql,MD5,SVN)