For all of the installation and configuration process, you need to login as root.
apt-get install subversion (this will install the subversion package) Install any other dependencies if any as required for your system.
The following steps assume that, the necessary packages are installed. Now we will create the folders and the repository. The SVN repository can be placed in several places in the server. Most common places are /var/svn/ , /svr/svn/, /home/svn/ etc.
First of all create a new user group named “subversion”
Then add youself and the www-data ( the apache user) to this groups. You can do this by doing the following steps
1 Choose System > Administration > Users and Groups from your Ubuntu menu.
2 Select the Group tab
3 Click the ‘Add Group’ button
4 Name the group ‘subversion’
5 Add yourself and www-data (the Apache user) to this group .
Note: As default, the user configuration does not show system users. To see the Apache user in this list, do the following
a) Start gconf settings editor: Alt+F2 gconf-editor Enter.
b) In the tree, locate /apps/gnome-system-tools/users.
c) Select the “showall” check-box.
Now logout and login again in order to the above changes to be applied.
Now we will create the folder where you can place the SVN repository.
chown -R www-data:subversion projectname
chmod -R g+rws projectname<-This command will set the gid for proper permissions on all new files added to your SVN repository.
Now issue the following command to create the SVN repository
svnadmin create /home/svn/projectname
chmod -R g+rws projectname Issue this command again, because svnadmin will create folders and files without the write access to the group.
Importing the Project into SVN
Now go the folder where your project folder is present. Then issue to following command to import your project into SVN repository.
svn import projectnamefile:///home/svn/projectname –m “Initial checkin of projectname into SVN”
Now we have created the repository and imported the project into it successfully. Now we have to control the access to the repository by creating users.
If the SVN is just now installed the passwd file will not exist and it should be created first, under the /etc/subversion folder. This is the file that will contain the authentication details for the users.
to create the the password file, use the command
htpasswd –c /etc/subversion/passwd username (Enter the username here)
this will prompt us to enter the password for the user. Enter the password. Now the user is added. To add more users use the same command above without using the –c switch. For example to add another user, use the following.
htpasswd /etc/subversion/passwd username2 (Enter the second username here)
Checking out from Repository
We have created the repository, imported out project into SVN and created the users also. Now to check with the installation and repository, we have to checkout our project from the repository. Go to any of your working folder(not to the svn repository folder) first. To checkout use the following command
svn co file:///home/svn/projectname (this will checkout the projectname from SVN repository)
That’s it we are done with the our basic things to use SVN. To access SVN over various protocols like http://, https://. svn:// and svn:+ssh// we can refer ubuntu or SVN documentation. For an example I’ll explain how to access our SVN repository over http:// (WebDAV).
Access the SVN via WebDAV (http://)
To access the SVN repository via WebDAV, we must configure the Apache server.
First we have to install the libapache2-svn package
apt-get install libapache2-svn
Then add the following snippet to the /etc/apache2/mods-available/dav_svn.conf file.
AuthName “projectname subversion repository”
<LimitExcept GET PROPFIND OPTIONS REPORT>
Hope this will help somebody who would like to get all the basic, necessary steps to start using the SVN. Let me know your feeback.
For further reference see the following links