Install Subversion on Debian

First of all, install these packages: apache2, php5, subversion.

# apt-get install apache2
# apt-get install libapache2-mod-php5
# apt-get install subversion
# apt-get install libapache2-svn

Create repository folder.

# mkdir /subversion
# svnadmin create --fs-type fsfs /subversion/kendal

Make sure subversion is activated in apache.

# a2enmod dav
# a2enmod dav_svn

Create user account for subversion.

# htpasswd -c /subversion/passwd user1

(remove option  -c if passwd file exists)

Edit /etc/apache2/ports.conf file and add this line:

Listen 10001

Edit /etc/apache2/default file.
Change NameVirtualHost * to NameVirtualHost *:80
Add this line:

NameVirtualHost *:10001

Change <VirtualHost *> to <VirtualHost *:80>

Create /etc/apache2/sites-available/subversion file and type in these lines:

NameVirtualHost *:10001
<VirtualHost *:10001>
ServerAdmin admin@svn
LoadModule dav_module /usr/lib/apache2/modules/
LoadModule dav_svn_module /usr/lib/apache2/modules/
#LoadModule ssl_module /usr/lib/apache2/modules/ == this line is not used
<Location / >
Order allow,deny
Allow from all
DAV svn
SVNParentPath /subversion
AuthzSVNAccessFile /subversion/authfile
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd

ErrorLog /subversion/error.log
LogLevel warn
CustomLog /subversion/access.log combined

Create symbolic link:

# ln -s /etc/apache2/sites-available/subversion /etc/apache2/sites-enabled/subversion

Create file for access permission in /subversion/authfile which contains the following lines:

programmer=adji, purwo

Change repository folder owner to apache user:

# chown -R www-data:www-data /subversion

Restart apache:

# apache2ctl restart

Test the repository in browser:


Leave a Reply

Your email address will not be published. Required fields are marked *