Asennusohje Sahara-ryhmä Helsinki 31.8.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
Sisältö i 1 Johdanto 1 2 Tietokannan asentaminen 2 2.1 PostgreSQL:n käyttöönotto asennusscriptillä................ 2 2.2 PostgreSQL:n käyttöönotto käsin...................... 3 2.3 Tietokannan alustus............................. 3
1 Johdanto 1 Tämä dokumentti antaa ohjeet Tanja-järjestelmän asentamiseen Apache/PHP/PostgreSQLympäristöön.
2 Tietokannan asentaminen 2 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. 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 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 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 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. 2.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. 4