Linux下Apache2 Subversion1.3.2 viewCvs1.0.0配置详解(原创) - salt - BlogJava

来源:百度文库 编辑:神马文学网 时间:2024/04/28 01:12:42
Linux下Apache2+Subversion1.3.2+viewCvs1.0.0配置详解(原创)
一、先安装 Apache2:
下载apache源码包,解压
#tar -xvzf httpd-2.***.tar.gz
切换到解压目录
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ /*安装目录*/
# make
# make install
二、安装subversion:
下载subversion源码包,解压,切换到解压目录
# ./configure --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs --prefix /path/to/svn
# make
# make install
三、要安装viewCvs还需要python的支持,因此我们这里安装的python的2.4版本
$ ./configure --prefix=/usr/python
$ make
$ make install
四、还需要swig的支持
第1步:  安装SWIG (目前的版本是 1.3.24 - 1.3.28).
下载http://www.swig.org/
$ ./configure --with-python=/path/to/correct/python/binary /*python的安装目录*/
$ make && make install
第2步:绑定到subversion
到subversion的源码目录
$./configure PYTHON=/usr/bin/python /*python的执行程序*/
$ make swig-py
$  make install-swig-py
然后会生成 libsvn_swig_py.so  文件,使python和subversion绑定起来
第3步:
安装完成之后,需要验证一下,运行python进入提示符,输入import svn.repos,如果没有出错,说明OK了;
如果出错,提示找不到的话,则需要添加Subversion的Python Binding安装路径在PYTHONPATH中,
一个做法是运行
$ echo /usr/local/lib/svn-python \
> /usr/lib/python2.x/site-packages/subversion.pth
五、安装viewCvs
下载http://viewvc.org源码包并解压
切换到解压目录
$./viewvc-install,第一个提示后指定ViewVC的安装目录,第二个提示直接回车就行
打开viewvc.conf,修改下面几行:
将cvs_roots = cvs: /home/cvsroot注释掉;
#svn_roots = svn: /home/svnrepos 改成仓库所在的路径;如果多个仓库加逗号隔开;
六、配置apache,在httpd.conf中添加下面两行
ScriptAlias /viewvc /usr/local/viewvc-1.0/www/cgi/viewvc.cgi
ScriptAlias /query /usr/local/viewvc-1.0/www/cgi/query.cgi
在最后添加如:

DAV svn
SVNParentPath /home/subversion 仓库目录
AuthzSVNAccessFile /home/subversion/svnuser 存取权限文件
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/subversion/svnpasswd 用户验证文件
Require valid-user

创建用户难文件:
#htpasswd -cm /home/subversion/svnpass username    //来创建的 ,后面会让你输入用户密码
添加用户则  htpasswd -m /home/subversion/svnpass user
对于存取权限设置文件大致内容如下:
[/]
* = r
[groups]
diggmore = nio, binzy, easy, vicki, freeman, rainx
[diggmore:/]
@diggmore = rw
综上设置,启动apache就可以了,如果在提交文件到仓库时出现拒绝错误,请确定httpd.conf里设置的linux用户是否对仓库目录有权限