Kipa-tuloslaskentaohjelman käyttö Linux Mintillä (päivitetty ohje)

Kipa-kisapalvelu on tehty Espoolaisten partiolaisten voimin yli kymmenen vuotta sitten. Melkein kymmenen vuotta sitten “pohinä” Kipa:n osalta hiljeni, tästä kertoo muun muassa Facebook KIPA-ryhmän viimeinen postaus 2015. Kipa on kuitenkin edelleen iskussa partiotaitokisojen tuloslaskentaan.

Ongelmallista Kipassa on, että se on koodattu Python2:lla, jonka ylläpito ja tuki päättyi tammikuussa 2020. Nyt pitäisi löytää jostain innokas partionörtti koodaamaan Kipa Python3 yhteensopivaksi!

Monen kotoa löytyy vanha WIndows 7 läppäri, joka ei oikein jaksa pyörittää Windows 10/11 -käyttistä. Tällaiselle läppärille voi vielä antaa uuden elämän kisatoimiston tuloslaskentatoimissa asentamalla siihen Linux-käyttöjärjestelmän.

Yksi hyvä linuxjakelu on Linux Mint, josta löytyy kolme erilaista asennusvaihtoehtoa eri suorituskyvyn omaaville tietokoneille. Cinnamon-versio vaati eniten suorituskykyä, Mate-versio hieman vähemmän ja Xfce-versio toimii hyvin vaatimattomassakin tietokoneessa. Esimerkiksi Youtubesta löytyy hyviä ohjeita Linux Mintin asennukseen. Tämä esimerkkiasennus on testattu Linux Mint 21.3 Cinnamon -versiolla.

Kipa:n toimintaperiaate

Kipa on koodattu Python2-ohjelmointikielellä ja se käyttää hyväkseen Django-ohjelmistokirjastoa, jolla saa koodattua “helposti” internetselaimen (mm. Firefox, Chrome jne.) kautta toimivia sivustoja tai ohjelmia. Django pitää sisällään kehityspalvelimen, jonka avulla tehtyä ohjelmistoa, tässä tapauksessa Kipa:a, voi käyttää yksittäisellä tietokoneella. Kipa:n yhteiskäyttö useammalla tietokoneella vaatii erillisen nettipalvelinohjelman käyttöä. Tässä esimerkissä se on Apache-nettipalvelinohjelmisto.

Mistä löydän Kipa:n?

KIPA:n virallinen ja viimeisin versio löytyy GitHub:n nettipalvelusta osoitteesta: https://github.com/partio-scout/kipa Sivuston vasemmassa reunassa on Relases-sarake, josta pääsee lataamaan Kipa:n version 1.6.2 (Latest).

Kipa:sta löytyy myös toinen versio GitHub:sta osoitteesta: https://github.com/siimeon/Kipa. Tämä jälkimmäinen versio on hieman erilainen ulkoasun väreiltään ja tehosteiltaan kuin virallinen versio, mutta toiminnallisuuksissa ei näyttäisi olevan suuria eroja. Varsinaninen ero näiden kahden Kipa-version välillä on Django:n versio. Ensin mainittu virallinen Kipa-versio käyttää Django:n versiota 1.3 ja jälkimmäinen Django:n versiota 1.4. Jos Kipa-ohjelmistoa käyttää väärällä Django:n versiolla, tuloksena on pitkä lista virheilmoituksia. Tässä esimerkissä käytämme Kipa:n virallista versiota 1.6.2 ja Django:n versiota 1.3.7.

Luodaan ensin virtuaalinen ohjelmaympäristö

Kipa:n käyttämä Python2-ohjelmointikieli aiheuttaa pieniä haasteita, koska oletuksena Linuxin jakelupaketeissa on tuki vain Python3-versiolle.

Kipa:lle pitää luoda oma virtuaalinen ohjelmaympäristö, jottei sotketa muita tietokoneseen asennettuja ohjelmia, varsinkin eri Django-versiota käyttäviä ohjelmia.

Kipa:n käyttöä edellyttämien ohjelmien asennus kannattaa tehdä käyttäjätunnuksella, joka on luotu Linux Mintin asennuksen yhteydessä. Tällä käyttäjätunnuksella on varmasti ylläpitäjän käyttöoikeudet.

Virtuaalinen ohjelmaympäristö Python-ohjelmille voidaan toteuttaa monella eri tavalla. Tässä esimerkissä se tehdään virtualenv-ohjelmalla. Se asennetaan seuraavin komennoin Linux Mintin pääteikkunan kautta. Jokainen komento suoritetaan erikseen eli komennon kirjoittamisen jälkeen painetaan Enter-näppäintä. Sudo-komento tarkoittaan komennon suorittamista ylläpitäjän oikeuksilla, joka varmistetaan kysymällä ylläpitäjäkäyttäjän salasana. Jotkut ohjelmapaketit kysyvät asennuksen aikana varmistuksen asennuksesta (esimerkiksi: Levytilaa käytetään 1589 kb, haluatko jatkaa (K/e)?) ja asennuksen jatkamiseksi tähän vastataan k-kirjaimella ja Enter-näppäimellä.

Käynnistä Linuxin pääteikkuna. Ensimmäiseksi pitää asentaa Python2:

sudo apt-get update
sudo apt-get install python2

Seuraavaksi asennetaan Python-pip:

sudo apt-get install python3-pip

Virtualenv-ohjelmasta pitää asentaa versio 20.21.1, joka on viimeinen Python2:sta tukeva versio:

pip install virtualenv==20.21.1

Seuraavaksi luodaan Kipa:lle oma hakemisto, joka kannattaa luoda käyttäjän koti-hakemistoon. Kansion nimellä ei ole väliä. Tässä esimerkissä se on kisapalvelu-niminen. Kansio luodaan pääteikkunan kautta seuraavasti (oletuksena, että pääteikkuna avautuu käyttäjän kotihakemistoon):

mkdir kisapalvelu

Siirrytään pääteikkunassa luotuun kansioon:

cd kisapalvelu

Luodaan tähän hakemistoon virtuaalinen Python2-ohjelmaympäristö, jonka nimeksi tulee kipaenv seuraavasti (huomaa, että virtualenv-ohjelma tarvitsee eteensä sen asennuspolun):

~/.local/bin/virtualenv kipaenv -p /usr/bin/python2.7

Komennon jälkeen kisapalvelu-hakemistoon ilmestyy kipaenv-niminen kansio, jossa virtuaalista ohjelmaympäristöä ylläpidetään. Seuraavaksi virtuaalinen ohjelmaympäristö pitää käynnistää seuraavasti:

source kipaenv/bin/activate

Kun virtuaalinen ohjelmaympäristö on käynnistetty, pääteikkunan komentokehoitteeseen ilmestyy virtuaaliympäristön nimi suluissa, tässä tapauksessa (kipaenv).

HUOM! Virtuaalinen ohjelmaympäristö pitää olla aina käynnistetty, kun Kipa-sovellusta käytetään Djangon kehityspalvelintilassa.

Seuraavaksi virtuaaliseen ohjelmaympäristöön asennetaan Django:n versio 1.3.7 pääteikkunan komennolla seuraavasti:

pip install django==1.3.7

Virtuaalinen ohjelmaympäristön käyttö lopetetaan komennolla:

deactivate

Tämän jälkeen virtuaalinen ohjelmaympäristö on valmis Kipa:n kopiointia varten. 

Kipa-ohjelmapaketin lataus

Siirry nettiselaimella Kipa:n viralliseen versioon osoitteella: https://github.com/partio-scout/kipa

Sivuston vasemmassa reunassa on Relases-sarake, josta pääsee lataamaan Kipa:n version 1.6.2 (Latest). Lataa Kipa:sta Windows-asennuspaketti (kipa_1_6_2-full-win32.exe).

Lataamisen jälkeen puretaan paketti seuraavasti (HUOM: Älä yritä käynnistää/suorittaa ladattua tiedostoa Linux-koneella!):

Käynnistetään Linuxin pääteikkuna. Siirrytään kansioon, jossa ladattu paketti on (tässä esimerkissä Lataukset-kansio ja oletuksena on, että pääteikkuna avautuu käyttäjän kotihakemistoon).

cd Lataukset

Puretaan paketti omaan alikansioon nimeltään kipapurku.

unzip kipa_1_6_2-full-win32.exe -d kipapurku

Puretussa Kipa-ohjelmapaketissa on useita hakemistoja, mutta niistä tarvitaan kopioida vain web-niminen hakemisto alihakemistoineen edellä luotuun kisapalvelu-hakemistoon. Kopioinnin voi tehdä esimerkiksi Tiedostonhallintaohjelmalla. Kopioinnin jälkeen hakemistorakenteen pitäisi olla seuraava:

käyttäjän kotihakemisto 
|
kisapalvelu 
|    |   
kipaenv    web 

Kipa:n käyttö Djangon kehityspalvelintilassa

Kipa käynnistetään Djangon kehityspalvelintilaan seuraavasti:

Käynnistetään pääteikkuna ja siirrytään kisapalvelu-hakemistoon seuraavasti (oletuksena, että pääteikkuna avautuu käyttäjän kotihakemistoon):

cd kisapalvelu

Käynnistä virtuaalinen ohjelmaympäristö:

source kipaenv/bin/activate

Siirry web-hakemistoon:

cd web

Käynnistä Kipa Djangon kehityspalvelintilaan komennolla:

python2 manage.py runserver

Pääteikkunaan pitäisi ilmestyä seuraava teksti:

Validating models...
0 errors found
Django version 1.3.7, using settings 'web.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Avaa selain (Firefox, Chrome yms.) ja kirjoita osoitekenttään:

127.0.0.1:8000/kipa/

Kipa:n tulisi avautua näkymään, jossa on listaus kisoista. Klikkaamalla jotain kisanimeä tai luomalla uusi kisa päästään Kipa:n päänäkymään, josta löytyy muun muassa ohjeet Kipa:n käyttöön.

Tässä Djangon kehityspalvelintilassa Kipa:a voi käyttää tulospalvelun tarpeisiin, mutta tuloksia voi syöttää ja muokata vain tältä tietyltä koneelta, eikä tulospalveluun pysty liittymään esimerkiksi lähiverkon muilla tietokoneilla. Pienet kisat voivat hoitua hyvin kehityspalvelintilassa, mutta jos tuloksia halutaan esimerkiksi heijastaa toisaalla kisailijoille, pitää Kipa:a käyttää nettipalvelinohjelmiston kautta.

Kipa:n käyttö lopetetaan päinvastaisessa järjestyksessä: suljetaan selain, siirrytään pääteikkunaan ja painetaan Ctrl-C, joka pysäyttää Djangon kehityspalvelintilan. Virtuaalinen ohjelmaympäristön käyttö lopetetaan pääteikkunan komennolla:

deactivate

Kipa:n tietokannan nollaus

Kipa:n tietokannan voi nollata, eli poistaa kaikki vanhat kisat tietokannasta, seuraavasti:

Käynnistetään pääteikkuna ja siirrytään kisapalvelu-hakemistoon seuraavasti  (oletuksena, että pääteikkuna avautuu käyttäjän kotihakemistoon):

cd kisapalvelu

Käynnistä virtuaalinen ohjelmaympäristö:

source kipaenv/bin/activate

Siirry web-hakemistoon:

cd web

Nollaa KIPA:n tietokanta komennolla:

python2 manage.py reset tupa

Komennon jälkeen pitäisi ilmestyä pääteikkunaan seuraava teksti:

You have requested a database reset.
This will IRREVERSIBLY DESTROY any data for
the "tupa" application in the database "/home/touho/kisapalvelu/web/tupa.db".
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel:

Tietokanta nollataan, kun kirjoitetaan “yes” ja painetaan Enter-näppäintä.

Virtuaalinen ohjelmaympäristön käyttö lopetetaan pääteikkunan komennolla:

deactivate

Huomioita Kipa:n asennuspaketeista

Asennuspaketteja löytyy kolme, yksi suoritettava Windows-asennuspaketti (exe), joka asentaa Kipa:n toimimaan Windows 10/11 -käyttöjärjestelmässä Apache-palvelinohjelman avulla. Lisäksi löytyvät zip- ja tar-pakaut Kipa-paketit. Jostain syystä Kipa:n asennuspaketit eivät ole samanlaisia keskenään. Zip- ja tar-paketit näyttäisivät olevan samaa versiotasoa, mutta Windows-versio eroaa muun muassa siinä, että Kipa:n selainikkunassa näkyy versionumero 1.6.2. Myös ohjelmakoodissa on pieniä muutoksia zip- ja tar-paketteihin verrattuna. Tässä esimerkissä luotu virtuaalinen ohjelmaympäristö toimii vain Windows-asennuspaketin sisältämän Kipa-version kanssa. Zip- ja tar-pakettien versiot eivät ole jostain syystä täysin yhteensopivia. Tämä näkyy muun muassa siinä, että ohjelman käyttämät kuvakkeet eivät lataudu oikein.

Windows-asennuspaketin versiossa oikeassa yläkulmassa oleva Login-painike on poisettu käytöstä ja sen painaminen aiheuttaa virheen. Login-ruudut ja -painikkeen saa pois näkyvistä, kun poistaa kaiken sisällön /web/templates/tupa/login.html -tiedostosta (eli tallettaa ns. tyhjän tiedoston). Itse tiedostoa ei saa poistaa.

Apache-nettipalvelinohjelmiston käyttö

Ensimmäiseksi kopioidaan Kipa:n kisapalvelu-hakemisto Apache-palvelimen käyttöön opt-hakemistoon. Kun Kipa:a käytetään Apache-palvelimen kautta, virtuaalista ohjelmaympäristöä ei tarvitse käynnistää. Apace-palvelimen kautta käytettävä Kipa on siis oma erillinen kopio edellä asennetusta ja kehityspalvelintilassa käytetystä Kipa:sta. Jos Kipa:n kisatietokanta halutaan nollata, se kannattaa tehdä kehityspalvelintilassa ennen kopiointia.

Käynnistetään pääteikkuna ja kopioidaan kisapalvelu-hakemisto opt-hakemistoon seuraavasti  (oletuksena, että pääteikkuna avautuu käyttäjän kotihakemistoon):

sudo cp -r kisapalvelu/ /opt/

Seuraavaksi pitää asentaa Apache2-ohjelmisto ja sen tarvitsemat lisämodulit pääteikkunan kautta seuraavasti:

sudo apt-get update
sudo apt-get install apache2

Kipa tarvitsee myös Python2-yhteensopivan WSGI-ohjelmamoduulin, mutta sen jakelu on lopetettu, eli sitä ei voi enää asentaa apt-get install -komennolla. WSGI-ohjelmamoduuli on kuiten ladattavissa Ubuntun launchpad.net -sivustolta (libapache2-mod-wsgi_4.6.8-1ubuntu3.1).

Web-selaimen turva-asetuksista riippuen, selain voi varoittaa tai olla lataamatta ohjelmapakettia ilman varmistusta. Kipa:n käyttämiseksi se kuintenkin tarvitaan. WSGI-ohjemapaketin asentaminen käy helposti Tiedostonhallintaohjelman ikkunassa kaksoisklikkaamalla ohjelmapakettia, joka avaa ohelmapakettiasentajan. Ohjelmapaketti asennetaan painikkeella Asenna paketti.

Asennuksen jälkeen tietokone uudelleen käynnistetään pääteikkunen komennolla:

sudo reboot

Apachen asennus testataan käynnistämällä nettiselain ja kirjoittamalla osoitekentään osoitteeksi: 127.0.0.1 tai localhost. Selaimessa pitäisi näkyä Apachen testisivu.

Asennuksen jälkeen määritellään Apache palvelemaan Kipa-ohjelmaa muokkaamalla Apachen 000-default.conf -tiedostoa pääteikkunan komennolla (xed on Linux Mintin oletus tekstimuokkain ja Ubuntussa se on gedit):

sudo xed /etc/apache2/sites-available/000-default.conf

Komennon jälkeen pitäisi avautua tekstinmuokkain ja kyseinen tiedosto muokattavaksi. Tiedostoon tehdään seuraava lisäys ensimmäisen VirtualHost-määrittelyn perään: 

<VirtualHost *:80>

"Tässä on ensimmäinen VirtualHost-määritys, joka on tiedostossa oletuksena ja johon ei tarvitse tehdä muutoksia"

</VirtualHost>

"Lisää alla oleva VirtualHost-määritys tiedostoon"

<VirtualHost *:80>

 
ServerName partio.kisa
ServerAdmin webmaster@localhost

<Directory /opt/kisapalvelu>
Require all granted
</Directory>

<Directory /opt/kisapalvelu/web>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

WSGIDaemonProcess kipakisa python-home=/opt/kisapalvelu/kipaenv python-path=/opt/kisapalvelu
 WSGIProcessGroup kipakisa
 WSGIApplicationGroup kipakisa
 WSGIScriptAlias / /opt/kisapalvelu/web/wsgi.py
 Alias /kipamedia /opt/kisapalvelu/web/media

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Tallenna tiedosto ja sulje tekstinmuokkainohjelma. Seuraavaksi luodaan määrittelytiedosto Apachea varten Kipa:n web-hakemistoon. Käynnistä pääteikkuna ja anna seuraava komento:

sudo xed /opt/kisapalvelu/web/wsgi.py

Kopioi seuraava sisältö tekstinmuokkaimeen ja muokkaa se tarkalleen seuraavaksi (myös sisennykset):

# coding: utf-8

import os
import sys

path = '/opt/kisapalvelu/web'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'web.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Tallenna tiedosto ja sulje tekstinmuokkain.

HUOM! Tekstitiedostojen merkistökoodaus voi vaikuttaa Linux-järjestelmässä niiden sisällön tulkintaan. Tekstitiedostot pitää olla utf-8 -koodattuja ja rivinloppu unix/linux -tyyppiä. Tämän voi tarkistaa muun muassa valitsemalla Tekstinmuokkaimesta Tallenna nimellä -vaihtoehdon ja tarkistamalla tallennaikkunan alareunasta merkistökoodauksen ja rivinlopun asetukset.

Tämän jälkeen pitää vielä muuttaa kisapalvelu-hakemiston oikeuksia siten, että Apache pääsee tiedostoihin käsiksi.

Käynnistä pääteikkuna ja muuta käyttöoikeuksia seuraavasti (oletuksena, että pääteikkuna avautuu käyttäjän kotihakemistoon):

cd /opt
sudo chown -R :www-data kisapalvelu/
sudo chmod -R 754 kisapalvelu/
sudo chmod 774 kisapalvelu/web/tupa.db
sudo chmod 774 kisapalvelu/web/

Seuraavaksi muokataan palvelinluetteloa, jotta partio.kisa-palvelinnimellä löydetään oikeaan osoitteeseen. Anna seuraava komento pääteikkunassa:

sudo xed /etc/hosts

Tekstinmuokkain pitäisi käynnistyä ja seuraava sisältö ilmestyä muokattavaksi. Lisää lihavoitu rivi tiedostoon (127.0.0.1   partio.kisa):

127.0.0.1    localhost
127.0.1.1    touho-A-3380
127.0.0.1    partio.kisa

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Tallenna tiedosto ja sulje tekstinmuokkain. Lopuksi käynnistetään Apache-palvelin uudestaan, jotta tehdyt muutokset tulevat käyttöön. Käynnistä pääteikkuna ja anna seuraava komento:

sudo systemctl reload apache2

Käynnistä uudelleen myös nettiselain, jotta muutokset päivitettyyn palvelinluetteloon tulevat käyttöön.

Nyt Kipa:n pitäisi toimia nettipalvelimen kautta eli käynnistämällä selaimen (Firefox, Chrome yms.) ja kirjoittamalla osoitekenttään partio.kisa/kipa/ Kipa:n tulisi avautua näkymään, jossa on listaus kisoista.

Mikäli Apachen uudelleen käynnistyksen yhteydessä tulee virheilmoituksia, syy on todennäköisesti 000-default.conf -tiedoston sisällössä. Tiedoston sisältö pitää olla täsmälleen esimerkin mukainen toimiakseen. Toinen syy voi olla /opt/kisapalvelu -hakemiston oikeuksissa. Oikeudet hakemistoille ja tiedostoille pitää antaa täsmälleen esimerkin mukaan.

Lähiverkko tulospalvelulle

Tulospalvelun lähiverkko tarvitsee reitittimen, jota ei tarvitse välttämättä liittää internettiin. Kotikäyttöön tarkoitettu reititin palvelee hyvin tulospalvelun tarpeita. Jos reititin tukee WiFi-ominaisuutta (langaton lähiverkko), niin tulostoimistossa vältytään lähiverkkojohtojen sekamelskalta.

Reitittimessä pitää olla käytössä DHCP-palvelin, joka jakaa lähiverkon tietokoneille ip-osoitteet. Jos reititin on kytketty internettiin, reitittimen palomuuri on syytä kytkeä päälle.

Lähiverkon käyttöönotto:

Kytke reitittimeen virta ja liity lähiverkon reitittimeen ensimmäiseksi sillä tietokoneella, jossa on Apache-nettipalvelinohjelmisto asennettuna (palvelintietokone). Selvitä palvelintietokoneen ip-osoite avaamalla pääteikkuna ja antamalla komento:

ifconfig

Komento listaa verkkolaitteiden tiedot ja etsi listauksesta riviä, joka näyttä seuraavan kaltaiselta:

inet 192.168.1.6  netmask 255.255.255.0  broadcast 192.168.1.255

Tyypillisesti DHCP-palvelimen ip-osoiteavaruus on 192.168-alkuinen, tässä tapauksessa 192.168.1.6, mutta se voi olla myös vaikka 10.2-alkunen.

Tulostoimiston muille tietokoneille, pois lukien palvelintietokone, määritellään palvelintietokoneen nimi, tässä esimerkissä partio.kisa, vastaamaan palvelintietokoneen ip-osoitetta seuraavasti:

Linux-koneet (myös iMac):

Anna seuraava komento pääteikkunassa:

sudo xed /etc/hosts

iMac: nano /etc/hosts

Tekstinmuokkain pitäisi käynnistyä ja seuraava sisältö ilmestyä muokattavaksi. Lisää lihavoitu rivi tiedostoon (192.168.1.6   partio.kisa – tässä esimerkissä, huomaa että ip-osoitteen on vastattava palvelintietokoneen ip-osoitetta):

127.0.0.1    localhost
127.0.1.1    touho-A-3380
192.168.1.6    partio.kisa

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Tallenna tiedosto ja sulje tekstinmuokkain. Käynnistä nettiselain uudestaan ja nyt KIPA pitäisi löytyä kirjoittamalla selaimen osoitekenttään: partio.kisa/kipa/

Windows-koneet

Käynnista Muistio (Notepad) pääkäyttäjän oikeuksilla (administrator), saat valikon auki hiiren oikealla näppimellä ohjelmakuvakkeen päällä.

Avaa tiedosto: c:\Windows\System32\Drivers\etc\hosts

Lisää lihavoitu rivi tiedostoon (192.168.1.6   partio.kisa (ip-osoitteen on vastattava palvelintietokoneen ip-osoitetta)):

192.168.1.6    partio.kisa

Tallenna tiedosto ja sulje Muistio. Käynnistä nettiselain uudestaan ja nyt KIPA pitäisi löytyä kirjoittamalla selaimen osoitekenttään: partio.kisa/kipa/

Tulostoimiston muihin tietokoneisiin ei tarvitse tehdä mitään muita asennuksia, koska KIPA:a käytetään nettiselaimen kautta (Firefox, Chrome yms.).

HUOM! Jos lähiverkon reitittimestä katkeaa sähköt tai jos palvelintietokone joudutaan jostain syystä käynnistämään uudestään, voi palvelintietokoneen ip-osoite muuttua ja muut tietokoneet eivät saa enää yhtettä palvelintietokoneeseen. Tässä tapauksessa toista edellä mainitut lähiverkon käyttöönottotoimenpiteet uudestaan.

HUOM! Linux Mintin asennusoletuksena on, että tietokoneen palomuuri ei ole käytössä. Mikäli se on otettu käyttöön palvelintietokoneessa, pitää siihen tehdä “reikä” Apachen toimintaa varten, koska muuten se ei pysty palvelemaan lähiverkon muita tietokoneita. Linux Mintissä palomuuriasetukset löytyvät Järjestelmäasetuksista (Käytäntö: Salli, Suunta: Sisään, Luokka: Verkko, Alaluokka:  Palvelut, Sovellus: HTTP –> Lisää).

Kiinteä ip-osoite palvelintietokoneelle

Lähiverkon toimintavarmuutta ja helppokäyttöisyyttä voi lisätä määrittelemällä palvelintietokoneelle kiinteän ip-osoitteen. Tämä tehdään palvelinkoneen verkkoasetusten kautta. Reitittimen ylläpitosivusto tyypillisesti löytyy DHCP:n ip-osoiteavaruuden ensimmäisestä osoitteesta, tässä tapauksesa 192.168.1.1. Reitittimen ylläpitosivuston LAN Setup -asetuksista voi tarkistaa, mistä ip-osoitteesta alkaen DHCP-palvelin osoitteita jakelee ja kuinka monta käyttäjää voi enintään reitittimeen liittyä. Kipa-palvelinkoneen kiinteä ip-osoite on asetettava näiden osoitteiden väliin. Esimerkiksi reititin aloittaa jakelun osoitteesta 192.168.1.30 ja reitittimen käyttäjien enimmäismäärä on 30. Kiinteäksi ip-osoitteeksi kannattaa valita vaikka 192.168.1.15. Näin palvelintietokoneen ip-osoite ei muutu virtakatkojen tai uudelleen käynnistysten yhteydessä.

Muutama vinkki tulostoimistolle

Kipa:n oikeassa yläkulmassa on kirjautumiskenttä. Kipa hyväksyy kirjautumisen tupa-tunnuksella ja tupa-salasanalla (Huom: Windows-jakelupaketissa kirjautuminen aiheuttaa virheilmoituksen). Hämäräksi jää, onko kirjautumisella mitään vaikutusta tuloslaskentaan, mutta näin kirjautumiskentät saa pois näkyvistä.

Kipa:ssa on toiminto tulosten heijastamiseksi kisakeskuksessa. Tulosten vaihtuminen sarjojen välillä on asetettu 15 sekuntiin. Aika-asetusta voi muuttaa muokkaamalla KIPA:n web/tupa/-hakemistossa olevaa views.py-tiedosto seuraavasta kohdasta:

def heijasta(request, kisa_nimi, sarja_id=None,tulostus=0) :
     kisa = get_object_or_404(Kisa, nimi=kisa_nimi)
     sarjat=kisa.sarja_set.all()
     sarjat= sorted(sarjat, key=lambda sarja: sarja.id )
     if sarja_id==None:
         sarja_id=sarjat[0].id
     sarja_id=int(sarja_id)
     seuraava_id=None
     for index in range(len(sarjat)-1):  
         if sarjat[index].id==sarja_id: seuraava_id=sarjat[index+1].id
     if seuraava_id==None : seuraava_id=sarjat[0].id
     return 
tulostaSarja(request,kisa_nimi,sarja_id,vaihtoaika=15,vaihto_id=seuraava_id)

Muuta vaihtoaika=15 esimerkiksi muotoon vaihtoaika=30, niin sarjakohtainen tulostilanne on näkyvissä 30 sekuntia. Tallenna tiedosto ja sulje tekstinmuokkain muutoksen jälkeen ja käynnistä Apache-palvelin uudestaan kuten edellä on ohjeistettu.

Jos kisassa on esimerkiksi neljä sarjaa, kannattaa harkita oman kisan luomista esimerkiksi siniselle ja punaiselle sekä ruskealle ja harmaalle sarjalle. Tämä mahdollistaa tulosten näyttämisen kahdella näytöllä/videotykillä siten, että toisessa näytetään si/pu-tulokset ja toisessa ru/ha-tulokset. Jos käytössä on vain yksi näyttölaite, kaikki sarjat kannattaa olla yhdessä ja samassa kisassa.

Palvelintietokoneen kapasiteettia voi lisätä seuraavasti, jos tulostoimistossa on paljon tietokoneita. Avaa muokkattavaksi Apachen 000-default.conf -tiedosto pääteikkunan komennolla (xed on Linux Mintin oletus tekstimuokkain ja Ubuntussa se on gedit):

sudo xed /etc/apache2/sites-available/000-default.conf

Muuta seuraava riviä:

WSGIDaemonProcess kipakisa python-home=/opt/kisapalvelu/kipaenv python-path=/opt/kisapalvelu

Muotoon:

WSGIDaemonProcess kipakisa processes=2 threads=25 python-home=/opt/kisapalvelu/kipaenv python-path=/opt/kisapalvelu

Siis kaikki kirjoitettuna yhdelle riville ilman rivinvaihtoa ja yksi välilyönti määritysten välissä. Kapasiteetin edelleen lisäämiseksi kasvata processes-arvoa tarvittaessa 3 tai 4:een ja anna threads-arvon olla 25.

Tallenna tiedosto, sulje tekstinmuokkain ja käynnistä Apache-palvelin kuten edellä on ohjeistettu.

Tulosten siirtäminen nettipalvelimelle

Kipa:n tulostiedot voi viedä netttipalvelimelle pdf-tiedostoina, jotka saa tulostettua Kipa:sta. Niiden selaaminen kännykällä ei ole kovin mielekästä, koska suuresta taulukosta näkee kerrallaan vain pienen osan. Kuoreveden Kotkien nettivastaava on tehnyt nettisivun, joka näyttää Kipa:sta saatavan csv-tulostiedoston kännykän näytölle sopivassa muodossa. Järjestelmä vaatii pienen muutoksen Kipa:n koodiin, joka tuottaa csv-tiedoston. Csv-tiedostot siirretään esimerkiksi FTP-yhteydellä nettipalvelimelle, josta tulokset näytetään. Tulosnettisivu vaatii nettipalvelimen, jossa on php- ja ftp-tuki.

Lisätietoja tulossivusta antaa mielellään Kuoreveden Kotkien nettivastaava.

Terveisin Kuoreveden Kotkien nettivastaava