How to install secure svn server WITHOUT apache?

svn
7,889

It sounds like you want to avoid using a web server such as apache. Your two other options are svnserve or SVN-over-SSH. Refer to the SVN book for more info (see link at the bottom).

SVN-over-SSH has worked well for me. You would need to set up a login account on the computer for each user. Then use the "svn+ssh" scheme instead of "http" in your URLs.

Here is an example scenario just to try to get it working:

  1. Install the necessary software
  2. Create an SVN repository in /tmp (just for testing)
  3. Check out the new repo into your home directory, on the same server

Here are the commands to do that, assuming your username is "ubuntu" like on the Live CD:

sudo apt-get install subversion openssh-server
svnadmin create /tmp/testrepo
svn co svn+ssh://ubuntu@localhost/tmp/testrepo ~/testrepo

But read that with these caveats:

  • You should create your repos somewhere more permantent, instead of in /tmp.
  • To check it out on another computer, use your server's IP address or domain name instead of "localhost".
  • To create accounts for other users to use SVN this way, you can use the "User Accounts" control panel in "System Settings"; or on the command line, use adduser.
  • If you try this on the Live CD, you won't be able to check out the repo, because the default "ubuntu" user doesn't have a password, so can't login via SSH. First set a password with sudo passwd ubuntu and then it will work.

Also note that the svn+ssh scheme seems to create several SSH connections, and so it authenticates several times. For this reason it is VERY convenient to either save your login info in the SVN client, or else set up certificate authentication for SSH.

For more info:

Share:
7,889

Related videos on Youtube

Martin Meeser
Author by

Martin Meeser

Updated on September 18, 2022

Comments

  • Martin Meeser
    Martin Meeser 10 months

    I would like to install a secure svn server WITHOUT the need to use tomcat or any other java server.

    Is it even possible?

    In any case no web access is needed.

    If yes can you please provide a brief step by step answer because I am quite new to linux/ubuntu.