Abitti 2 – Installing Linux Server for IT Pros

Normally the Abitti 2 server is created using Naksu 2 utility tool. This document describes manual Abitti 2 server installation for special purposes for Ubuntu 22.04 server installation.

Note: The official method for installing Abitti 2 server is Naksu 2 utility. Therefore, these instructions may change without notice or be outdated. In case of problems contact Abitti support.

Installation procedure

  1. Install required packages:
    sudo apt install -y docker-compose-v2 apache2-utils jq
  2. Add your user to group “docker” in order to give it access to Docker services::
    sudo adduser YOUR-USERNAME docker
  3. Create a directory which will contain files used by the Abitti 2 containers:
    mkdir ktp-jako
  4. Create username and password for the supervisor user interface:
    htpasswd -c ktp-jako/htpasswd SUPERVISOR-USERNAME
    There can be multiple username-password combinations.
  5. Get a script to generate DNS record and corresponding SSL certificate:
    wget https://static.abitti.fi/abitti-2-test/app/create-certificate.sh
  6. Get an installation key from the Abitti support.

Execution process

  1. Get the Docker Compose file for the Abitti 2 version which you want to execute:
    wget https://static.abitti.fi/naksu2/docker-compose.prod.v0.8.0.yml
  2. Get or update the DNS record and/or certificate:
    bash ./create-certificate.sh
  3. Set an environment variable containing the DNS record fetched by the previous script:
    export HOST_NAME=$(cat certs/domain.txt)
  4. Log in to the Docker repository:
    curl -s https://oma.abitti.fi/digabi2/ecr-credentials | jq -r '.password' | docker login -u AWS --password-stdin https://863419159770.dkr.ecr.eu-north-1.amazonaws.com
  5. Install (if required) and execute the server according to the Docker Compose file:
    docker compose -f docker-compose.prod.v0.8.0.yml up --force-recreate --renew-anon-volumes

The create-certificate.sh reads following environment variables:

  • HOST_IP – External IP of the server. This IP is given to the random DNS record (e.g. export HOST_IP=192.168.0.2)
  • API_KEY – Installation code given by the Abitti support (e.g. export API_KEY=Pdq2bzheMQHC)

The server container reads following variables:

  • KTP_KOE_PORT – The port to the candidates’ interface, SSL (defaults to 8010)
  • KTP_SUPO_PORT – The port of the supervisors’ interface, SSL (443)

Firewall

Abitti 2 client and server communicate using multiple TCP ports. TCP traffic through these ports must be allowed to make Abitti 2 clients and all applications to work.

443 Supervisor’s web access (console)
8010 Candidate’s web access
8011, 8081-8090   Candidate’s application servers
8012 Candidate’s cloud storage (WOPI)