How to install WebSVN for Apache Subversion(SVN) in CentOS

Installation of WebSVN for Apache Subversion(SVN) on CentOS 7

WebSVN provides a GUI for managing the Apache Subversion (SVN) repositories. It is used for comparing the revision of files, logs of files and directories. Installation of WebSVN for Apache Subversion in CentOS is explained in this manual.

Features

  • Supports multiple local & remote repositories
  • To view & search logs.
  • Options to download files & folder.
  • Multiple lingual support.customization in templates.
  • RSS Feed facilityComparison of file & directory is possible.

To install WebSVN

Before installing WebSVN , install SVN.

To know how to install SVN visit,
https://www.linuxhelp.com/install-configure-apache-subversion-svn-centos-7/
Run the following command to install PHP.

[root@linuxhelp1 linuxhelpproject]# yum install php -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.webwerks.com
 * extras: centos.webwerks.com
 * updates: centos.webwerks.com
Resolving Dependencies
-->  Running transaction check
--->  Package php.x86_64 0:5.4.16-36.1.el7_2.1 will be installed
-->  Finished Dependency Resolution
/var/cache/yum/x86_64/7/base/gen/comps.xml: no element found: line 1, column 0

Dependencies Resolved

==========================================================================================
 Package        Arch              Version                        Repository          Size
==========================================================================================
Installing:
 php            x86_64            5.4.16-36.1.el7_2.1            updates            1.4 M

Transaction Summary
==========================================================================================
Install  1 Package

Total download size: 1.4 M
Installed size: 4.4 M
Downloading packages:
php-5.4.16-36.1.el7_2.1.x86_64.rpm                                 | 1.4 MB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : php-5.4.16-36.1.el7_2.1.x86_64                                         1/1
  Verifying  : php-5.4.16-36.1.el7_2.1.x86_64                                         1/1

Installed:
  php.x86_64 0:5.4.16-36.1.el7_2.1                                                        

Complete!

Utilise the following command to download WebSVN.

[root@linuxhelp1 html]# wget http://websvn.tigris.org/files/documents/1380/49056/websvn-2.3.3.tar.gz
--2016-07-26 08:41:58--  http://websvn.tigris.org/files/documents/1380/49056/websvn-2.3.3.tar.gz
Resolving websvn.tigris.org (websvn.tigris.org)... 204.16.104.146
Connecting to websvn.tigris.org (websvn.tigris.org)|204.16.104.146|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 882779 (862K) [application/x-gzip]
Saving to: ‘ websvn-2.3.3.tar.gz’ 

100%[================================================> ] 882,779      100KB/s   in 9.1s   

2016-07-26 08:42:08 (94.4 KB/s) - ‘ websvn-2.3.3.tar.gz’  saved [882779/882779]

Extract the Downloaded file.

[root@linuxhelp1 html]# tar -zxvf websvn-2.3.3.tar.gz
websvn-2.3.3/
websvn-2.3.3/include/
websvn-2.3.3/include/version.php
websvn-2.3.3/include/configclass.php
websvn-2.3.3/include/template.php
websvn-2.3.3/include/header
websvn-2.3.3/include/svnlook.php
.
.
websvn-2.3.3/filedetails.php
websvn-2.3.3/cache/
websvn-2.3.3/cache/tmp

Rename the extracted folder by using the following command.

[root@linuxhelp1 html]# mv websvn-2.3.3 websvn

Rename the configuration file and add the following entries into it.

[root@linuxhelp1 html]# cd websvn/include
[root@linuxhelp1 include]# mv distconfig.php config.php
[root@linuxhelp1 include]# vim config.php
// Configure these lines if your commands aren' t on your path.
//
 $config-> setSVNCommandPath(' /usr/bin' )  //  e.g. c:\program files\subversion\bin
 $config-> setDiffPath(' /usr/bin' ) 

// For syntax colouring, if option enabled...
 $config-> setEnscriptPath(' /usr/bin' ) 
 $config-> setSedPath(' /bin' ) 

// For delivered tarballs, if option enabled...
 $config-> setTarPath(' /bin' ) 

// For delivered GZIP' d files and tarballs, if option enabled...
 $config-> setGZipPath(' /bin' ) 

$config-> parentPath(' /var/www/svn' ) 

// $extEnscript[' .pas' ] = ' pascal'  
$extEnscript[' .pl' ] = " perl"  
$extEnscript[' .py' ] = " python"  
$extEnscript[' .sql' ] = " sql"  
$extEnscript[' .java' ] = " java"  
$extEnscript[' .html' ] = " html"  
$extEnscript[' .xml' ] = " html"  
$extEnscript[' .thtml' ] = " html"  
$extEnscript[' .tpl' ] = " html"  
$extEnscript[' .sh' ] = " bash"  

Restart the Apache services as shown below.

[root@linuxhelp1 include]# systemctl restart httpd.service

open the web browser and navigate to http://< Server’ s_ip> /websvn

[root@linuxhelp1 include]# firefox

FAQ
Q
Environment Variable for defining differencing tool in Subversion?
A
You can customize the difference tool used by setting diff-cmd in your ~/.subversion/config
Q
I need to download the source for Apache Subversion?
A
You can go to this link, https://subversion.apache.org/download.cgi?update=201708081800
Q
Please share documentation for WebSVN?
A
follow this link, https://websvnphp.github.io/docs/
Q
How to access subversion repository?
A
You can use this link http://websvn.tigris.org/svn/websvn/ provide
username as guest and password leave it as empty
Q
Is it possible to integrate Jira with WebSVN?
A
Something like this could work for you with modifications to mycompany and websvn version information.

#———————————
# WebClient for SVN (2.0)
#———————————
linkformat.changeset=http://svn.mycompany.net/websvn-2.2.1/revision.php?repname=source&location=/&rev=${rev}