How to deploy Virola Server on Amazon Web Services (AWS)

To start deploying Virola corporate messenger on AWS you need to have an active account with AWS and optionally a domain name. You can use Elastic IP, but having a domain name is recommended for a more professional setup.

Launch EC2 instance

  1. Start AWS console
  2. Launch EC2 instance and name it
  3. Select OS image for virtual machine. We recommend using Linux
  4. Select instance type
  5. Create a key pair to securely log into your instance
  6. Allow all types of traffic (SSH, HTTP, HTTPS) in network settings
  7. Set storage volume and configure other settings if necessary
  8. Review your instance configuration in a Summary block
  9. Click "Launch instance"

Allocate an Elastic IP

Public IP which is provided for the AWS instance changes on the server restart. To have the static IP for your AWS instance you can allocate an Elastic IP:

  1. Open "Elastic Ips" from your EC2 dashboard
  2. Click "Allocate Elastic IP address" button in the top right corner
  3. Select the first option Amazon's pool of IPv4 addresses and click Allocate
    Screenshot of AWS Elastic IP address settings
  4. Click the created IP address and select Associate Elastic IP address
  5. Select your instance and click Associate
  6. Screenshot of AWS Elastic IP address settings

If you decide to configure DNS, you will need to copy "Public DNS address" from the Elastic IP details. In our case we will use this IP address to connect Virola client.

Open ports

To open the port where Virola server will listen, in our case it is port 9999, you need to create a separate security group:

  1. Follow Security Group link in your EC2 dashboard menu
  2. Click "Create Security group" button in the top right corner
  3. By default, all traffic is allowed for outbound rules, so you need to update only inbound rules
  4. Click "Edit Inbound Rules" and add port 9999 as custom TCP and UDP. Then save the rules
  5. Screenshot of AWS security rules settings
  6. To associate your security group with your EC2 instance, open Instances console, follow Actions and select Security → Change Security Group
  7. Screenshot of AWS security rules settings
  8. Add your security group and save the configuration

Install Virola Server on the EC2 instance

Depending on the operating system of your AWS instance, follow the installation guides we created for Virola server installation.

Start Virola Server

After Virola Server installation you can start it by executing the following command:

virola-server –listen HOSTNAME:PORT
Example:
virola-server –listen 172.31.38.80:9999

As HOSTNAME you can use a private IP address associated with your EC2 instance or associate your elastic IP address with your domain and use your domain as a HOSTNAME for your Virola server connection.

SSL Certificate

If you connect to Virola server using IP address a self-signed certificate is generated each time the Virola server starts. However, if you connect via domain, you can use your SSL certificate, e.g. SSL certificate from Let's Encrypt and upload it to your Virola configuration after you first start the Virola client.

You can upload your SSL certificate as Virola administrator. For this purpose, follow Administration / Server-side SSL options in your Virola client menu and upload your SSL certificate there.

Install and Start Virola Client

Now you are ready to start Virola client and configure your Virola users. You can download Virola client from the Virola websites. Select the installation package for your operating system and then install it on your computer or smartphone.

To log into your Virola client you need to enter:

  • Hostname: your Elastic IP or domain name
  • Port: the port you selected for Virola server; in our case it is 9999
  • User name: admin
  • Password: admin

If you are going to configure your domain as a HOST, you should rout the traffic to your EC2 instance. Please follow this guide provided by AWS support.