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.
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.