一、先安裝 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的執(zhí)行程序*/
$ make swig-py
$ make install-swig-py
然后會生成 libsvn_swig_py.so 文件,使python和subversion綁定起來
第3步:
安裝完成之后,需要驗(yàn)證一下,運(yùn)行python進(jìn)入提示符,輸入import svn.repos,如果沒有出錯(cuò),說明OK了;
如果出錯(cuò),提示找不到的話,則需要添加Subversion的Python Binding安裝路徑在PYTHONPATH中,
一個(gè)做法是運(yùn)行
$ echo /usr/local/lib/svn-python \
> /usr/lib/python2.x/site-packages/subversion.pth
五、安裝viewCvs
下載http://viewvc.org源碼包并解壓
切換到解壓目錄
$./viewvc-install,第一個(gè)提示后指定ViewVC的安裝目錄,第二個(gè)提示直接回車就行
打開viewvc.conf,修改下面幾行:
將cvs_roots = cvs: /home/cvsroot注釋掉;
#svn_roots = svn: /home/svnrepos 改成倉庫所在的路徑;如果多個(gè)倉庫加逗號隔開;
六、配置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
在最后添加如:
<Location /svn>
DAV svn
SVNParentPath /home/subversion 倉庫目錄
AuthzSVNAccessFile /home/subversion/svnuser 存取權(quán)限文件
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/subversion/svnpasswd 用戶驗(yàn)證文件
Require valid-user
</Location>
創(chuàng)建用戶難文件:
#htpasswd -cm /home/subversion/svnpass username //來創(chuàng)建的 ,后面會讓你輸入用戶密碼
添加用戶則 htpasswd -m /home/subversion/svnpass user
對于存取權(quán)限設(shè)置文件大致內(nèi)容如下:
[/]
* = r
[groups]
diggmore = nio, binzy, easy, vicki, freeman, rainx
[diggmore:/]
@diggmore = rw
綜上設(shè)置,啟動apache就可以了,如果在提交文件到倉庫時(shí)出現(xiàn)拒絕錯(cuò)誤,請確定httpd.conf里設(shè)置的linux用戶是否對倉庫目錄有權(quán)限