svn&apache&mysql 认证搭建

1.环境

centos5.5

2.安装svn

yum -y install subversion

3.配置

建立版本库目录

mkdir /var//www/html/svndata

svnserve -d -r /var//www/html/svndata

4.建立版本库

创建一个新的Subversion项目

svnadmin create /var/www/html/svndataone

配置允许用户rsync访问

cd /var/www/html/svndata/conf

vi svnserve.conf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

vi passwd

[users]

#<用户1> = <密码1>

#<用户2> = <密码2>

david=123456

5.客户端连接

svn co svn://ip/one

用户名密码:123456

二 svn 进行http访问

apache 和 svn的配置

http://www.aiezu.com/system/linux/linux_centos_yum_apache_svn.html

yum -y install mod_dav_svn 安装http的svn认真模块

修改httpd的conf.d 目录下的 subversion.conf 文件

DAV svn

SVNListParentPath on

SVNParentPath /var/www/html/svndata/ #svn的根路径

AuthType Basic

AuthName "Authorization"

AuthUserFile /var/www/html/svndata/one/conf/passwd #svn的一个项目路径用户密码认证

AuthzSVNAccessFile /var/www/html/svndata/one/conf/authz #svn的一个项目读写权限认证

Require valid-user

service httpd reload 重载http 配置文件

通过http://ip地址/svn/one svn的项目 就可以访问了

三。通过mysql表控制用户的读写权限

参考:http://www.uml.org.cn/pzgl/200902136.asp

mysql -uroot -p 登陆mysql

create database svn; 创建svn数据库

CREATE TABLE IF NOT EXISTS `user` (

`username` varchar(20) CHARACTER SET utf8 NOT NULL,

`password` varchar(32) CHARACTER SET utf8 NOT NULL,

KEY `username` (`username`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

创建一个svn用户 INSERT INTO `svn`.`user` (`username`, `password`) VALUES ('jinsan', MD5('jinsan'));

安装mysql 认证模块 yum -y install mod_auth_mysql

修改 subversion.conf 文件

加入 LoadModule mysql_auth_module modules/mod_auth_mysql.so

DAV svn

SVNPath /var/www/html/svndata/one

Authtype Basic

AuthName "YOUXINPAI SVN"

AuthMYSQLEnable on

AuthMYSQLHost 127.0.0.1

AuthMYSQLPort 3306

AuthMYSQLUser root

AuthMYSQLPassword jinsan

AuthMYSQLDB svn

AuthMYSQLUserTable user

AuthMYSQLNameField username

AuthMYSQLPasswordField password

AuthMYSQLPwEncryption md5

Require valid-user

你可能感兴趣的:(svn&apache&mysql 认证搭建)