Installing an SVN Server

What is an SVN server?

 

Apache™ Subversion® (SVN) is a free, open source version control system that operates according to the client/server model.

An SVN server is usually installed on a central computer and it manages the data of the SVN repository in a database. An SVN repository is simply directory tree that contains your CODESYS project. The SVN server makes client access available to the stored data and the CODESYS projects.

The project data is available as a working copy on your workstation computer, which act as the client. When you open your project, CODESYS SVN displays the SVN status of all objects in the object tree and provides SVN commands. Then you can further develop your project in CODESYS using version control.

Free documentation

Apache™ Subversion® (SVN) provides free documentation. We recom­mend the extensive documentation in the SVN book “red bean”. In addi­tion, there are also books available in book stores about this subject. However, you should pay attention that books correspond to the current SVN version.

See also

Support resources

Company support

Some companies offer commercial support for SVN. The following list is by no means complete. Furthermore, 3S-Smart Software Solutions GmbH does express any kind of recommendation or quality guarantee.

Variants of SVN servers

 

Several variants of SVN servers are currently available. An SVN repos­itory can normally be enabled easily at the same time via several of the following variants. In addition, one server installation can manage multiple SVN repositories.

See also

Client-server problem

 

Configuration issue of SVN servers and CODESYS SVN

The current release of CODESYS SVN has issues in some mixed IPv4/IPv6 environments. The problem occurs when the host name of the SVN repository server is resolved successfully to the IPv4 and IPv6 address, but the SVN server itself (svnserve or apache mod_svn) accepts requests via IPV4 only. The consequence is that some of the dialogs that access the SVN repository are unusually slow. For example, this affects the dialogs SVN Repository Browser, Checkout, and SVN switch.

The best solution to the problem is to reconfigure the server so that it also accepts requests via IPv6. Another possibility is to access the SVN repository via the IPv4 address of the server and then to deactivate IPv6 on the client computer. You can also set up alternative host name that resolves only the IPv4 address of the server.

See also

Installing and configuring a server

Notice

We recommend that you employ a productive SVN server as part of the IT infrastructure that is monitored and maintained by experts. Make sure that failsafe hardware is used that is intended for operation as a server. Update the installed software in regular intervals and secure the server against external access. Make sure you have a functioning backup.

For CODESYS SVN as the SVN client, it does not matter on which oper­ating system the server runs.

Select a current version (example: version 1.9.x) when installing the SVN server for the first time. There should not be any problems with an existing server of version 1.8. Avoid server versions 1.7.x and earlier. We recommend that you update this because SVN developers no long offer support for this version and earlier.

For Windows servers, download the installation packages from the Internet, for example from"Apache.org" or "VisualSVN.com". For "Apache.org", the current versions of the graphical TortoiseSVN client provide options for installing the command line tools, including "svnserve". For Linux servers, SVN packages are usually available from the distribution. That is probably the easier way.

See also

Securing a server/client connection by authentication and certificate

 

You can use an encrypted connection in order not to establish the connection to the SVN server over an unsafe network. Encryption can be done by means of a standard procedure such as SSL or SSH. The server has to be configured by the administrator for this purpose.

Authentication on the server

  1. You can authenticate yourself on the server by confirming the server certificate.

Authentication on the client

  1. You can authenticate the client (permission check) by means of a:

    • Client certificate

    • Pass phrase

    • User name and password

See also