REVEN-Axion 2017v1.4.2

System requirement

Here are the mandatory technical requirements to run a REVEN server:

  • an Intel(TM) CPU with VT-x extension, in x86-64 mode,
  • a GNU/Linux Debian Jessie amd64 OS (English only),
  • must be installed on a hardware host computer, it won't work inside a virtual machine,
  • while it may work on recent basic computers/laptop for small projects, a dedicated server machine with high bandwidth RAM and high quality hardware RAID may be required for bigger projects.
  • The /tmp directory must be mounted on a RAM filesystem with at least 4Gb available,

The following points may be necessary to improve the REVEN server performance. Metrics are given for information only: they are an estimation based on the assumption of a single project consisting of a 1-second long scenario.

  • The project_data folder (see Global configuration) should be the on fastest storage possible (eg: avoid cyphering) and should have at least 200Gb available (for multiple projects, 1Tb is recommended).

Note that the version of REVEN-Axion you received may be specifically tailored to a hardware machine of which you would have provided characteristics. If that is the case, please install the REVEN server on this machine only.

To run the Axion client, the requirements are:

  • you must install the client on a Linux Debian Jessie amd64 OS (English only),
  • you can use a virtual machine to host the Debian system,
  • you should have at least 1Gb of RAM,
  • you must have a network access to the REVEN server and the following TCP ports must be accessible:
    • 80 for package installation / upgrade,
    • 8080 for the REVEN server itself,
    • 13370 and up to at least 13375 (one per opened project),
    • 5900 and up (depending on your user configuration) for VNC access while recording scenarios,
    • 22 (default ssh) for tunneling VirtualBox manager X window when creating VMs.

Debian installation

In the following steps we assume the following configuration:

  • a user named tetrane on the server,
  • a root access (via root password or sudo rights) on both server and client machines.

Package repository registration on the server

REVEN is usually shipped as a compressed tar archive. To install it, first you have to extract the archive using the tar unix utility. We recommend storing REVEN packages in /home/tetrane/repo.

The following commands will extract a REVEN archive named reven-XXX.tgz (located in /home/tetrane/) to the /home/tetrane/repo folder. This should be ajusted to your needs.

1 # Ensure repository directory exist
2 mkdir -p /home/tetrane/repo
4 # Extract the reven-XXX.tgz archive located in /home/tetrane/
5 cd /home/tetrane/repo
6 tar -xf /home/tetrane/reven-XXX.tgz

To be able to use the Debian package manager to install REVEN, you must register a new package repository. The recommended way is to create a /etc/apt/sources.list.d/tetrane.list file with the following content:

In the case of a local repository stored in /home/tetrane/repo:

1 deb file:/home/tetrane/repo/reven stable main
2 deb file:/home/tetrane/repo/static_packages stable main

And then update the package database (as root user):

1 # Update available package database
2 apt-get update

You can make sure your package configuration has been taken into account by issuing the following command:

1 apt-cache show reven-server

It should display information about this package.

REVEN server installation

Before anything else, you should ensure your /tmp folder is indeed mounted as a ramfs. You can do so by adding the following line to your /etc/fstab file:

1 tmpfs /tmp tmpfs defaults,nosuid 0 0

You can now force the system to remount /tmp:

1 # Force remount
2 sudo mount -a
3 # Make sure /tmp is mounted:
4 mount | grep "/tmp"

Once the REVEN packages are available through the package manager, you can install the REVEN server.

As root user:

1 # Make sure the system is up-to-date
2 apt-get dist-upgrade
3 # Install reven-server
4 apt-get install reven-server

At some point, the installer will ask for information about the new REVEN user, simply enter default choices (with <Enter>) and confirm with <Y>.

At the end of the installation you can check the REVEN service is running:

1 service reven-daemon status

By default, REVEN automatically start at boot, to avoid that and only start it manually, use the update-rc.d command (as root user):

1 update-rc.d reven-daemon remove

Once REVEN is installed some more setup is needed before you can actually use it. Note that the installation process creates a user named reven. You should not use this this user for any operation on the machine.

Axion client installation

Now that you have installed the REVEN server software, it is time to configure the clients. All following commands will have to be issued on the client machine.

By default, the server installation you just went through will configure the machine to serve the client REVEN-Axion packages on an http server. Therefore, the easiest way to deploy the client is to configure the Debian client machine to use a new package repository by creating a file name /etc/apt/sources.list.d/tetrane.list with:

1 deb stable main

Of course should match the address or hostname corresponding to the machine you installed the REVEN server on.

Once Axion packages are available through the package manager, you can install the Axion client.

As root user

1 # Make sure the system is up-to-date
2 apt-get update
3 apt-get dist-upgrade
4 # Install reven-axion
5 apt-get install reven-axion

Debian upgrade

To upgrade a previous installation of a REVEN server or Axion client, you must ensure the latest packages are available through the package manager: if you followed the recommended steps above, this means replacing the content of /home/tetrane/repo with the new packages. Then, simply issue the following command (as root user) on the server first, then on the clients:

1 apt-get update && apt-get dist-upgrade