Apache Subversion is an open-source version control system. It helps you keep track of a collection of files and folders. Any time you change, add or delete a file or folder that you manage with Subversion, you commit these changes to your Subversion repository, which creates a new revision in your repository reflecting these changes. You can always go back, look at and get the contents of previous revisions. SVN supports several protocols for network access: SVN, SVN+SSH, HTTP, HTTPS. If you are behind a firewall, HTTP-based Subversion is advantageous since SVN traffic will go through the firewall without any additional firewall rule set.
Here at LinuxAPT, as part of our Server Management Services, we regularly help our Customers to perform related Open-source Software Installation queries.
In this context, we shall look into how to install Apache Subversion on Ubuntu 20.04 LTS.
Steps to Install and configure Apache Subversion on Ubuntu 20.04 LTS Focal Fossa
1. Perform System Update
First, make sure that all your system packages are up-to-date by running the following apt commands in the terminal:
$ sudo apt update
$ sudo apt upgrade
2. Install Apache webserver
Before starting, the Apache webserver must be installed on your server. If not installed, you can install it with the following command:
$ sudo apt install apache2 apache2-utils
3. Install Apache Subversion on the system
Run the following command to install SVN and all dependencies needed for SVN:
$ sudo apt install subversion libapache2-mod-svn subversion-tools libsvn-dev
Once the package is installed, Now enable Apache2 modules to run SVN to function:
$ sudo a2enmod dav
$ sudo a2enmod dav_svn
$ sudo systemctl start apache2.service
4. Configure Apache Subversion
Subversion Apache module package creates a configuration file /etc/apache2/mods-enabled/dav_svn.conf. You just need to make the necessary changes to it.
5. Create First SVN Repository
Create your first svn repository named first repo, You can use any suitable name:
$ sudo mkdir /var/www/svn
$ sudo svnadmin create /var/www/svn/project
$ sudo chown -R www-data:www-data /var/www/svn
$ sudo chmod -R 775 /var/www/svn
6. Create an account and password for SVN
The Following commands will add users for svn. It will prompt for user's passwords to be assigned:
$ sudo htpasswd -cm /etc/apache2/dav_svn.passwd linuxapt
$ sudo htpasswd -m /etc/apache2/dav_svn.passwd linuxapt1
Next, restart the Apache2 server with the below command to effect changes:
$ sudo systemctl restart apache2.service
How to access Repository in Browser ?
Subversion will be available on HTTP port 80 by default.
Open your favorite browser and navigate to http://your-domain.com/svn/project/ or http://your-server-ip/svn/project/ and will prompt for authentication.
Use login credentials created in Step 6.
If you are using a firewall, please open port 80 to enable access to the control panel.
[Need assistance in fixing missing Software packages on your Linux system ? We can fix it. ]