网上有资料,但总有些许问题,因此自己记录下来。
有些杂凑,但基本解决了所有问题,其他的可参见参考网页(见后,本文结构从网页1中梳理而来)
一、下载安装APACHE2,安装文件能到官方网站 http:/www.apache.org下载.tar xvzf httd-2.2.16.tar.gz cd httpd-2.2.16 /安装APR和APR-UTIL cd srclib/apr ./buildconf ./configure --prefix=/opt/svn/data/apr make && make install cd ../apr-util ./buildconf ./configure --prefix=/opt/svn/data/apr --with-apr=/opt/svn/data/apr make && make install cd ../.. ./configure --enable-dav --prefix=/opt/svn/data/apache2 --with-apr=/opt/svn/data/apr --with-apr-util=/opt/svn/data/apr --enable-so --enable-rewrite make && make install二、安装subversion1。编译安装,安装文件能到官方网站 http:/www.subversion.org.cn下载.tar zvxf subversion-1.6.12.tar.gztar zvxf subversion-deps-1.6.12.tar.gzcd ./subversion-1.6.12./configure --prefix=/opt/svn/data/subversion --with-apr=/opt/svn/data/apr --with-apr-util=/opt/svn/data/apr --with-apxs=/opt/svn/data/apache2/bin/apxs make && make install 编译完成后会自动在 apache2/conf/httpd.conf 添加 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
2。创建一个subversion版本库mkdir -p /opt/svn/data/svn/opt/svn/data/subversion/bin/svnadmin create /opt/svn/data/svn/MyProjectmkdir /opt/svn/data/svn/accessmkdir /opt/svn/data/svn/root1mkdir /opt/svn/data/svn/root23。修改svn版本库的设置文件vi /opt/svn/data/svn/MyProject/conf/svnserve.conf将[general]一行前面的"#"去掉,并且不能有空格符号。4。创建apache的认证用户和认证组/opt/svn/data/apache2/bin/htpasswd -cb /opt/svn/data/svn/access/http_auth_userfile admin admin/opt/svn/data/apache2/bin/htpasswd -b /opt/svn/data/svn/access/http_auth_userfile user01 user01/opt/svn/data/apache2/bin/htpasswd -b /opt/svn/data/svn/access/http_auth_userfile user02 user025。编辑subversion版本库权限控制文件 $> vi /opt/svn/data/svn/access/svn_auth_groups##subversion版本库组权限控制#[groups]MyProjects = user01,admin,user02[/]admin = rw[root1:/]usersgroup01 = rwusersgroup02 = r[root2:/]usersgroup01 = rusersgroup02 = rw$> vi /opt/svn/data/svn/access/http_auth_groupfile sys-users: liuliutech-users: you6。修改文件访问权限chown -R nobody /opt/svn/data/svnchmod -R 777 /opt/svn/data/svn三、在apache2的httpd.conf中加入以下代码: <Location /svn>
DAV svn SVNParentPath /opt/svn/data/svn # our access control policy AuthzSVNAccessFile /opt/svn/data/svn/access/svn_auth_groups # how to authenticate a user or group AuthType Basic AuthName "Subversion repository" AuthUserFile /opt/svn/data/svn/access/http_auth_userfile AuthGroupFile /opt/svn/data/svn/access/http_auth_groupfile Require group usersgroup01 usersgroup02</Location>
四、启动subversion服务器/opt/svn/data/subversion/bin/svnserve -d -r /opt/svn/data/svn五、检查权限设置是否正确:能在浏览器的地址栏里直接输入http:/ip/svn/地址/版本库路径,会弹出一个验证窗口。六,导入版本库和取得一个版本库的拷贝svn import /opt/svn/data/sysadmin/README.txt http:/ip/svn/MyProject (-m "initial import"? 注:我是直接用TortoiseSVN和eclipse插件访问的)备份以前的SVN库
#svnadmin dump /data/svn/repos/MyProject/ > /root/tony.tang
把备份出来的数据恢复到本地
#svnadmin load /data/svn/repos/MyProject/ < /home/tony.tang
参考资料:
http://www.sudu.cn/info/html/edu/20060102/295979.html (lost and something wrong)
http://blog.csdn.net/leishiwei/archive/2009/11/27/4888837.aspx(good but somehow complex)
