2.5. Setting Up a Subversion Server with svnserve

Subversion works best in a team environment, and for the entire team to be able to see the repository, you need to be running it on a server. There are two reasonable options for setting up this server:

  • The Subversion distribution comes with a program called svnserve, which provides for quick-and-easy setup of a repository server.

  • You can use an Apache 2.x web server augmented with the mod_dav and mod_dav_svn modules. This setup is more complex, but it's also more feature-rich.

There's a third option, which is to run svnserve but allow access only via a Secure Shell (SSH) tunnel. This option is only recommended for networks that are already making heavy use of SSH, and will not be covered here.

The Subversion team recommends you avoid trying to run the repository over your file-sharing system as "local" to all developers. Doing so has significant security and stability risks.

The svnserve system is easy to set up and maintain, and is recommended as the simplest way to get your source control system up and running. It has two significant limitations — both security-related — that may prevent it from being used by your group. All network traffic to and from svnserve is in clear text — svnserve has no provision for encryption of code traffic. To use svnserve for sensitive data, the server should reside on a system that is accessible only inside a VPN or other mechanism for authenticating and encrypting traffic. Similarly, svnserve ...

Get Professional Ruby on Rails™ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.