CollabVM Server 2.0/Getting Started

This page will help you get started with CollabVM Server v2.0. CollabVM Server v2.0 is mostly different from CollabVM Server v1.x, although it is much more user-friendly. This page will try to document all the changes.

You shouldn't use CollabVM 2.0 for your own good, please don't follow any of the instructions on this page.

Requirements
Currently, you need a 64-bit installation of Linux or Windows. The binaries can be built to work on 32-bit but at this time, the prebuilt binaries do not support 32-bit.

The prebuilt binaries for Linux will work on any distribution with at least a Linux 2.6.0 kernel, which is basically any distribution released after December 2003. The prebuilt binaries for Windows require at least Windows Server 2008 or Windows Vista x64, but can also be built to work with Windows XP / Windows Server 2003. It does not run on Windows 2000 or anything older.

Downloading
Downloads:
 * Latest Linux Version: Click here
 * Latest Windows Version: Click here

Arguments
A new feature in CollabVM Server 2.0 is the addition of many arguments. Although CollabVM Server 1.2 had these, it only had a very limited set. It is not required to pass any arguments to start the server, but it is highly recommended.

collab-vm-server [--host ] [--threads ] [--port ] [--root ] [--cert] [--no-autostart] [--version] [--help]

--host, --l
 * (default: --host localhost)
 * This will set which IP CollabVM will listen on. By default, this is set to "localhost". To expose the server to the internet, you would add -l 0.0.0.0 to the arguments. It is not recommended to expose the server until an admin account has been created.

--threads, --t
 * Specify the amount of threads that CollabVM Server can use.

--port, --p
 * (default: --p (random))
 * Specify the port which CollabVM Server will run on. CollabVM Server can run on any port. The default option is to start on a random port.

--root, --r
 * (default: --r .)
 * This is the directory that CollabVM Server will serve files from, like the actual website, the Admin Panel, etc. If you would like to change the default root directory, specify the folder with the --r command (e.g. --r files)

--cert, --c
 * CURRENTLY UNUSED. If you would like CollabVM, as well as account registrations and logins to be secured with SSL, you can specify the location of an .PEM SSL certificate with this command. It is not recommended to have public account registrations with SSL disabled.

--no-autostart, --n
 * If you don't want any virtual machines to be automatically started with CollabVM Server (even if they have been checked to automatically start with the Admin Panel), you can include this command.

--help, --h
 * This will display a help dialog, listing available commands.

--version, --v
 * This will display the current version of your CollabVM Server, as well as its associated libraries.

First things to do
The first thing you'll want to do, of course, is start the CollabVM Server. It is very easy to start up. Go into the directory you downloaded CollabVM Server 2 in, and then type the following command:

./collab-vm-server --p 6755

If you are using Windows or Windows Server, erase the "./" part of the command, i.e. just write "collab-vm-server".

If you want to expose the server to the internet, run the following command:

./collab-vm-server --p 6755 -l 0.0.0.0

After this is done, the next thing you will want to do of course is open up CollabVM in your web browser to make sure everything is working. If you're hosting it on a local server, it can normally be accessed like i.e. http://localhost:6755 if you set the port to 6755. If you are on a VPS, it can be accessed by typing http://(vps ip):6755 in the same way.

Firewall Exception
On most operating systems, you may need to add an exception in your Firewall in order to actually allow users to connect to your VM. The process is very simple.

Uncomplicated Firewall (ufw)

 * Open a terminal.
 * Type sudo ufw allow [port]/tcp

Windows XP/Server 2003/POSReady 2009

 * Click on the Start Menu, and go to Control Panel. Switch to Classic View if you have "Category View" enabled.
 * Open Windows Firewall.
 * Click on the "Exceptions" tab.
 * Click on "Add Program..."
 * Click "Browse", and locate collab-vm-server.exe.
 * Click OK.
 * Make sure it is checked, then click OK.

Windows Vista/Server 2008

 * Click on the Windows logo (Start Menu), and go to Control Panel. Under the regular view, click on "Allow a program through Windows Firewall". On Classic View, click Windows Firewall.
 * Click on the "Exceptions" tab.
 * Click on "Add Program..."
 * Click "Browse", and locate collab-vm-server.exe.
 * Click OK.
 * Make sure it is checked, then click OK.

Windows 7/Server 2008 R2

 * This applies to the Professional/Ultimate/Enterprise editions of Windows 7.


 * Click on the Windows logo (Start Menu), and do a search for "Windows Firewall with Advanced Security".
 * Click on the first result.
 * Click on Outbound Rules.
 * On the menu bar, click on "Action", then "New Rule..."
 * On the "Rule Type" menu, make sure "Program" is ticked, then click Next.
 * Click on Browse, then locate collab-vm-server.exe. Alternatively, you can also put the full path in the text box if you know where it is. Click Next afterwards.
 * Make sure that "Allow the connection" is ticked, then click Next.
 * On the "When does this rule apply" tab, make sure that everything except "Public" is ticked (unless you want to host this on a public network), then hit Next.
 * Set the name to "CollabVM Server", and write a description if you want. Click on Finish.
 * Repeat the same instructions above for Inbound Rules as well.

Windows 7 Home Premium/Starter/Thin PC/etc

 * Click on "System and Security", or "Windows Firewall" if you aren't on the Category view.
 * Click on "Allow a program through Windows Firewall".
 * Click on "Change Settings".
 * Click on "Allow another program...".
 * Click on "Browse", and locate the collab-vm-server.exe.
 * Make sure that "Home/Network (Private)" is checked. If you are running on a Public network, make sure "Public" is checked as well.
 * Click OK.

Windows 8, 8.1, Server 2012/Server 2012 R2

 * Ditto for above section

Windows 10, Server 2016/Server 2019

 * Ditto for above section

Enabling QEMU hardware acceleration
If you are using QEMU for your VMs, you will probably want to enable hardware acceleration for optimal speeds. Note: Some older operating systems (i.e. Windows 95) under most computers can't run on KVM.


 * Enable Virtualization in your BIOS if it is disabled. As these instructions will vary between computers, please refer to your hardware manufacturer's instructions for booting into the BIOS and enabling virtualization technology. If you do not have physical access to your server, contact your server host for assistance.

Windows
Windows needs a special driver installed to properly utilize QEMU hardware acceleration. Note that if you choose to host QEMU, VirtualBox or VMWare VMs, you will not be able to host Hyper-V VMs, because Hyper-V needs to be disabled in order to use VT-x.

This driver only works on Windows 7 and up and does not work on Windows XP/Vista or older. This driver cannot be installed on computers using AMD CPUs.


 * Grab the Intel HAXM installer from here. Note that even though it says "Android", it will work on Windows. Proceed through the installation.
 * Install QEMU for Windows from here.
 * Acceleration requires Administrator privileges, so run a command prompt as admin and go to the QEMU directory (usually C:\Program Files\qemu)
 * Enter the QEMU command, and add -accel hax at the end. You can do a quick test run with this command to make sure it works: qemu-system-x86_64 -m 64 -accel hax (Note: If it doesn't work, you may have to restart your computer.)

Linux
Most Linux distributions should already have KVM installed - you should only need to install qemu and start it with this: qemu-system-x86_64 -m 64 -accel kvm. Again, you may need to enable virtualization in your BIOS - as these instructions will vary between computers, please refer to your hardware manufacturer's instructions for booting into the BIOS and enabling virtualization technology. If you do not have physical access to your server, contact your server host for assistance.

However, if your server is OpenVZ (most cheap Linux VPSes are) or Xen, you cannot use KVM. Xen has an alternative hardware acceleration you can use, while OpenVZ has no hardware acceleration at all.