We use cookies to help us improve our webpage. Please read our Cookie Policy .

NAS 244

Introduction to Subversion

Set up a Subversion server on your ASUSTOR NAS

2017-12-14

COURSE OBJECTIVES

Upon completion of this course you should be able to:

1. Use ASUSTOR NAS to set up a Subversion version management system.


PREREQUISITES

Course Prerequisites:

None

Students are expected to have a working knowledge of:

Linux


OUTLINE

1. Subversion

1.1 Installing Subversion

1.2 Creating a working directory

2. Configuring Subversion

2.1 Creating a repository

2.2 Configuring authentication and authorization policy

2.3 Configuring accounts and passwords

2.4 Configuring access permissions

2.5 Enabling SVN service




1. Subversion

Subversion (SVN) 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.

1.1 Installing Subversion

Log into ADM from your Web browser and follow the steps outlined below:


Select [App Central] > [All Apps] > Enter “Subversion” into the search field > Click on [Install].



1.2Creating a working directory

If you wish to create a new working directory, please follow the steps outlined below:


Select [Access Control] > [Shared Folders] > Click on [Add] > Follow the steps provided by the wizard to add the new folder.



2. Configuring Subversion

2.1Creating a repository

Please first ensure that SSH service has been enabled.

Select [Services] > [Terminal] > Select the [Enable SSH service] checkbox > Click on [Apply].


Use an SSH client to log in to your NAS and then enter the command below to create an SVN repository. In the example below we create the repository “repo” in the “SVN” folder of Volume 1.


root@AS6102T-DTCP-IP:/volume1 # svnadmin create /volume1/SVN/repo


2.2Configuring authentication and authorization policy


After creating a repository, you can configure Subversion server authentication and authorization policies, create user accounts/passwords and access permissions.


Defining authentication and authorization policies


root@AS6102T-DTCP-IP:/volume1/.@root # vi /volume1/SVN/repo/conf/svnserve.conf


[general]

# Non-authenticated users have read permissions. Can configure this as “none” (no permissions).

anon-access = read

# Authenticated users have read and write permissions.

auth-access = write

# Password file

password-db = passwd

# Permissions configuration file.  If this is not configured the password-db configuration above will not be active.

authz-db = authz

# Instructional text to be used when requesting passwords.

realm = Instructional text


2.3 Configuring accounts and passwords


In the example below we will be creating the user “asustor” with the password “admin”.


root@AS6102T-DTCP-IP:/volume1 # vi /volume1/SVN/repo/conf/passwd


[users]asustor = admin

2.4 Configuring access permissions


In the example below we assign the user “asustor” to the “Admin” group, and give the user Admin read and write permissions.


root@AS6102T-DTCP-IP:/volume1/.@root # vi /volume1/SVN/repo/conf/authz

[groups]# Configuring groupsAdmin = asustor# Configuring  root directory permissions (mandatory)[/]@Admin = rw* = r# Configuring repository permissions[/repo]@Admin = rw* =


2.5 Enabling SVN service


After completing the following configurations you will be able to:

enable SVN service and use a familiar SVN client to connect to the NAS and execute text file or code file management.


root@AS6102T-DTCP-IP:/volume1/.@root # svnserve -d -r /share/SVN/


If you wish to allow your NAS to automatically enable SVN service on system start up, please add the two files below to  /usr/local/etc/init.d


S99svnerve.sh

#/bin/sh svnserve -d -r /share/SVN/


K99svnerve.sh

#!/bin/sh killall svnserve


Was this article helpful? Yes / No