VisualSVN Server is distributed as an all-in-one standard Windows Installer package and the installation process is easy and painless: a ready-to-go server can be quickly installed in a Next-Next-Finish manner.
But to make VisualSVN Server perfectly fit your Windows environment, it's recommended to perform the following additional configuration steps:
- Configure SSL certificate. During the initial setup VisualSVN Server generates a self-signed SSL certificate that is not trusted by Subversion clients and web browsers. It's recommended to equip the server with SSL certificate that is signed by a trusted Certificate Authority.
- Enable Integrated Windows Authentication. By default, VisualSVN Server uses Basic authentication method. It's recommended to enable Integrated Windows Authentication and allow users to access VisualSVN Server without being prompted for username and password.
- Plan your repositories layout. There are no of pre-installed Subversion repositories. Consider best repository layout practices and organize your projects with respect to repositories hierarchies.
- Configure access permissions. Access is permitted for all Windows users when VisualSVN Server is initially installed. So you're requested to grant access to selected users while keeping others from accessing confidential data in your repositories.
This getting started guide briefly describes the VisualSVN Server installation and initial configuration with the respect to Active Directory domain environment.
There is the same installation package for both Standard and Enterprise editions of VisualSVN Server. The installer setups Standard Edition and you can later convert it to the Enterprise one. The only difference between Standard and Enterprise editions is that the latter provides the following enterprise-grade features: Integrated Windows Authentication, Repository Management Delegation, Remote Server Administration and Access and Operational logging. For further details please consider VisualSVN Server licensing policy.
To get started with VisualSVN Server you are requested to download the installation package, run the installer and follow the installation wizard steps.
The installation process is quite easy:
Then you will come to the Custom Setup page where you are requested to choose general server settings such as installation folder, basic network settings and authentication options. All of these options are briefly described below.
On the initial server configuration screen you are requested to choose the following VisualSVN Server options:
- Location. This option specifies the folder to which VisualSVN Server will be installed. It's recommended to keep this option unchanged. Consider permissions required to run VisualSVN Server (KB37) if you are going to install VisualSVN Server into a non-default folder.
- Repositories. This option specifies the folder where repositories will be stored. To prevent possible installation failures, it's recommended to leave this option with the default value. Later you can adjust this option in the VisualSVN Server Manager. Consider the KB22 article if you're going to store your repositories on a network share.
- Server Port. This option specifies the TCP/IP port that will be used by VisualSVN Server. Switch to an alternative value if the default port is already occupied by other services such as IIS. Later you can bind VisualSVN Server to specific network interface in the VisualSVN Server Manager.
- Use secure connection. VisualSVN Server supports secure connection over the HTTPS protocol. It's recommended to keep this option unchanged.
- Authentication. VisualSVN Server supports Subversion and Windows authentication schemas. Subversion authentication relies on the internal users list maintained by VisualSVN Server while Windows authentication relies on Active Directory credentials. It's recommended to use Windows authentication. Later you can enable Integrated Windows Authentication method in the VisualSVN Server Manager.
VisualSVN Server setups the Windows service named "VisualSVN Server" that is used to run your Subversion server. In the case of successful installation this service should be correctly installed and started. Consider the KB29 article in order to troubleshoot possible service start failures.
VisualSVN Server Manager
VisualSVN Server comes with a unique graphical management console called VisualSVN Server Manager. The management console is an MMC snap-in and provides powerful tools to configure and manage VisualSVN Server.
VisualSVN Server Manager allows you to configure network settings, authentication methods and other possible server options. Also it allows you to start/stop the "VisualSVN Server" service, create repositories with their underlying directory structure, manage users' access permissions and so on.
VisualSVN Server Manager has dashboard that displays the current status of the server. Dashboard also provides quick links to the most frequently used management tasks.
Thanks to Remote Server Administration feature, VisualSVN Server Manager allows you to manage the server remotely (i.e. from a laptop). Note that Remote Server Administration is available in VisualSVN Server Enterprise Edition only. You can request a free trial license from the evaluation page.
Configure SSL certificate
VisualSVN Server supports secure connections over the HTTPS protocol. HTTPS is enabled by default and it's not recommended to switch down to the unsecure HTTP protocol.
In order to work over the HTTPS protocol, the VisualSVN Server should be equipped with an SSL certificate. During the initial setup VisualSVN Server generates a self-signed SSL certificate. Self-signed certificate allows you to setup encrypted connection to the server but it's not trusted by Subversion clients and web-browsers. For further details please consider the KB34 article.
To obtain an SSL certificate signed by a trusted authority you may either:
- Sign server certificate with Active Directory Certificate Services. For detailed instructions please consider the KB35 article.
- Sign server certificate with a third-party Certificate Authority. For detailed instructions please refer to documentation provided by your favorite security provider.
Enable Integrated Windows Authentication
Integrated Windows Authentication allows users to access VisualSVN Server without being prompted for username and password. The current users' Active Directory domain credentials are automatically used for authentication. Thanks to optimal security and usability, Integrated Windows Authentication is the best option for enterprise environments based on Windows.
Integrated Windows Authentication can be easily enabled using the VisualSVN Server Manager. For detailed instructions consider the KB43 article.
Note that Integrated Windows Authentication is available in VisualSVN Server Enterprise Edition only. So you will be requested to enter a license key. You can request a free trial license from the evaluation page.
Plan your repositories layout
Single VisualSVN Server instance can handle several Subversion repositories (only FSFS repositories are supported). But it's a good practice to create one repository for the entire company or department and store all your projects in this repository. A single repository approach reduces the amount of required maintenance activity and allows you to move data between projects easily, without losing any historical versioning information.
Recommended repository layout is shown in the KB17 article. VisualSVN Server Manager provides New Repository, New Folder and New Project Structure context menu commands that are handy to build the initial repository structure.
However, sometimes it's better to proceed with multiple repositories. Pros and cons of each approach are analyzed in the Strategies for Repository Deployment section of the Version Control with Subversion book.
Configure access permissions
Using VisualSVN Server Manager you can grant or revoke access to specific Subversion sub-trees with the respect to Active Directory accounts. VisualSVN Server is the only Subversion server package that lets you to leverage Active Directory groups (such as standard "Domain Users" or custom "Project Managers").
From a user perspective, access control in VisualSVN Server looks close to the similar functionality in the Windows file system. However, there are significant differences which may cause difficulties for novice Subversion administrators. For detailed description of VisualSVN Server authorization please consider the KB33 article.
When VisualSVN Server is initially installed, access is permitted for all Windows users. So you're requested to grant access to selected users while keeping others from accessing confidential files in your repositories.
Subversion repositories controlled by VisualSVN Server are available to users through the HTTPS protocol. You can get URL of any repository path by the Copy URL to Clipboard context menu command in the VisualSVN Server Manager. As VisualSVN Server URLs are case sensitive, it's a good practice to always use the Copy URL to Clipboard command to get the correct URL of the repository path.
Assuming that your VisualSVN Server is accessible at https://svn.example.com and you have created a repository named MyRepo, you can use the following test command line:
Note that you should execute the above command line under the Windows account that has appropriate access permissions to VisualSVN Server. If you have configured VisualSVN Server to use Integrated Windows Authentication, you should be not prompted for your username and passwords. Also you should not be warned about non-trusted SSL certificate. In other words, you should gain access to VisualSVN Server smoothly and the root directory of the MyRepo repository should be printed as a result of the above command line.
Also you can access VisualSVN Server using web browser. Select any repository path in VisualSVN Server Manager and choose the Browse context menu command.