Install Ravada

Requirements

OS

Ravada has been successfully tested only on Ubuntu 16.10 and 17.04. If you want it to run on Ubuntu 17.10 try the beta package. It should also work in recent RedHat based systems. Follow this guide if you prefer Debian Jessie.

Hardware

It depends on the number and type of virtual machines. For common scenarios are server memory, storage and network bandwidth the most critical requirements.

Memory

RAM is the main issue. Multiply the number of concurrent workstations by the amount of memory each one requires and that is the total RAM the server must have.

Disks

The faster the disks, the better. Ravada uses incremental files for the disks images, so clones won’t require many space.

Install Ravada

Ubuntu

We provide deb Ubuntu packages. Download it from the UPC ETSETB repository. We fixed some issues from the last release, we advice you install release 0.2.11-rc1.

libmojolicious-plugin-renderfile-perl package is available only in recent Ubuntus. Try this first:

$ sudo apt-get install libmojolicious-plugin-renderfile-perl

Only if it fails download our own package:

$ wget http://infoteleco.upc.edu/img/debian/libmojolicious-plugin-renderfile-perl_0.10-1_all.deb
$ sudo dpkg -i libmojolicious-plugin-renderfile-perl_0.10-1_all.deb

Then install the ravada package, notice it show some errors, it is ok, keep reading.

$ wget http://infoteleco.upc.edu/img/debian/ravada_0.2.11-rc1_all.deb
$ sudo dpkg -i ravada_0.2.11-rc1_all.deb

The last command will show a warning about missing dependencies. Install them running:

$ sudo apt-get update
$ sudo apt-get -f install

Mysql Database

MySQL server

Warning

MySql required minimum version 5.6

It is required a MySQL server, it can be installed in another host or in the same one as the ravada package.

$ sudo apt-get install mysql-server

MySQL database and user

It is required a database for internal use. In this examples we call it ravada. We also need an user and a password to connect to the database. It is customary to call it rvd_user. In this stage the system wants you to set a password for the sql connection.

Create the database:

$ mysqladmin -u root -p create ravada

Grant all permissions on this database to the rvd_user:

$ mysql -u root -p ravada -e "grant all on ravada.* to rvd_user@'localhost' identified by 'changeme'"

Config file

Create a config file at /etc/ravada.conf with the username and password you just declared at the previous step. Please note that you need to edit the user and password via an editor. Here, we present Vi as an example.

$ sudo vi /etc/ravada.conf
db:
  user: rvd_user
  password: changeme

Ravada web user

Add a new user for the ravada web. Use rvd_back to create it. It will perform some initialization duties in the database the very first time this script is executed.

When asked if this user is admin answer yes.

$ sudo /usr/sbin/rvd_back --add-user user.name

Firewall (Optional)

The server must be able to send DHCP packets to its own virtual interface.

KVM should be using a virtual interface for the NAT domnains. Look what is the address range and add it to your iptables configuration.

First we try to find out what is the new internal network:

$  sudo route -n
...
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

So it is 192.168.122.0 , netmask 24. Add it to your iptables configuration:

sudo iptables -A INPUT -s 192.168.122.0/24 -p udp --dport 67:68 --sport 67:68 -j ACCEPT

To confirm that the configuration was updated, check it with:

sudo iptables -S

Client

The client must have a spice viewer such as virt-viewer. There is a package for linux and it can also be downloaded for windows.

Run

The Ravada server is now installed, learn how to run and use it.

Help

Struggling with the installation procedure ? We tried to make it easy but let us know if you need assistance.

There is also a troubleshooting page with common problems that admins may face.