Asio-ohjelmiston laitteisto- ja ympäristövaatimukset, käyttäjähallinto ja asennus

Laitteisto- ja ympäristövaatimukset

Ohjelmiston laitteisto- ja ympäristövaatimukset kuvataan erillisessä dokumentissa.

Käyttäjähallinto

Ohjelmiston käyttäjähallinto kuvataan käyttöoikeuksien ylläpito-ohjelmassa.

Ohjelmiston ensiasennus

Olettaen että Apache, PHP ja MySQL on asennettu, ja asennuspaketti purettu, menee ohjelmiston asennustyö päävaiheittain seuraavasti:

  1. Jos noudit asennuspaketin Asion palvelimelta Internet Exlorerilla, on selain voinut muuttaa tiedoston päätteen .tar.gz:sta .tar.tar:ksi. Jos näin on käynyt, muuta tiedoston pääte takaisin .tar.gz:ksi. Muutoin paketin purkaminen Windows-puolen ohjelmilla ei välttämättä onnistu.
  2. Pura ohjelmat haluamaasi hakemistoon Apachen dokumenttijuuren alla. Ohjelmat ovat tiedostossa, jonka nimi on tilavaraus.tar.gz. Mikäli palvelin on tarkoitettu ainoastaan tilavarauksen käyttöön, voi nämä laittaa suoraan dokumenttijuureen.
  3. Kirjaudu MySQL:ään ja luo tarvittavat tietokannat komennoilla:
    create database asio;
    create database xxxxx; (Tietokannan xxxxx oikea nimi kerrotaan Sinulle ennen asennusta.)
  4. Varmista, että taulussa yritys_p on toimitussopimuksen mukaisesti käyttäjäorganisaatioon liittyvä kirjaus (vain yksi rivi).
  5. Muokkaa grant.sql -tiedostosta ohjelman käyttämän tietokannan käyttäjän tiedot (tunnus, salasana) oikein, mikäli ette halua käyttää oletuksia. Aja tämän jälkeen grant.sql MySQL:ssä root-oikeuksin. Tämä tiedosto asettaa tietokantojen käyttöoikeudet ohjelman edellyttämiksi.
    Mikäli asennuspaketin mukana ei tullut grant.sql-tiedostoa, aja tietokannassa käsin seuraavat komennot root-oikeuksin:
      GRANT ALL ON *.* TO tietokannan_kayttaja@localhost IDENTIFIED BY 'tietokannan_salasana';
    
      UPDATE mysql.user
         SET Password = OLD_PASSWORD('tietokannan_salasana')
       WHERE User = 'tietokannan_kayttaja';
      
  6. Lue tietokantadumpit sisään MySQL-tietokantaan seuraavasti:
    "mysql asio < asio.sql"
    "mysql oma_tietokanta < oma_tietokanta.sql"
  7. Mikäli käyttöön on tarkoitus ottaa ulkoinen autentikointi, kopioi oikea ulkoisen autentikoinnin toteuttava ohjelmatiedosto nimelle inc/ext_auth.php. Ohjelmiston mukana toimitetaan seuraavat toteutukset:
    • Asio-opiskelijahallinto, tiedosto inc/ext_auth.php.asio
    • Microsoft Active Directory, tiedosto inc/ext_auth.php.ad
  8. Seuraava vaihe on asettaa sovelluksen palvelinkohtainen konfiguraatio kohdalleen. Tämä löytyy tiedostosta inc/server_settings.php. Konfiguraatiosta tulee käydä läpi vähintään seuraavat kohdat:
    • $db_user = Tietokannan käyttäjätunnus
    • $db_password = Tietokannan salasana
    • $ext_udb_config = ulkoisen autentikoinnin yleisiä asetuksia. Näiden asetusten sisältö ja tietorakenne riippuvat käytettävästä ulkoisesta autentikoinnista. Toimitettavien ulkoisten autentikointitoteutusten asetukset on listattu seuraavassa:
      • Asio-opiskelijahallinto:
        • "interface" = HTTP-osoite PL/SQL-yhteysohjelmaan Asio-opiskelijahallinnossa.
        • "database" = Tilavarauksen tietokanta, johon ulkoinen autentikointi liittyy. Laita tähän edellämainittu oma tietokanta.
      • Microsoft Active Directory: kts. erilliset ohjeet
    • $mail_default_bounce = Sähköpostin virheiden paluuosoite. Tähän osoitteeseen toimitetaan virheraportit mm. käyttäjien lähettämistä sähköpostivarausvahvistuksista siinä tapauksessa, että käyttäjälle ei ole määritelty omaa sähköpostiosoitetta. Tähän tulisi laittaa jokin sellainen käyttäjäorganisaation oma osoite, jota ATK-ylläpito tai tilavarausohjelmiston pääkäyttäjä seuraa.
  9. Mikäli asennuspaketin mukana on tullut tietokannan synkronointiajo synchronize.php, aja se seuraavasti:
    • Kopioi synchronize.php www-palvelimelle, ja käynnistä se selaimen avulla
    • Mikäli teit edellä muutoksia tietokannan käyttäjätietoihin: kirjaudu sisään tietokantaan oikeilla käyttäjätiedoilla
    • Klikkaa tulostuvan listan alalaidassa olevaa "perform operations"-linkkiä
    • Mikäli synkronointiajo onnistui, näkyviin tulee kuittaussivu.
    • Voit poistaa synchronize.php -tiedoston onnistuneen synkronoinnin jälkeen.
  10. Mikäli palvelin on Linux/Unix-palvelin, jossa www-palvelinohjelmalla ei ole kirjoitusoikeuksia ohjelmatiedostokansioihin, muuta kansion kokvar/tilakuvat käyttöoikeudet sellasiksi että www-palvelin pääsee kirjoittamaan ko. kansioon. Tämä onnistuu ohjelmien purkuhakemistosta seuraavalla komennolla:
    chmod -R ugo+w kokvar/tilakuvat
    
    Tämä vaihe on välttämätön vain jos varauskohteiden kuvien lähetystoiminto halutaan ottaa käyttöön.
  11. Mikäli käytössäsi on MySQL 4.1 tai uudempi, tilavarausohjelmisto saattaa antaa ensiasennuksen jälkeen virheilmoituksen "Could not connect" vaikka asetukset tiedostossa inc/server_settings.php ovatkin oikein. Ongelma johtuu siitä, että alkaen versiosta 4.1, MySQL käyttää oletusarvoisesti uudempaa, PHP:n kanssa epäyhteensopivaa autentikointiprotokollaa. Korjataksesi tämän aja seuraava komento MySQL:ssä (korvaa tietokannan käyttäjätunnus ja salasana asianmukaisesti):
    UPDATE mysql.user
       SET Password = OLD_PASSWORD('TIETOKANNAN SALASANA')
     WHERE User = 'TIETOKANNAN KTUN';
    
  12. Mikäli teit asennuksen Windows-palvelimelle, varmistu siitä, että palvelimella on olemassa hakemisto C:\TEMP\ ja että www-palvelinohjelmalla on oikeudet kirjoittaa ko. hakemistoon. Tätä hakemistoa käytetään mm. liitteenä lähetettävien varusvahvistusten ja tiedostojen väliaikaiseen tallennukseen.

Ohjelmiston versiopäivitys

  1. Jos noudit asennuspaketin Asion palvelimelta Internet Exlorerilla, on selain voinut muuttaa tiedoston päätteen .tar.gz:sta .tar.tar:ksi. Jos näin on käynyt, muuta tiedoston pääte takaisin .tar.gz:ksi. Muutoin paketin purkaminen Windows-puolen ohjelmilla ei välttämättä onnistu.
  2. Mikäli kyseessä on ns. iso versiopäivitys (esim. versiosta 6.5 versioon 7), ota vanha tilavarauksen versio talteen. Ota erityisesti kopio asetustiedostosta inc/server_settings.php! Koska tilanvarausohjelmisto ei sisällä absoluuttisia polkuja, voit jättää vanhan version palvelimelle käytettäväksi rinnakkain uuden version kanssa siltä varalta, että uuden version käyttöönotossa esiintyy ongelmia. Tämä tapahtuu helpoiten seuraavasti (ohjeet Linuxille):
    • Mene tilavarauksen ohjelmahakemistoon
    • Paketoi ohjelmat paketiksi käskyllä: "tar -cf /tmp/tilavaraus.tar *"
    • Luo hakemisto vanhalle versiolle, esim. versiolle 6.5 voit käyttää käskyä: "mkdir v6.5"
    • Mene hakemistoon komennolla "cd v6.5" ja pura ohjelmat tähän hakemistoon komennolla "tar -xzf /tmp/tilavaraus.tar"
    • Voit poistaa pakettitiedoston /tmp/tilavaraus.tar tämän toimenpiteen jälkeen
    Pääset käyttämään talteenotettua versiota suoraan selaimen avulla. Esimerkiksi jos tilanvarausohjelmiston vanha osoite oli
    http://tilanvarauspalvelin.yritys.fi/kalenterit2/ niin näillä ohjeilla talteenotetun version osoite on
    http://tilanvarauspalvelin.yritys.fi/v6.5/kalenterit2/
  3. Pura uudet ohjelmaversiot vanhojen ohjelmien päälle, samoihin hakemistoihin kuin asensit alkuperäisen ohjelman.
  4. Asennuspaketin yhteydessä toimitetaan joko tietokannan synkronointiajotiedosto synchronize.php tai linkki josta synkronointiajon voi ladata. Aja se seuraavasti:
    • Kopioi synchronize.php www-palvelimelle, ja käynnistä se selaimen avulla
    • Mikäli teit ensiasennuksen yhteydessä muutoksia tietokannan käyttäjätietoihin: kirjaudu sisään tietokantaan oikeilla käyttäjätiedoilla
    • Klikkaa tulostuvan listan alalaidassa olevaa "perform operations"-linkkiä
      • Mikäli synkronointiajo onnistui, näkyviin tulee kuittaussivu.
      • Jos joitain operaatioita ei voitu suorittaa, näkyvät SQL-lauseet yhä ruudulla. Seuraavat operaatiot voi jättää huomiotta, sillä ne johtuvat MySQL-versioiden eroista:
        • ALTER TABLE ... MODIFY -käskyt joissa on mainittu saraketyyppinä LONGTEXT (esim. taulu session_p, sarake data)
        • ALTER TABLE ... ADD INDEX -käskyt, joita vastaava indeksi on jo olemassa taulussa. Synkronointiohjelma saattaa näyttää tällaisia rivejä mikäli taulussa on jo ennaltaan useita ko. saraketta koskevia indeksejä.
      • Jos synkronointi epäonnistui ja taulurakenne ei päivittynyt, on kyse todennäköisesti siitä että niillä MySQL-käyttäjätunnuksilla joilla synkronointia ajetaan ei ole oikeuksia tehdä taulurakenteeseen muutoksia. Kopioi tällöin ruudulla näkyvät "ALTER TABLE" ja "CREATE TABLE" -käskyt tekstieditoriin ja aja ne käsin tietokannassa.
    • Voit poistaa synchronize.php -tiedoston onnistuneen synkronoinnin jälkeen.
  5. Mikäli kyseessä oli iso versiopäivitys (esim. versiosta 6.5 versioon 7) eikä korjauspäivitys, tarkista että tiedoston inc/server_settings.php asetukset vastaavat yhä palvelimesi konfiguraatiota. Tärkeimmät asetukset ovat tiedoston alussa olevat tietokannan käyttäjätunnus ja salasana.

Ohjelmiston siirto uudelle palvelimelle

Tämä ohje kuvaa sen, miten tilavararausohjelmisto voidaan siirtää palvelimelta toiselle. Ohjeessa on oletettu, että saatavilla ovat viimeisimmät tilavarauksen ohjelmapaketit sekä tietokannan synkronointiajo synchronize.php. Mikäli näitä ei ole saatavilla, ota yhteyttä Asio-Dataan.

  1. Kirjaudu sisään vanhalle palvelimelle, ja ota talteen tietokantadumpit nykyisestä tuotantotietokannasta. Tämä tapahtuu komennoilla:
    MySQL 4.0 tai vanhempi:
    mysqldump asio -K --quote-names -uKTUN -pSALASANA > asio.sql
    mysqldump oma_tietokanta -K --quote-names -uKTUN -pSALASANA > oma_tietokanta.sql
    MySQL 4.1 tai uudempi:
    mysqldump asio -K --quote-names --compatible=mysql323 -uKTUN -pSALASANA > asio.sql
    mysqldump oma_tietokanta -K --quote-names --compatible=mysql323 -uKTUN -pSALASANA > oma_tietokanta.sql

    HUOM! Tietyissä MySQL 4.1 ja 5.0-versioissa on mysqldump-ohjelmassa bugi, joka aiheuttaa auto_increment-saraketiedon jäämisen pois dumpista. Lisätietoa bugista MySQL:n sivuilta. Tarkistaaksesi onko versiosi buginen toimi seuraavasti:
    • Suorita jompikumpi ylläolevista dumpeista --compatible=mysql323 -optiolla
    • Etsi tulostiedostosta heti tiedoston alussa olevan "CREATE TABLE address_p" -käskyn jälkeinen rivi, joka koskee saraketta "rowid". Siinä pitäisi pitäisi lukea seuraavaa:
      `rowid` int(10) unsigned NOT NULL auto_increment,
    Jos rivillä ei näy määrettä "auto_increment", MySQL-versiossasi on tämä bugi. Mikäli versiosi kuuluu bugin vaikutusalueeseen, on sinulla kaksi vaihtoehtoa:
    1. Ota dumpit ulos ensimmäisen ohjeen mukaisella käskyllä, jossa ei ole "--compatible=mysql323" -optiota. Tällöin dumpit muodostetaan oikein, mutta ottamiasi dumppeja ei voi siirtää sellaiseen MySQL-versioon, joka on aikaisempi kuin 4.1.
    2. Ota dumpit ulos kuten ohjeessa. Kun olet ladannut dumpit uudelle palvelimelle, aja välittömästi Asion tietokantasynkronointiajo. Synkronointiajo korjaa auto_increment-sarakkeet.

  2. Luo uudelle palvelimelle vastaavat tyhjät uudet tietokannat MySQL-komennoilla
    CREATE DATABASE asio;
    CREATE DATABASE oma_tietokanta;

  3. Kopioi syntyneet dumppitiedostot uudelle palvelimelle ja aja ne sisään komennoilla:
    mysql asio < asio.sql
    mysql oma_tietokanta < oma_tietokanta.sql

  4. Suorita ohjelmien asennus ja tietokantojen synkronointi ylläolevan ensiasennusohjeen mukaisesti.

Kutsut Asio-ohjelmiin

  • Tilavarausohjelmiston aloitussivu: kalenterit2/index.php
  • Lyhytkurssiohjelmiston aloitussivu: lyhytkurssi/index.php

Ilman käyttäjätunnuksia toimiva selailunäkymä

Ensin pari sanaa ilman käyttäjätunnuksia toimivasta selailunäkymästä: ilman käyttäjätunnuksia toimiva selailunäkymä voidaan kääntää päälle luomalla käyttöoikeuksien kautta rooli, jonka tunniste on "guest". Ilman tunnuksia sisään tulevat käyttäjät saavat tähän rooliin kirjatut käyttöoikeudet.

Selailutilaan mennään lisäämällä tilavarausohjelmiston urlin perään parametri "guest", jonka arvo määräytyy seuraavasti: guest=<YKSIKKÖ>/<TIETOKANTA>/<KALENTERITYYPPI>

  • <YKSIKKÖ> = selailunäkymässä näytetään vain tämän yksikön tilat. Parametria voidaan käyttää myös vaihtoehtoisen selailijaroolin valintaan. Tarkempia tietoja useiden selailijaroolien käytöstä löydät tilavarausohjelmiston käyttöohjeista.
  • <TIETOKANTA> = asiakastietokantasi nimi. Tämä parametri tarvitaan, koska samalla palvelimella voi olla käytössä useita tietokantoja.
  • <KALENTERITYYPPI> = oletusarvoisesti päävalikossa avattuna näytettävä kalenterityyppi. Mahdollisia arvoja ovat:
    • tila = tilakalenterit
    • hlo = henkilökalenterit
    • lk = ohjelma/ryhmäkalenterit

Kielen valinta selailunäkymään tapahtuu seuraavasti:

  • Tilavarauksen versiosta 12 alkaen: Lisää urliin "setlang"-parametri. Esimerkiksi englanninkielisen valikon saa näkyviin parametrilla "&setlang=eng".
  • Versio 11 ja sitä aikaisemmat: Lisää urliin "lang"-parametri. Esimerkiksi englanninkielisen valikon saa näkyviin parametrilla "&lang=eng".