ViewVC安裝配置指南(Linux平臺)

說明:基於linux平臺的svn有diff的功能,但是字符界面的diff可讀性太差,於是乎想升級一下diff的功能,正好搭建了bugfreeforsvn,裏面的建議是用ViewVC,這個軟件應該是個不錯的選擇,OK,不用想那麼多了,let's go......


怎麼做?

1、由於需要和svn整合,那麼之前搭建的SVN需要重新編譯安裝。

2、viewvc是用python寫的,爲了支持python,需要將svn和python整合起來。

3、安裝swig,用來將Python和c/c++對接起來,如果你想了解更多,請查看:http://blog.sina.com.cn/s/blog_677257e40100l3bi.html


準備:

  • Python-2.7.6.tgz

  • swig-1.3.24.tar.gz

  • viewvc-1.1.21.tar.gz

  • subversion-1.6.18.tar.gz

  • subversion-deps-1.6.18.tar.gz

  • 操作系統:RHEL x86_64 AS 4.6


下面2個軟件的版本單獨說明一下:這2個軟件的版本很重要,因爲操作系統版本太老4.6的,其他軟件如swig,python都不能用最新的,經過測試必須用某一時間段的版本才能完美整合,下面2個軟件也是如此。

  • neon-0.29.6.tar.gz  serf-0.3.0.tar.bz2


一 搭建SVN

  請參見我之前的博文 http://bblxlit.blog.51cto.com/151710/1338493


二 重新編譯安裝SVN

1、將/usr/local/subversion這個文件夾備份一下

mv /usr/local/subversion /usr/local/subversion.bak

2、安裝python

  由於viewVC使用python寫的,而系統自帶的版本太低,因此安裝該版本。

tar xvzf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/usr/local/python2
make && make install

3、安裝swig

tar xzvf swig-1.3.24.tar.gz
cd SWIG-1.3.24
./configure --prefix=/usr/local/swig \
--with-python=/usr/local/python2/bin/python
make && make install

4、安裝svn

tar xzvf subversion-1.6.18.tar.gz
tar xzvf subversion-deps-1.6.18.tar.gz
tar xzvf neon-0.29.6.tar.gz
tar xzvf serf-0.3.0.tar.bz2
cd subversion-1.6.18
rm -rf apr apr-util neon serf
cp -ar ../neon-0.29.6 neon
cp -ar ../serf-0.3.0 serf
chown -R 1000:users neon serf
./configure \
--prefix=/usr/local/subversion \
--with-apxs=/usr/local/apache2/bin/apxs \
--with-ssl \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-zlib=/usr/lib64 \
--with-swig=/usr/local/swig/bin/swig \
--enable-shared \
--enable-static \
PYTHON=/usr/local/python2/bin/python
make && make install

5、配置SVN

  參見我之前的博文 http://bblxlit.blog.51cto.com/151710/1338493

6、綁定subversion

cd subversion-1.6.18
make swig-py
make check-swig-py           #有一個trac的報錯,無須理會
make install-swig-py

7、添加svn的python binding安裝路徑到Python的path中

  由於是源碼安裝,svnpython-binging 不在python默認的搜索路徑中,默認是/usr/local/lib/svn-python/,需要修改如下:

cd /usr/local/python2/lib/python2.7/site-packages
echo /usr/local/subversion/lib/svn-python > subversion.pth
echo /usr/local/subversion/lib >> /etc/ld.so.conf
ldconfig

8、測試svn模塊

  首先要修改python的可執行文件路徑,這是由於系統自帶的python未刪除。如果不修改,viewvc在調用python的時候默認使用系統自帶的。如果你不嫌麻煩,那麼請修改viewvc-1.1.21安裝目錄下的所有腳本文件,它們的路徑都是以#!/usr/bin/python開頭的。

cd /usr/bin
mv python python.bak
ln -s /usr/local/python2/bin/python python

執行如下命令測試:

# python
Python 2.7.6 (default, Nov 29 2013, 11:32:29)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import svn.core

如果沒有任何提示,就說明OK了。


三 安裝配置ViewVC

1、安裝ViewVC

tar xvzf viewvc-1.1.21.tar.gz
cd viewvc-1.1.21
./viewvc-install

2、配置apache

# vim  /usr/local/apache2/conf/httpd.conf
在306行添加:
    ScriptAlias /viewvc "/usr/local/viewvc-1.1.21/bin/cgi/viewvc.cgi"
    ScriptAlias /query "/usr/local/viewvc-1.1.21/bin/cgi/query.cgi"
在330行添加:
<Directory "/usr/local/viewvc-1.1.21/bin/cgi">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
在最後添加:
<Location "/viewvc">
AuthType Basic
AuthName "ViewVC Client Access"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://192.168.1.226:389/dc=example,dc=com,dc=cn?uid?sub?(objectClass=*)"
Require valid-user
</Location>

3、重啓apache

/usr/local/apache2/bin/apachectl restart

4、修改viewVC配置文件

  讓viewvc啓用svn的權限控制。

# vim /usr/local/viewvc-1.1.21/viewvc.conf
在如下section中添加:
[general]
root_parents = /home1/subversion/project: svn
因爲我所有的庫都在project目錄下
[options]
authorizer = svnauthz
啓用svn的認證
[authz-svnauthz]
authzfile = /home1/subversion/auth
認證文件的路徑

5、訪問viewvc

http://localhost/viewvc

配置完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章