Asennusohje Sahara-ryhmä Helsinki 2.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo Lehtinen Hanna Liedenpohja Seppo Syrjänen Asiakas Joni Salmi Johtoryhmä Juha Taina Kimmo Simola Kotisivu http://www.cs.helsinki.fi/group/sahara Versiohistoria Versio Päiväys Tehdyt muutokset 0.1 24.8.2005 Ensimmäinen versio: pohja ja tietokanta./ss 0.2 30.8.2005 Tietokannan asennuohje valmis./ss 0.3 1.9.2005 Johdanto/SL 0.4 1.9.2005 Helppo asennus/sl 0.9 1.9.2005 Oikolukua vaille valmis/sl 1.0 1.9.2005 Valmis/SL,SS 1.01 2.9.2005 Pieni viilaus oikoluvun perusteella/sl,ss
Sisältö i 1 Johdanto 1 2 Helppo asennus 1 3 Perinteinen asennus 2 3.1 Asennuspaketin purkaminen........................ 2 3.2 Tietokannan asentaminen.......................... 3 3.2.1 PostgreSQL:n käyttöönotto asennusscriptillä........... 3 3.2.2 PostgreSQL:n käyttöönotto käsin................. 4 3.2.3 Tietokannan alustus......................... 4 3.3 Asetukset.................................. 5
1 Johdanto 1 Ohjeessa kuvataan, kuinka Tanja-järjestelmä asennetaan nimenomaisesti Helsingin yliopiston tietojenkäsittelytieteen laitoksen ympäristössä. Ohjeen esimerkeissä asennus tapahtuu asennusta tekevän käyttäjän kotihakemiston alle db.cs.helsinki.fi palvelimella. Asennuksen tekemiseen on kaksi erilaista mahdollisuutta: helppo ja perinteisempi. Helppo asennus on automatisoitu mahdollisimman pitkälti, mutta perinteinenkään ei ole kovin vaikea, varsinkin jos asentajalla on hieman kokemusta www-ympäristössä toimivista PHP-kielellä toteutetuista sovelluksista. 2 Helppo asennus Asennustavoista vähemmän työtä vaativa tapa on helppo asennus. Se on kuin manualisesti tehtävä perinteinen asennus, mutta automatisoitu mahdollisimman helpoksi. Voit käyttää helppoa asennusta sellaisenaan, mikäli sinulla ei ole aiemmin ollut omaa PostgreSQL-tietokantaa asennettuna db.cs.helsinki.fi koneella tai muistat jo olemassa olevan asennuksesi pääkäyttäjän salasanan (mikäli et muista, kerromme osion lopussa kuinka pääset eroon vanhasta PostgreSQL asennuksestasi). Tanja-järjestelmän helppo asennus asentaa PostgreSQL-tietokannan puolestasi, mikäli sinulla ei sitä ole aiemmin ollut. Helpossa asennuksessa kysytään vain kaksi salasanaa ja muutoin koko homma on automatisoitu. Ensimmäinen salasana on olemassa olevan tai Tanja-järjestelmää varten luotavan PostgreSQL-tietokannan pääkäyttäjän salasana. Tämä salasana saattaa olla tarpeellista muistaa joskus tulevaisuudessa. Toinen salasana on tietokantaan Tanja-järjestelmän käytettäväksi luotavan käyttäjän salasana. Tätä salasanaa ei tarvitse muistaa enää koskaan, sillä asennusohjelma kertoo sen automaattisesti Tanja-järjestelmälle. Varoitus: mikäli sinulla on jotain tärkeää db.cs.helsinki.fi palvelimella hakemistossa /public_html/tanja/ käytä perinteistä asennusta. Tanja-järjestelmän mahdollinen päivittäminen on tehtävä perinteisellä tavalla, mikäli mahdollisten päivityksien kohdalla ei muuta ohjeisteta ja olemassa oleva tietosisältö halutaan säilyttää. Helpon asennuksen käynnistäminen on yksinkertaista. Ota ssh-yhteys db.cs.helsinki.fi palvelimeen esimerkiksi kirjoittamalla komentoriville ssh db.cs.helsinki.fi Linuxissa tai F-securen ssh-ohjelmalla Windowssissa. Päästyäsi sisään palvelimelle käynnistä Tanja-järjestelmän asennus komennolla tkt_saha/asenna_tanja Näytölle tulostuu jonkin verran asennusohjelman kutsumien ohjelmien tulostuksia, asennusohjelman itsensä tulostuksia ja muutamia kertoja kysymyksiä salasanasta. Asennusohjelma tulostaa lopulta www-osoitteen, jonne surffaamalla pääset käyttämään tekemääsi asennusta. Mikäli sinulla on PostgreSQL-tietokanta asennettuna, et muista sen salasanaa ja haluat
saada sen pois tieltä käyttääksesi Tanja-järjestelmän helppoa asennusta anna ennen helpon asennuksen aloittamista komento mv /postgres /postgres.old Halutessasi päästä vanhasta PostgreSQL asennuksestasi kokonaan ja lopullisesti eroon käytä komentoa rm -r /postgres joka poistaa PostgreSQL-tietokannan hakemiston kotihakemistostasi. 2 3 Perinteinen asennus Perinteinen asennus kolmesta vaiheesta. Asennuspaketin purkaminen, tietokannan luominen ja viimeisenä asetusten asettaminen. 3.1 Asennuspaketin purkaminen Otaksuttavasti olet saanut jostain käsiisi tanja.tar.gz-nimisen tiedoston sekä tiedät, minne haluat sen asentaa. Mikäli et tiedä, suosittelemme asentamista db.cs.helsinki.fi koneeseen kotihakemistosi alta löytyvään tai sinne tehtävään public_html-hakemistoon. db.cs.helsinki.fi koneelle pääset laitoksen Linux-työasemilta kirjoittamalla komentoriville komennon ssh db Siirry asennushakemistoon komennolla cd /public_html Mikäli näytölle tulostuu virheilmoitus puuttuvasta tiedostosta tai hakemistosta, on hakemisto luotava. Tämä onnistuu seuraavilla komennoilla: cd mkdir \~{}/public\_html chmod 755 \~{}/public\_html Hakemiston luomisen jälkeen tulee siirtyä sinne käyttäen jo yllä kerran mainittua komentoa cd /public_html Tanjan asennuspaketin purkaminen luo tanja-hakemiston ja sen alle tarvittavat tiedostot. Tanjan-asennuspaketin purkaminen tapahtuu komennolla tar zxf tanja.tar.gz tai mikäli tanjan asennuspaketti ei ole työskentelyhakemistossa, pitää paketin purkavalle ohjelmalle kertoa, mistä paketti löytyy. Jos paketti on kotihakemistossasi, purkaminen tapahtuu komennolla:
tar zxf /tanja.tar.gz Koska paketin purkamisen jälkeen tiedostojen oikeudet voivat olla pielessä, olemme sisällyttäneet pakettiin aseta-oikeudet nimisen skriptin, jolla voit varmistaa oikeuksien olevan kunnossa. Siirry paketista purettuun tanja-hakemistoon varmistamaan oikeudet seuraavilla kahdella komennolla: cd tanja sh./aseta-oikeudet Voit tässä vaiheessa varmistaa asennuksesi onnistumisen tähän asti surffaamalla millä tahansa selaimella osoitteeseen http://db.cs.helsinki.fi/ kayttajatunnuksesi/tanja/ Rekisteröityminen, salasanan tilaaminen tai sisäänkirjautuminen eivät vielä toimi, sillä tietokanta on luomatta ja asetukset korjaamatta. 3 3.2 Tietokannan asentaminen Tanja vaatii toimiakseen PostgreSQL-tietokantapalvelimen, sinne tunnuksen sahara sekä tietokannan tanja. Asetukset (edellisten lisäksi kone, jossa tietokanta on käytössä sekä TCP-portti, jossa tietokanta palvelee) kerrotaan Tanjan asennushakemiston alla tiedostossa asetukset/tietokantayhteys.php. 3.2.1 PostgreSQL:n käyttöönotto asennusscriptillä Tietokannan asennus tehdään normaalisti automaattisesti Tanjan asennuksen yhteydessä, mutta voit tehdä sen myös erikseen komennolla sh asennus/asenna-pq.sh Skripti alustaa Tietojenkäsittelytieteen sovellusympäristössä koneessa db.cs.helsinki.fi PostgreSQLpalvelimen ja asentaa siihen Tanja-sovelluksen tietokannat. Kun tietokanta on asentunut, voit katsoa PostgreSQL:n psql-hallintatyökalulla, että esim. taulu kayttaja on asentunut oikein: psql -U sahara tanja Password: <- sahara-tunnuksen salasana Welcome to psql 7.4.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit tanja=> \d kayttaja Table "public.kayttaja" Column Type
Modifiers --------------+--------------------------+---------------------------- kid integer not null default nextval( p etunimi character varying sukunimi character varying sposoite character varying salasana character varying uusisalasana character varying uusisposoite character varying viimkaytto timestamp with time zone default now() Indexes: "kayttaja_kid_key" unique, btree (kid) "kayttaja_sposoite" btree (sposoite) Triggers: kayttaja_trigger BEFORE INSERT OR UPDATE ON kayttaja FOR EACH ROW EXECUTE PROCEDURE touch() tanja=>\q 4 3.2.2 PostgreSQL:n käyttöönotto käsin Asenna tai hanki muuten käyttöön PostgreSQL-ympäristö. Tietojenkäsittelytieteen laitoksen ympäristössä tämä tapahtuu komennolla wanna-postgres. Aseta tietokannan hallintatunnuksen salasana. Käynnistä PostgreSQL:n tietokantapalvelin komennolla start-postgres: Postmaster daemon with pid 24385 and listening port 12346 has been sta Merkitse ylös missä portissa palvelin pyörii, sillä tarvitset tätä tietoa Tanja-sovellukselle kerrottavaksi. Anna komento setup postgres, niin ympäristösi alustetaan tietokantapalvelimen kanssa toimimista varten. 3.2.3 Tietokannan alustus Tee Tanjalle käyttäjätunnus sahara ja kanta tanja komennoilla \texttt{psql -c "create user sahara password salasana "} \texttt{psql -c "create database tanja owner sahara"} Anna tietokannan ylläpitosalasana pyydettäessä.
Seuraavaksi ladataan kantaan plpsql, jotta PL/PSQL-kielellä tehdyt triggerit toimivat. Anna tietokannan ylläpitosalasana pyydettäessä. createlang plpgsql tanja Varsinaisen Tanjan tietokannan luovat SQL-komennot ovat tiedostossa tanja-init.sql: psql <asennus/tanja-init.sql Anna aluksi tietokannan ylläpitosalasana, sitten saharan salasana. Tämän jälkeen tietokanta on käytettävissä. Jos käytössäsi on tietokantadumppi tanja.db, voit halutessasi palauttaa mahdollisen oletustietokannan komennolla psql -U sahara tanja <tanja.db Tietokantadumppi tehdään komennolla pg_dump -U sahara tanja >tanja.db. Tämä vaihe ei ole välttämätön. Voit joutua ehkä antamaan em. komennon kaksi kertaa, koska dumpissa eri taulujen välinen järjestys ei ole eheystarkistusten suhteen oikein. 5 3.3 Asetukset Tietokannan asennus asettaa kantakäyttäjän ja salasanan automaattisesti Tanja-järjestelmän tietoon, mikäli käytit asennusskriptejä. Mikäli asensit tietokannan käsin, tulee myös tietokannan käyttäjä ja siihen liittyvä käyttäjätunnus saattaa Tanja-järjestelmän tietoon. Se tapahtuu muokkaamalla asetukset/tietokantayhteys.php tiedostoa. Tämän jälkeen Tanja-järjestelmän asennuksen pitäisi olla kunnossa. Voit testata sen surffaamalla valitsemallasi selaimella osoitteeseen http://db.cs.helsinki.fi/ kayttajatunnuksesi/tanja/. Todennäköisesti sinun ei tarvitse muuttaa mitään muita asetuksia. Mikäli kuitenkin haluat tietää, mitä mahdollisesti olisi muokattavissa tai säädettävissä, suosittelemme tutustumaan asetukset/ hakemistoon ja toteutusdokumentin asetuksia käsitteleviin osiin.