svn编译安装以及配置仓库经http访问
1,下载编译安装apr
wget http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz
2,下载编译安装apr-util with apr
wget http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.4.1.tar.gz
3,下载sqllite
wget http://www.sqlite.org/sqlite-amalgamation-3071000.zip
4,复制sqlite3.c到svn源码路径新建的sqlite-amalgamation下
cp sqlite3.c subversion-1.7.3/sqlite-amalgamation/sqlite3.c
5,安装zlib
yum install zlib-devel.i686
6,编译安装svn with apr apr-util
./configure --prefix=/usr/local/subversion-1.7.3 --with-apr=/usr/local/apr-1.4.6/ --with-apr-util=/usr/local/apr-util-1.4.1/
7,创建仓库
svnadmin create /usr/local/subversion-1.7.3/repos
8,服务启动命令加入 /etc/rc.local
/usr/local/subversion-1.7.3/bin/svnserve -d -r /usr/local/subversion-1.7.3
启动时候指定仓库目录前缀,-r /usr/local/subversion-1.7.3 , 远程就可以不用指定这个前缀了,隐藏多余目录,安全
svn://host/repos
9,编辑repos下的 svnserve.conf文件
anon-access = read 匿名读
auth-access = write 认证读写
password-db = passwd密码文件
authz-db = authz授权文件
10,编辑passwd,增加用户名和密码
wangchengjie=wangchengjie
11,编辑authz,设定访问权限
[仓库名:目录]
[repos:/]
wangchengjie=rw
*=r
?
让svn支持http访问,需要和配置apache
1,apache版本支持DSO,以及web_dav,如果不支持则需要换版本或者自己编译
编译apache的时候指定configure参数--enable-so --enable-dav
2,编译svn的时候指定configure参数--with-apxs=/usr/local/apache2/bin/apxs,指向apache的bin目录里的一个apxs脚本文件,svn编译会将mod_dav_svn和mod_authz_svn模块生成到apache的modules目录中
3,设置apache,编辑httpd.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
4,创建账号密码管理文件
htpasswd -cm 文件全路径/password wcj
利用apache的密码生成工具,输入命令后会提示输入密码,并加入指定文件中
?
htpasswd -m 文件全路径/password wcj2
添加用户
5,对svn仓库各目录配置用户授权
在svn仓库的默认授权文件上进行修改即可,拷贝到合适的目录
?
6,增加apache httpd.conf参数,重启apache,另外将svn仓库的目录的other权限进行设置,让其他用户可读写
<Location /repos>
DAV svn
SVNParentPath 仓库父目录全路径
# our access control policy
AuthzSVNAccessFile 访问授权配置文件全路径
# only authenticated users may access the repository
Require valid-user
# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile 用户验证文件全路径
</Location>