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

Lst updated on
December 12, 2017
Contents

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.

Reboot

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:-

:wq!

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:-

[groups]

admin=user1

repo1_user=user2

repo1_trainee=user3

[/]

@admin=rw

[repo1:/]

@repo1_user=rw

@repo1_trainee=r

Save and quit:-

:wq!

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.

Need help with deployments, consulting, support, migration planning, or proof of concept?
Get Free Consulting
Microsoft 365 Migration Form

I would like to send my contact information to MedhaCloud so that MedhaCloud can share additional information about products, services, thought leadership and invitations to flagship events with me by email. *

By submitting this form, I acknowledge that someone from MedhaCloud will contact me via email or phone to discuss my request.

Related Article

View All
chevron-down linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram