How to install Setup an Apache Subversion (SVN) on CentOS 7 server

Publish on December 12, 2017

Subversion (SVN) is an extensively used version control answer which assistance in storing files of many versions, similar source code and documents.

In this object, I will show you how to setup SVN server on a CentOS 7 server instance.

Update the Centos 7 server: -

yum update -y

once update complete reboot the server.


install firewalld:-

yum install firewalld -y

To enable firewalld, run the following command as root:

systemctl enable firewalld

Start Firewalld

To start firewalld, run the following command as root:

systemctl start firewalld

Check the Status of Firewalld

To check the status of firewalld, run the following command as root:

systemctl status firewalld

Install Apache(httpd):-

yum install httpd

Remove Apache's httpd default page:-

sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Stop Apache httpd from showing records in the "/var/www/html" directory:-

sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Install SVN and the mod_dav_svn module:-

yum install subversion mod_dav_svn

Configure SVN:-

vi /etc/httpd/conf.modules.d/10-subversion.conf

Add the following section:-

DAV svn

SVNParentPath /svn

AuthName "SVN Repos"

AuthType Basic

AuthUserFile /etc/svn/svn-auth

AuthzSVNAccessFile /svn/authz

Require valid-user

Save and quit:-


Create an SVN repo:-

mkdir /svn

cd /svn

svnadmin create repo1

chown -R apache:apache repo1

Setup SVN user accounts:-

mkdir /etc/svn

htpasswd -cm /etc/svn/svn-auth user1

chown root:apache /etc/svn/svn-auth

chmod 640 /etc/svn/svn-auth

If you want to create more SVN user accounts, refer to the following commands:

sudo htpasswd -m /etc/svn/svn-auth user2

sudo htpasswd -m /etc/svn/svn-auth user3

Setup permissions for users:-

cp /svn/repo1/conf/authz /svn/authz

vi /svn/authz

Add the following section:-










Save and quit:-


Start Apache and modify firewall rules:-

Start Apache:-

sudo systemctl start httpd.service

sudo systemctl enable httpd.service

Open the HTTP service port:

sudo firewall-cmd --zone=public --permanent --add-service=http

sudo firewall-cmd –reload

Finally, use the following path to access the SVN repo "repo1" on your server from an SVN client:

http://your ip/svn/repo1

That concludes our blog.

Likes this Article
Search for More Help
Want to learn more?
Join our MedhaCloud community of over a million developers for free!
Get help and share knowledge about us.

You must Log in to post a comment or reply


Popular Author