因为分布式开发的目的,配置了一个apache集成SVN的环境,具体流程如下,
首先安装apache
wget http://apache.siamwebhosting.com/httpd/httpd-2.0.59.tar.gz
./configure --prefix=/usr/local/subversion --enable-dav --enable-so --enable-ssl
make
make install
这里不能使用最新的httpd,除非有时间把subversion的apr和apache的统一到一起
安装subversion
wget http://subversion.tigris.org/downloads/subversion-1.4.4.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.4.4.tar.gz
tar zxvf subversion-1.4.4.tar.gz
tar zxvf subversion-deps-1.4.4.tar.gz; cd subversion-1.4.4
./configure --prefix=/usr/local/subversion/ --with-apxs=/usr/local/subversion/bin/apxs --with-ssl
make && make install
make swig-py && make install-swig-py
建立新的用户和组来运行服务
groupadd svn
useradd -m -d /srv/svn/ -g svn svn
建立需要的仓库,假设我们需要两个doc和share
su - svn
mkdir /home/svn/repositories/
mkdir /home/svn/repositories/doc/
mkdir /home/svn/repositories/share/
svnadmin create /home/svn/repositories/doc/
svnadmin create /home/svn/repositories/share/
编辑httpd.conf,使SVN Module起作用
ServerRoot "/usr/local/subversion/"
User svn
Group svn
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
增加svn对仓库的许可
<Location /svn/>
Order allow,deny
Allow from all
DAV svn
SVNParentPath /home/svn/repositories/
# our access control policy
AuthzSVNAccessFile /home/svn/conf/users-access-file
#try anonymous access first, resort to real
#authentication if necessary.
Satisfy Any
Require valid-user
# how to authenticate a user
AuthType Basic
AuthName "My Subversion repository"
AuthUserFile /home/svn/conf/passwd
</Location>
/home/svn/conf/passwd文件可以用htpasswd来生成
每行一个用户,类似
jixt:$dasfs33iad
user-access-file如下
[/]
* =
[doc:/]
jixt = r
[share:/]
jixt = rw
[share:/bugs/]
sharry = rw
启动服务,现在就可以通过svn客户端来管理代码了
最新评论
6 小时 31 分钟 前
1 天 7 小时 前
2 天 6 小时 前
3 天 7 小时 前
3 周 2 天 前
3 周 5 天 前
4 周 3 天 前
20 周 1 天 前
23 周 21 小时 前
24 周 2 天 前