Abitti 2 – Installation av Linux-server

Nedan finns instruktioner för hur du redan nu kan testa den nyaste versionen av Abitti 2. Dessa instruktioner fungerar i Ubuntu 22.04, som genereras genom att installera provlokalens server enligt Linux-instruktionerna. Samma instruktioner fungerar sannolikt även i andra Linux.

Engångsåtgärder

Följande åtgärder görs en gång:

  1. Uppdatera paketkataloginformationen:
    sudo apt update
  2. Installera nädvändig programvara:
    sudo apt install docker-compose-v2 apache2-utils jq
  3. Lägg till användare ”school” i gruppen ”docker” så att den kan köra containern:
    sudo adduser school docker
  4. Gör en katalog ”ktp-jako”, som användas av containern:
    mkdir ktp-jako
  5. Lägg till ett användarnamn och lösenord till övervakarens skärm:
    htpasswd -c ktp-jako/htpasswd [användarnamn]
  6. Hämta ett skript som krävs för att skapa ett servercertifikat:
    wget https://static.abitti.fi/abitti-2-test/app/create-certificate.sh
  7. Begär en installationskod som behövs för att hämta servercertifikatet av Abitti-stödet. Koden levereras via e-post.

Starta om datorn för att ge användaren “school” tillgång till containrarna.

Uppstart av server

Innan du installerar/startar servercontainern behöver du servermaskinens externa IP-adress och installationskoden som krävs för att skapa servercertifikat. Du får koden från Abitti-stödet. Om du hellre använder din egen adress och certifikat, begär ytterligare information av Abitti-stödet.

  1. Hämta den konfigurationsfil som behövs för att skapa containern:
    wget https://static.abitti.fi/naksu2/docker-compose.prod.v0.7.4.yml
  2. Meddela servermaskinens externa IP-adress till certifikatskripten och containern:
    export HOST_IP=[extern IP-adress] 
  3. Meddela installationskoden till certifikatskripten:
    export API_KEY=[installationskoden-du-fick-från-abittistöden]
  4. Hämta/uppdatera servercertifikat som används av containern och få serveradressen. Denna adress kommer att ges till examinanderna:
    sh ./create-certificate.sh
  5. Meddela servercontainern serveradressen som certifikatskiptet hämtade:
    export HOST_NAME=$(cat certs/domain.txt)
  6. Logga in på nedladdningstjänsten för servercontainer:
    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
  7. Starta servercontainern (installerar vid behov):
    docker compose -f docker-compose.prod.v0.7.4.yml up --force-recreate --renew-anon-volumes

Om tjänsterna startar visas olika loggmeddelanden på skärmen som berättar hur tjänsterna fungerar. Nu kan du öppna övervakarens skärm och starta proven såsom tidigare.

Containern kan ges följande ytterligare inställningar innan den startas (jfr HOST_IP)

PGPORT PostgreSQL-databasens port (standard: 5430)
KTP_KOE_PORT Examinandens port för webbläsargränssnitt, SSL (8010)
KTP_REST_PORT Bakgrundstjänst för examinandens applikation, SSL (443)
KTP_SUPO_PORT Övervakarens lösenordsskyddade webbläsargränssnitt, endast från samma IP-adress som containern körs (80)

Övervakarens skärm

Övervakarens skärm är inloggad med användarnamn-lösenordsparet som ges med kommandot htpasswd. Övervakarens skärm kan nås genom att ange adressen som anges i certifikatskriptet (t.ex https://testi-koe-tilanne.abitti.dev) på en dator i samma nätverk som servern.