测试Linux系统:Ubuntu 8.04
在这里我认为你已经安装了Subversion和Apache,可以看这里参见subversion apache 安装配置。http://www.linuxidc.com/Linux/2012-04/59317.htm
ViewVC安装
1. ViewVC需要的环境
For CVS Support:
* Python 1.5.2 or later
(http://www.python.org/)
* RCS, Revision Control System
(http://www.cs.purdue.edu/homes/trinkle/RCS/)
* GNU-diff to replace diff implementations without the -u option
(http://www.gnu.org/software/diffutils/diffutils.html)
* read-only, physical access to a CVS repository
(See http://www.cvshome.org/ for more information)
For Subversion Support:
* Python 2.0 or later
(http://www.python.org/)
* Subversion, Version Control System, 1.3.1 or later
(binary installation and Python bindings)
(http://subversion.tigris.org/)
安装所需包:
apt-get install python-subversion
apt-get install python-pygments
2. 安装viewvc
tar zxvf viewvc-1.1.2.tar.gz
cd viewvc-1.1.2
./viewvc-install
两次回车安装到/usr/local/viewvc-1.1.2
Installation path [/usr/local/viewvc-1.1.2]:
DESTDIR path (generally only used by package maintainers) []:
3. 配置(viewvc.conf)
vi /usr/local/viewvc-1.1.2/viewvc.conf
简单配置只需更改root_parents
enable_syntax_coloration = 1 #语法高亮
allowed_views = annotate, diff, markup, roots, co, tar #允许的视图
Edit <VIEWVC_INSTALLATION_DIRECTORY>/viewvc.conf for your specific
configuration. In particular, examine the following configuration options:
cvs_roots (for CVS)
svn_roots (for Subversion)
root_parents (for CVS or Subversion)#所有svn版本库的根目录
default_root
root_as_url_component
rcs_dir
mime_types_files
There are some other options that are usually nice to change. See
viewvc.conf for more information. ViewVC provides a working,
default look. However, if you want to customize the look of ViewVC
then edit the files in <VIEWVC_INSTALLATION_DIRECTORY>/templates.
You need knowledge about HTML to edit the templates.
ViewVC 的详细介绍:请点这里
ViewVC 的下载地址:请点这里
4. http访问
a) 整合apache(需要mod_cgi)
假设你已经建立了一个虚拟机配置文件
vi /etc/apache2/sites-enabled/svn.sends.cc.conf
</VirtualHost>前加入
##############
ScriptAlias /viewvc /usr/local/viewvc-1.1.2/bin/cgi/viewvc.cgi
ScriptAlias /query /usr/local/viewvc-1.1.2/bin/cgi/query.cgi
<Directory “/usr/local/viewvc-1.1.2/bin/cgi”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
##############
/etc/init.d/apache2 restart
或拷贝viewvc.cgi到apache的cgi-bin目录下通过http://10.3.37.110/cgi-bin/viewvc.cgi访问
假设我的cgi-bin目录指向/usr/lib/cgi-bin/
cp /usr/local/viewvc-1.1.2/bin/cgi/* /usr/lib/cgi-bin/
/etc/init.d/apache2 restart
或用apache的mod_python。把/usr/local/viewvc-1.1.2/bin/mod_python/*拷贝到你需要的地方访问viewvc.py。因为有个.htaccess文件,请注意“AllowOverride All”设置。
有access control的apache配置(推荐)
假设你已经建立了一个虚拟机配置文件
vi /etc/apache2/sites-enabled/svn.sends.cc.conf
</VirtualHost>前加入
##############
ScriptAlias /viewvc /usr/local/viewvc-1.1.2/bin/cgi/viewvc.cgi
ScriptAlias /query /usr/local/viewvc-1.1.2/bin/cgi/query.cgi
<Directory “/usr/local/viewvc-1.1.2/bin/cgi”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Location /viewvc>
# AllowOverride None
AuthUserFile /etc/apache2/dav_svn.passwd
AuthName “Viewvc Of Sendslab”
AuthType Basic
require valid-user
</Location>
##############
创建访问用户
htpasswd -m /etc/apache2/dav_svn.passwd test
b) 用viewvc自带standalone.py提供http访问
/usr/local/viewvc-1.1.2/bin/standalone.py -h 10.3.37.110 -d -c /usr/local/viewvc-1.1.2/viewvc.conf
standalone.py帮助
root@soft:~# /usr/local/viewvc-1.1.2/bin/standalone.py –help
ERROR: option –help not recognized
Usage: standalone.py [OPTIONS]
Run a simple, standalone HTTP server configured to serve up ViewVC
requests.
Options:
–config-file=PATH (-c) Use the file at PATH as the ViewVC configuration
file. If not specified, ViewVC will try to use
the configuration file in its installation tree;
otherwise, built-in default values are used.
(Not valid in GUI mode.)
–daemon (-d) Background the server process.
–host=HOST (-h) Start the server listening on HOST. You need
to provide the hostname if you want to
access the standalone server from a remote
machine. [default: localhost]
–port=PORT (-p) Start the server on the given PORT.
[default: 49152]
–repository=PATH (-r) Serve up the Subversion or CVS repository located
at PATH. This option may be used more than once.
–script-alias=PATH (-s) Specify the ScriptAlias, the artificial path
location that at which ViewVC appears to be
located. For example, if your ScriptAlias is
“cgi-bin/viewvc”, then ViewVC will be accessible
at “http://localhost:49152/cgi-bin/viewvc”.
[default: viewvc]
–gui (-g) Pop up a graphical interface for serving and
testing ViewVC. NOTE: this requires a valid
X11 display connection.
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2