Abitti 2 – Linux-palvelimen asennus

Nämä ohjeet toimivat Ubuntu 22.04:ssa, joka syntyy asennettaessa koetilan palvelin Linux-ohjeiden mukaan. Samat ohjeet toimivat todennäköisesti muillakin Linuxeilla.

Kertaluontoiset toimenpiteet

Nämä toimenpiteet tehdään kerran:

  1. Päivitä pakettihakemiston tiedot:
    sudo apt update
  2. Asenna tarvittavat ohjelmistot:
    sudo apt install docker-compose-v2 apache2-utils jq
  3. Lisää käyttäjä “school” ryhmään “docker”, jotta se voi ajaa kontteja:
    sudo adduser school docker
  4. Luo hakemisto “ktp-jako”, jota kontit hyödyntyvät:
    mkdir ktp-jako
  5. Luodaan valvojan näytön käyttäjätunnus ja salasana:
    htpasswd -c ktp-jako/htpasswd [käyttäjätunnus]
  6. Hae koetilan palvelimen varmenteen luomiseen tarvittava skripti:
    wget https://static.abitti.fi/abitti-2-test/app/create-certificate.sh
  7. Pyydä varmeen luomiseen tarvittava asennuskoodi Abitti-tuelta. Saat sen sähköpostitse.

Käynnistä kone uudelleen, jotta käyttäjä “school” saa oikeudet käyttää kontteja.

Palvelimen käynnistys

Ennen palvelinkontin asennusta/käynnistystä tarvitset palvelinkoneen ulospäin näkyvän IP-osoitteen ja varmenteen luomiseksi asennuskoodin, jonka saat Abitti-tuelta. Jos haluat käyttää palvelimella omaa osoitetta ja varmennetta, pyydä lisäohjeita Abitti-tuelta.

  1. Hae konttien luomiseen tarvittava asetustiedosto:
    wget https://static.abitti.fi/naksu2/docker-compose.prod.v0.7.4.yml
  2. Kerro varmenneskriptille ja kontille palvelinkoneen ulospäin näkyvä IP-osoite:
    export HOST_IP=[ulospäin näkyvä IP-osoite]
  3. Kerro varmenneskriptille asennuskoodi:
    export API_KEY=[asennuskoodi-jonka-sait-abitti-tuelta]
  4. Hae/päivitä palvelinkontin käyttämä varmenne ja lue skriptin kertoma palvelimen verkko-osoite. Tämä osoite kerrotaan kokelaille:
    sh ./create-certificate.sh
  5. Kerro palvelinkonteille varmenneskriptin hakema palvelimen verkko-osoite:
    export HOST_NAME=$(cat certs/domain.txt)
  6. Kirjaudu palvelinkonttien latauspalveluun:
    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. Käynnistä palvelinkontti (asentaa tarvittaessa):
    docker compose -f docker-compose.prod.v0.7.4.yml up --force-recreate --renew-anon-volumes

Jos palvelut käynnistyvät, näytölle tulee erilaisia palveluiden toiminnasta kertovia lokimerkintöjä. Nyt voit avata valvojan näytön ja käynnistää kokeen kuten ennenkin.

Kontille voi antaa seuraavia lisäasetuksia ennen käynnistystä (vrt. HOST_IP)

PGPORT PostgreSQL-tietokannan portti (oletus: 5430)
KTP_KOE_PORT Kokelaan selainkäyttöliittymän portti, SSL (8010)
KTP_REST_PORT Kokelaan sovelluksen taustapalvelu, SSL (443)
KTP_SUPO_PORT Valvojan salasanasuojattu selainkäyttöliittymä, vain samasta koneesta missä konttia ajetaan (80)

Valvojan näyttö

Valvojan näyttöön kirjaudutaan htpasswd-komennolla annetulla käyttäjätunnus-salasanaparilla. Valvojan näyttöön pääsee kirjoittamalla palvelimen kanssa samassa verkossa olevaan koneeseen sertifikaattiskriptin antama osoite, esim.https://testi-koe-tilanne.abitti.dev.