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