The purpose of the Subversion virtual machine is to act as a self-contained subversion server, with a fully configured WebSVN front end. Webmin is also installed for remote server administration, which should rarely be necessary. This virtual machine will let you drop in a source control system with minimal configuration. You can also use it to replace an existing Subversion server for maintenance purposes. Ubuntu Server should never need maintenance, and requires minimal system resources.

The server runs Ubuntu Server Linux 6.06, which has very reasonable resource requirements, and has excellent community support due to its popularity.

Current Version: 1.1


Please note that this is a RAR file. You will need a program such as WinRAR or 7-Zip to decompress it.


To run this Virtual Machine, you’ll need VMware 5.5+ Workstation, VMware Player 1.0+, or VMware Server 1.0. The host machine will also need about 128mb of free memory. The speed of the virtual machine will depend on the amount of free physical memory you have available, and the amount of CPU cycles that can be allocated to the machine. You can drop the memory down to about 64MB if that is all you can spare, and if the server is not under heavy load.

Please note that while the actual files on this virtual machine are small, the virtual disk automatically expands as more space is needed. It does not shrink if files are deleted. That is why the compressed virtual machine is MUCH smaller than the decompressed version. I have not yet figured out a way to shrink an Ubuntu virtual disk. If you have done this, please let me know, because I have tried about everything.

Getting Started

The standard username and password are svnadmin and svnpass respectively.

IMPORTANT NOTE: Root access is disabled by default in Ubuntu, which is a good thing. However, you can perform root actions by using the “sudo” command. Simply put it before the command you wish to run as root, and it will prompt you for your password, and then perform the requested action. If you still want to use root, use the command line “sudo passwd root” to set a root password.

The first thing you probably want to do is create a new Subversion repository. To do that, type sudo svnadmin create /var/svnroot/myrepo (substitute myrepo with whatever name you want).

Next, we need to add at least 1 user, so that we can access our repository, and have at least a little bit of security. In the folder for the repository you just created, go into the “conf” folder. You then need to edit the “passwd” file. There are instructions in that file, so it should be pretty obvious. Once that is done, you can simply access the repository using svn://servername/reponame, in your favorite Subversion client. Mine is TortoiseSVN.

Now that Subversion is ready to go, we’re going to set up WebSVN. Open the WebSVN configuration file (the file location is listed below) and find the section that lists all of the repositories that are configured. You will see that the sample repository is all set up. That should give you enough information to add a line to configure your new repository. Then you should be able to go to http://servername/WebSVN/reponame and browse your repository.

There you go, that was easy wasn’t it? It’s pretty easy to set up a fully self contained, modular, Subversion appliance.

Additional Manuals & Links

Server Addresses

Local File Locations

Apache 2 Configuration
WebSVN Configuration
WebSVN Configuration Instructions
Apache Website Root
Subversion Repositories


Version 1.1
Fixes many of the Internet connectivity issues that users were having.
Version 1.0
Initial Release

Frequenly Asked Questions

Are the Vmware Tools installed?
How do I add a new repository?
Type sudo svnadmin create /var/svnroot/myrepo (substitute myrepo with whatever name you want)
How do I rename the computer?
You need to edit /etc/hostname and /etc/hosts. Both need to be changed at the same time, or the sudo command will no longer work. If that happens, use the recovery option at bootup to fix it. One option is to use the command gksudo gedit /etc/hosts /etc/hostname, edit both and save both.
What is the root password?
There is no root password. You use the “sudo” command to elevate your priviledges to super user. If you want to set a root password, use sudo passwd root.
Are there any special licensing requirements?
Not that I know of. You need to view the licensing agreements for Ubuntu Server 6.06 Subversion, and WebSVN. I do not impose any special restrictions, and I do not provide official support. I take no liability for the virtual machine, use at your own risk.
How can I help?
If you have some cool ideas, let me hear them. I may incorporate them in, helping everyone. You can also consider giving a donation, which will motivate me to better refine this appliance, and possibly make others.
What if I’m having problems?
Your best best is probably to visit the Ubuntu forums. The community support is great, which is why I chose Ubuntu. Otherwise, I suggest using Google. I don’t have time to support it myself. It would be a good learning experience for you anyway.