1. 下载安装包:
subversion-1.6.19.tar.gz
sqlite-amalgamation-3.7.3.tar.gz
解压:# tar -zxvf subversion-1.6.19.tar.gz
# tar -zxvf sqlite-amalgamation-3.7.3.tar.gz
2. 获取sqlite:
进入解压目录:cd sqlite-3.7.3/
执行:cp sqlite3.c../subversion-1.6.19/sqlite-amalgamation/sqlite3.c
3. 安装subversion:
进入解压目录:# cd subversion-1.6.19
执行:
# ./configure--prefix=/usr/local/subversion --with-apxs=/usr/local/apache2.4.3/bin/apxs--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-ssl --with-zlib=/usr/local/lib--without-berkeley-db --enable-maintainer-modemake
make
make install
4. 检查
执行 # cat /usr/local/apache2/conf/httpd.conf | grep svn
显示以下信息则为正确安装成功:
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
5. 更改apache运行用户
#groupadd svn
#useradd -g svn svn
vi /usr/local/apache2/conf/httpd.conf
添加:
User svn
Group svn
6. SVN访问配置
# Location中的/svn只是个虚目录,用于区别普通的网站访问,
# 例如url为http://127.0.0.1/svn/repos,则/svn的部分就会由下述配置去解析。
# 如果你想在url中使用/svnroot去解析,那么下面的Location配置就变为
<Location /svnroot>
<Location /svn/>
#----虚拟目录后要加上"/",否则访问出现403.(bug)
Dav svn
SVNListParentPath on
#----允许在网页上显示svn父目录list --记住,注释不要和配置项写到同一行,否则会出错..
SVNParentPath "/home/svn/repositories"
#----/home/svn/repositories 是SVN的父目录
AuthType Basic
#----连接类型设置
AuthName "Subversion Repository"
#----连接框提示
AuthUserFile /home/svn/etc/passwd
#----用户配置文件
AuthzSVNAccessFile /home/svn/etc/authz
#----验证
Satisfy Any
Require valid-user
</Location>
7. 建立用户验证文件(新建用户)
新建:/usr/local/apache2/bin/htpasswd-c /home/svn/etc/passwd svn
添加:/usr/local/apache2/bin/htpasswd /home/svn/etc/passwd svn2
8. 建立权限验证文件(vi /home/svn/etc/authz)
[groups]
group_develop = svn
[/]
* = r
[repos1:/]
@group_develop = rw
* =
[repos2:/]
@group_develop = rw
svnman = rw
9. 创建资源库
/usr/local/subversion/bin/svnadmin create--fs-type fsfs /var/svn/repositories/rep1
/usr/local/subversion/bin/svnadmin create--fs-type fsfs /var/svn/repositories/rep2
10. 添加环境变量,方便试用svnadmin
打开vi /etc/profile,添加下面语句:
exportSUBVERSION_HOME=/usr/local/subversion
exportPATH=$PATH:$SUBVERSION_HOME/bin
11. windows xp 迁移到centos
到subversion安装目录,进入cmd,执行:
svnadmindump svn路径 >目标dump如:
svnadmin dump F:\svn\repo\project >F:\qianwangju.dump
上传qianwangju.dump到服务器,执行load:
svnadmin load /var/svn/repositories/rep1/</var/svn/dump/qianwangju.dump
1、错误:
httpd:Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load/usr/local/apache2/modules/mod_dav_svn.so into server:/usr/local/apache2/modules/mod_dav_svn.so: undefined symbol:dav_register_provider
解决办法:
重新./configure增加参数,编译,安装
./configure --enable-dav --enable-so--enable-threads --enable-maintainer-mode --enable-cache --enable-rewrite=shared-enable-deflate=shared --enable-expires=shared --prefix=/usr/local/apache2--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
2、错误:
Can'topen file '/var/svn/repositories/rep1/db/txn-current-lock': Permission denied
由于用户权限为root用户,普通用户没有修改的权限。
通过创建普通用户subversion,然后执行chown –Rsubversion:subversion rep1
解决该问题。
懒虫子