Asennusohje Sahara-ryhmä Helsinki 1.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
Sisältö i 1 Johdanto 1 2 Yleistä 1 3 Tanja-järjestelmän asentaminen 1 3.1 Helppo asennus............................... 1 4 sovellus 2 5 Tietokannan asentaminen 3 5.1 PostgreSQL:n käyttöönotto asennusscriptillä................ 3 5.2 PostgreSQL:n käyttöönotto käsin...................... 4 5.3 Tietokannan alustus............................. 4
1 Johdanto 1 Tässä dokumentissa kuvataan, kuinka asennat Tanja-järjestelmän. 2 Yleistä 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. 3 Tanja-järjestelmän asentaminen 3.1 Helppo asennus Asennustavoista vähemmän työtä vaativa helppo asennus noudattaa perinteisessä asennuksessa ohjeistettua. Helppo asennus on käytännössä vain mahdollisimman pitkälti automatisoitu tavallinen asennus. 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. Tanja-järjestelmän helppo asennus asentaa PostgreSQLtietokannan 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äjrestelmä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ä Tanjajärjestelmän asennus komennolla tkt_saha/asenna_tanja. Näytölle tulostuu jonkin verran asennusohjelman kutsumien ohjelmien tulostuksia, asennusohjelman itsensä tulostuk-
sia ja muutamia kertoja kysymyksiä salasanasta. Asennusohjelma tulostaa lopulta wwwosoitteen, jonne surffaamalla pääset käyttämään tekemääsi asennusta. 2 4 sovellus
5 Tietokannan asentaminen 3 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. 5.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 Scripti alustaa Tietojenkäsittelytieteen sovellusympäristössä koneessa db.cs.helsinki.fi PostgreSQLpalvelimen ja asentaa siihen Tanja-sovelluksen tietokannat. Loki tyypillisestä asennuksesta on tiedostossa asennus/pg-asennus.txt. 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 5.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 started. Merkitse ylös missä portissa palvelin pyörii, tarvitset tätä tietoa Tanja-sovellukselle kerrottavaksi. Anna komento setup postgres, niin ympäristösi alustetaan tietokantapalvelimen kanssa toimimista varten. 5.3 Tietokannan alustus Tee Tanjalle käyttäjätunnus sahara ja kanta tanja komennoilla psql -c "create user sahara password salasana " 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