Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN ASENNUSOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 2.1 Tila: hyväksytty Päivämäärä: 19.03.2001 Tekijä: Niko Tolvanen Kommentit: Hyväksyi: Maaret Pyhäjärvi, Eero Jyske
VERSIOHISTORIA Versio Päivämäärä Muutokset Muuttaja 0.1 2.12.2000 Alustava versio Eero Jyske 1.0 4.12.2000 Sisäisen katselmoinnin korjaukset tehty Eero Jyske 1.1 12.12.2000 Asiakaskatselmoinnin korjaukset tehty Eero Jyske 2.0 15.3.3001 Muutettu vastaamaan asennus-cdlevyn rakennetta ja täydennetty Niko Tolvanen 2.1 19.3.2001 Viimeistelty palautukseen Maaret Pyhäjärvi
1. JOHDANTO 1 2. TARVITTAVAT TYÖKALUT JA OHJELMAT SEKÄ MISTÄ NE LÖYTYVÄT 1 3. ASENNUS 1 3.1 ASENNUSJÄRJESTYS JA ASENNUSLEVYN KANSIORAKENNE 1 3.2 JAVA 2 SOFTWARE DEVELOPMENT KIT (SDK) V1.3: JAVA-KÄÄNTÄJÄ SEKÄ STANDARDILUOKKAKIRJASTOT 2 3.3 JAVA SDK ENTERPRISE EDITION 3 3.4 APACHE WEB SERVER 3 3.5 TOMCAT 4 3.6 APACHEN JA TOMCATIN TOIMINNALLISUUKSIEN YHDISTÄMINEN 4 3.7 APACHE JA TOMCAT: KÄYNNISTYS 5 3.8 MYSQL 5 3.9 ODBC 5 3.10 MMJDBC 6 3.11 CLASSPATH-YMPÄRISTÖMUUTTUJAN PÄIVITTÄMINEN 6 3.12 TIETOKONEEN KÄYNNISTÄMINEN UUDELLEEN MYSQL:N KÄYNNISTÄMISEKSI PALVELUNA 7 4. TIETOKANNAN LUOMINEN 7 5. LIKE-JÄRJESTELMÄN WEB-SIVUSTON LUOMINEN 7 5.1 TOMCAT-SOVELLUKSEN OSIEN ASENTAMINEN 8 5.1.1 AUTENTIKOINTITIEDOSTOT 8 5.1.2 WEB-SIVUT 8 5.2 VAIHTOEHTOISIA TAPOJA ASENNUKSEEN 10 5.2.1 SOVELLUKSEN KUVAUS -TIEDOSTO 10 5.2.2 SOVELLUSKOHTAISET JAVA-KIRJASTOT 10 5.2.3 MUIDEN VALMISTAJIEN TOIMITTAMAT KOMPONENTIT 10 5.3 SOVELLUKSEN INTEGROINTI TOMCAT-YMPÄRISTÖÖN 11 5.3.1 PAKKAAMATON HAKEMISTORAKENNE TOMCATIN ALLA 11 5.3.2 PAKATTU WAR-SOVELLUSTIEDOSTO TOMCAT:N ALLA 11 5.3.3 PAKKAAMATON HAKEMISTORAKENNE TOMCATIN ULKOPUOLELLA 11
1. JOHDANTO Tässä dokumentissa on kuvattu LiKe-järjestelmän asennus. 2. TARVITTAVAT TYÖKALUT JA OHJELMAT SEKÄ MISTÄ NE LÖYTYVÄT LiKe-järjestelmä toimii Windows NT Server koneella Apache Web Server- ja Tomcatalustalla. Järjestelmään kuuluu lisäksi MySQL-relaatiotietokanta, jota käsitellään käyttäen Javan JDBC-rajapintaa. Kaikki järjestelmän asentamiseen tarvittavat ohjelmistot ovat CD-levyllä, joka on annettu asennuksen suorittajalle. 3. ASENNUS 3.1 ASENNUSJÄRJESTYS JA ASENNUSLEVYN KANSIORAKENNE Aseta CD-levy asemaan ja siirry Windowsin Resurssienhallinnassa CD-levyn Engineskansioon. Asennusjärjestys on seuraava: 1. Java 2 SDK 2. Java 2 SDK Enterprise Edition 3. Apache Web Server 4. Tomcat 5. MySQL 6. MySQL ODBC ohjain 7. mmjdbc 8. LiKe-järjestelmän tietokanta 9. LiKe-järjestelmän Web-sivusto. 1
Kaikki asennettavat palvelinohjelmat ovat CD-levyn Engines-kansiossa. Kokonaisuutena CD-levy sisältää seuraavat kansiot: Engines. Palvelinsovellukset LiKe-tietokanta. Sisältää LiKe-järjestelmän tietokannan luomiseen tarvittavat tiedostot LiKe. Sisältää LiKe-järjestelmän Web-sivuston luomiseen tarvittavat tiedostot Projects. Sisältää Kehittäjän karttakirjan dokumentit Auth. Käyttäjän autentikointiin Web-palvelimessa tarvittavat tiedostot Demo. Järjestelmän demossa käytetyt tiedostot LiKe-dokumentaatio. n projektin aikan tuottama järjestelmän ja projektin dokumentaatio. Lisäksi CD-levyllä on Readme.txt-niminen tiedosto, joka sisältää asennus-cd-levyyn ja järjestelmän asennukseen liittyviä tietoja sekä tämä asennusohje (Asennus.doc). 3.2 JAVA 2 SOFTWARE DEVELOPMENT KIT (SDK) V1.3: JAVA-KÄÄNTÄJÄ SEKÄ STANDARDILUOKKAKIRJASTOT 1. Suorita Engines-kansiosta Java SDK:n asennustiedosto (J2sdk1_3_0-win.exe) 2. Noudata ohjatun asennustoiminnon ohjeita. 2.1. Valitse kansio, johon haluat asentaa ohjelman (esim. d:\jdk1.3). 2.2. Valitse asennettavaksi kaikki komponentit. 3. Päivitä PATH ympäristömuuttujan arvoa. Lisää Java SDK:n Bin-hakemisto. Esim. d:\jdk1.3\bin. Tämä tehdään, jotta voimme kutsua java-kääntäjää mistä tahansa. 3.1. Muuttuja voidaan asettaa esimerkiksi Windowsin Ohjauspaneelin kautta: valitse System > Environment ja valitse sen jälkeen System Variables luettelosta Path 2
ja kirjoita aiemmin määritetyn muuttujan perään d:\jdk1.3\bin. ympäristömuuttuja valitsemalla Set. Aseta 3.2. Määritä uusi ympäristömuuttuja JAVA_HOME käyttäjäprofiilikohtaiseksi ympäristömuuttujaksi (User Variables for <käyttäjätunnus> -luetteloon). Määritä uuden ympäristömuuttuja arvoksi se kansio, johon SDK asennettiin (esim. d:\jdk1.3). 3.3. Määritä CLASSPATH-ympäristömuuttuja samalla tavalla kuin edellä käyttäjäkohtaiseksi ympäristömuuttujaksi. Tämä muuttuja listaa ne hakemistot ja paketit, mistä Java-kääntäjä etsii käännös- ja ajon aikana -luokkia. Nyt lisätään vain tools.jar: esim. D:\jdk1.3\lib\tools.jar. 3.3 JAVA SDK ENTERPRISE EDITION 1. Suorita Engines-kansiosta Java SDK:n asennustiedosto (j2sdkee-1_2_1-win.exe) 2. Noudata ohjatun asennustoiminnon ohjeita. 2.1. Valitse kansio, johon haluat asentaa ohjelman (esim. d:\jdk1.3ee). 2.2. Valitse asennettavaksi kaikki komponentit. 3. Määritä uusi ympäristömuuttuja J2EE_HOME käyttäjäprofiilikohtaiseksi ympäristömuuttujaksi (User Variables for <käyttäjätunnus> -luetteloon). Määritä uuden ympäristömuuttujan arvoksi se kansio, johon Java SDK EE asennettiin (esim. d:\jdk1.3ee). 3.4 APACHE WEB SERVER 1. Suorita Engines\Apache-kansiosta Apachen asennustiedosto Apache_1_3_14_win32_r2.exe. 2. Seuraa ohjatun asennustoiminnon ohjeita. 2.1. Valitse jokin hakemisto mihin asennetaan. Esim. D:\Apache. 3
2.2. Valitse asennusvaihtoehdoksi Custom ja valitse kaikki komponentit asennettavaksi. 2.3. Käytä muuten oletusarvoja. 3. Engines\Apache-kansiossa on esimerkki Apachen Httpd.conf-tiedostosta. Tästä tiedostost saattaa olla hyötyä Apachen ja Tomcatin määritysten tekemisessä (kohta 3.6). 3.5 TOMCAT 1. Siirry Engines\Tomcat-kansioon. 2. Siirrä tiedosto ApacheModuleJServ.dll asennetun Web-palvelimen Moduleskansioon. Esim. D:\Apache \modules\. 3. Kopioi Tomcatin tiedostot johonkin kansioon paikallisella kiintolevyllä (esim. d:\tomcat.) 4. Määritä uusi käyttäjäprofiilikohtainen TOMCAT_HOME-ympäristömuuttuja ja sen arvoksi se kansio, johon Tomcat asennettiin. Esim. D:\tomcat. 3.6 APACHEN JA TOMCATIN TOIMINNALLISUUKSIEN YHDISTÄMINEN 1. Käynnistä Tomcat komentorivillä komennolla d:\tomcat\bin\tomcat start. 2. Kopioi Tomcatin kotihakemiston tiedosto conf\tomcat-apache.conf tiedostoksi conf\tomcat-apache-custom.conf. (Esim. komentorivillä copy d:\tomcat\conf\tomcat.conf d:\tomcat\conf\tomcat-apache-custom.conf) 3. Pysäytä Tomcat komennolla d:\tomcat\bin\tomcat stop. 4. Lisää Apachen conf\httpd.conf-tiedoston (sijainti esim. d:\apache\conf) loppuun rivi Include d:/tomcat/conf/tomcat-apache-custom.conf. Huom. Kauttaviivat ovat tässä pakollisia; ohjelmisto ei toimi, jos niiden tilalla on kenoviivoja. 4
3.7 APACHE JA TOMCAT: KÄYNNISTYS Palvelinta käynnistettäessä täytyy Tomcat aina käynnistää ennen Apachea. Tomcat käynnistetään komentorivillä komennolla d:\tomcat\bin\tomcat start. Apache käynnistetään komentorivillä komennolla d:\apache\apache k start. Nyt palvelimen pitäisi toimia. Palvelimien käynnistyminen voi kestää hetken. Palvelinten toimintaa voi testata siirtymällä selaimella osoitteeseen http://localhost:8080/examples. 3.8 MYSQL 1. Siirry kansioon, jossa on MySQL:n asennustiedostot (mysql-3.23.27-beta-win). 2. Suorita MySQL:n asennusohjelma Setup.exe. 3. Noudata ohjatun asennustoiminnon ohjeita. 3.1. Valitse kansio, johon haluat asentaa ohjelman (esim. d:\mysql). 3.2. Valitse asennusvaihtoehdoksi Custom ja valitse asennettavaksi kaikki komponentit. 4. Lisää MySQL:n Bin-kansio Path-muuttujan arvoon Ohjauspaneelissa samalla tavalla kuin aiemmin (kansio on esim. d:\mysql\bin, jos MySQL on asennettu kansioon d:\mysql). 5. Käynnistä MySQL komentorivillä komennolla mysqld-nt. Koska MySQL:n Binkansio on lisätty Path-ympäristömuuttujaan, tämän voi tehdä komentorivillä missä tahansa kansiossa. 3.9 ODBC 1. Siirry Engines\myodbc-2.50.36-nt-kansioon. 2. Suorita ODBC-asennusohjelma Setup.exe. 5
3. Valitse tietolähteeksi MySQL (ainoa luettelossa oleva vaihtoehto) 4. Määritä Sample-MySQL-tietolähteen asetukset valitsemalla se luettelosta ja valitsemalla Setup-painike. Määritä tietolähteen nimeksi MySQL (Name-kenttään) ja IP-osoitteeksi 127.0.0.1 (eli Localhost). Muita määrityksiä ei tarvitse muuttaa, sillä LiKe-järjestelmä ei vaadi erillistä sisäänkirjautumista tietokannanhallintajärjestelmään. 5. Lopeta asennus valitsemalla Close ja OK. 6. Siirry Windowsin Ohjauspaneeliin ja valitse Data Sources (ODBC). 7. Varmista, että User DSN välilehden luettelossa on merkintä MySQL ja sen ohjaimena MySQL. 3.10 MMJDBC 1. Kopioi Engines-kansiossa olevat tiedostot Mm.mysql-2.0.2-bin.jar ja Mm.mysql- 2.0.2-src.jar paikalliselle kiintolevylle (esim. kansioon d:\mysql). 2. Lisää näiden tiedostojen sijainti CLASSPATH-ympäristömuuttujan arvoon Windowsin Ohjauspaneelissa samalla tavalla kuin aiemmin. 3.11 CLASSPATH-YMPÄRISTÖMUUTTUJAN PÄIVITTÄMINEN Classpath-ympäristömuuttujaa tarvitaan, jotta Tomcat löytää tarvittavat Javaluokkakirjastot. Varmista, että muuttujassa on seuraavat polut, ja jos niitä ei siitä löydy, lisää ne: D:\jdk1.3\lib\tools.jar; d:\jdk1.3\src.jar D:\MySQL\mm.mysql-2.0.2-bin.jar D:\MySQL\mm.mysql-2.0.2-bin.jar D:\jdk1.3ee\lib\j2ee.jar. 6
Huomaa, että yo. polkujen on vastattava niitä kansioita, joihin olet asentanut ohjelmat edellisissä vaiheissa. 3.12 TIETOKONEEN KÄYNNISTÄMINEN UUDELLEEN MYSQL:N KÄYNNISTÄMISEKSI PALVELUNA Pysäytä Tomcat ja Apache. Käynnistä tietokone uudelleen, jotta MySQL-palvelu käynnistyy ja jotta voit varmistua siitä, että palvelun automaattinen käynnistyminen todella toimii. 4. TIETOKANNAN LUOMINEN 1. Kopioi LiKe-tietokanta-kansio paikalliselle kiintolevylle. 2. Kopioi projects-kansion sisältö paikalliselle kiintolevylle kansioon d:\projects. 3. Siirry tämän jälkeen LiKe-tietokanta -kansioon paikallisella kiintolevyllä. Luo tämän jälkeen tietokanta suorittamalla asennuskomentosarja Asenna.bat. 4. Käynnistä MySQL komennolla MySQL. Valitse käytettäväksi tietokannaksi dblike komennolla Use dblike;. Tarkista, että kaikki taulut luotu komennolla SHOW TABLES. Tauluja tulisi olla kahdeksan. Varmista lisäksi, että kussakin taulussa on tarvittavat kentät komennolla Desc <taulun nimi>. Tietokannan rakenne on esitetty Rational Rose mallissa, joten luotua tietokantaa kannattaa verrata tähän taulujen ja kenttien suhteen. 5. Voit tämän lisäksi lisätä tietokantaan demoissakin käytettyä esimerkkidataa suorittamalla CD-levyn Demo-kansiosta tiedoston EsimData.bat ja kopioimalla d:\projects hakemistoon Demo-kansiossa olevan projects-kansion sisällön. 5. LIKE-JÄRJESTELMÄN WEB-SIVUSTON LUOMINEN Tässä luvussa kuvataan tarpeelliset toimenpiteet Tomcat-sovelluskehityksen aloittamiseksi ja oman sovelluksen luomiseksi sekä LiKe-järjestelmän asentaminen Tomcatin kanssa käytettäväksi. 7
5.1 TOMCAT-SOVELLUKSEN OSIEN ASENTAMINEN Alla on lueteltu osat, joista sovellukset muodostuvat. 5.1.1 Autentikointitiedostot Kopioi CD-levyn Auth-kansio paikalliselle kiintolevylle kansioksi d:\auth. Huomaa, että tähän kansioon viitataan järjestelmän koodissa tiedostossa UserManager.java, joten jos käytät näille tiedostoilla jotakin muuta kansiota, tämä kansionimi on määritettävä myös tässä tiedostossa. Jos teet muutoksia tähän tiedostoon (tai mihin tahansa muuhun kooditiedostoon), tiedosto on käännettävä uudelleen komennolla Javac <tiedostonnimi>.java. 5.1.2 Web-sivut 1. Kopioi Web-sivut ja Java-luokat sisältävä LiKe-kansio kopioidaan kansioksi d:\like. 2. Lisää Classpath-ympäristömuuttujaan LiKe-järjestelmän omien luokkien sijainti D:\like\Web-inf\classes\tai\like edellisten määritysten perään puolipisteellä erotettuna. 3. Muokkaa Apachen Httpd.conf-tiedostoa tai, jos olet asentanut Apachen kansioon d:\apache, kopioi CD-levyn Engines\Apache-kansion tiedosto Httpd.conf kansioon d:\apache\conf. Jos olet asentanut Apachen johonkin muuhun kansioon, tee Httpd.conf-tiedostoon seuraavat muutokset (lihavoidut kohdat ovat Httpd.conftiedostossa olevia määritysrivejä; rivinumerot voivat vaihdella hieman tiedostoon tehtävien muutosten mukaan): 3.1. Rivi 63: Palvelimen pääkansion nimimäärityksen on vastattava Apachen asennuskansiota, esim ServerRoot "d:/apache". 3.2. Rivi 232: Palvelin on asetettava kuuntelemaan porttia 8080, joka on Tomcatin käyttämä portti, esim. Port 8080. 3.3. Rivi 239: Palvelimen järjestelmänvalvojan sähköpostiosoite on kohtuullista ilmoittaa käyttäjille, jos he kohtaavat palvelimen käytössä virheitä, esim. ServerAdmin like@niksula.cs.hut.fi. 8
3.4. Rivi 265: Varsinaisten dokumenttien (JSP-sivut ja sovelluksen luokat) pääkansion sijainti on määritettävä oikeaksi, esim. DocumentRoot "d:/like". Tämä on se kansio, john olet edellä kohdassa 1 kopioinut CD-levyn LiKe-kansion. 3.5. Rivi 276. Määritä oikeudet pääkansioon lisäämällä tiedostoon rivit <Directory "d:"> Order Deny,Allow AllowOverride All </Directory>. Huomaa, että tässä on annettu LiKe-järjestelmälle kirjoitusoikeudet koko d:-levylle. Tämä on tarpeen, jotta käyttäjien salasanojen muuttaminen on mahdollista. Tämän vuoksi on suositeltavaa, että LiKejärjesteläm asennetaan tietoturvasyitä omalle partitiolleen. 3.6. Rivi 296 (ohjeen # This should be changed to whatever you set DocumentRoot to. alla oleva <directory>-määritys): varmista, että tässä käytetty kansio on sama kuin se, jonka olet määrittänyt DocumentRoot-kansioksi (esim. <Directory "d:/like">). 3.7. Rivi 362: Muuta autentikoinnissa käytettävän tiedoston nimi olemaan AccessFileName htaccess. Tämä on oletusarvoisesti.htaccess. 3.8. Rivi 375: Poista tiedoston htaccess tarkasteluoikeudet palvelimen käyttäjiltä muuttamalla määritys <Files ~ \.ht > Order allow,deny Deny from all </Files> määritykseksi <Files ~ "htaccess"> Order allow,deny Deny from all </Files>. 4. Lisää Tomcatin Server.xml asetustiedostoon tunniste (lisätietoja kohdassa 5.3.3) <Context path= docbase= d:/like ></Context> 9
5. Muuta Tomcatin Server.xml asetustiedostossa Tomcatin portti port 8080 -> port 8081 Nyt LiKe-järjestelmän asennus on valmis, ja sovellusta voi käyttää selaimella osoitteesta http://localhost:8080/tai/like/likemain.jsp. 5.2 VAIHTOEHTOISIA TAPOJA ASENNUKSEEN Seuraavat vaiheet kuvaavat vaihtoehtoisia tapoja LiKe-järjestelmän varsinaisen sovellusosan asentamiseen toimimaan Tomcatin kanssa. Perustapauksessa näitä vaiheita ei tarvitse suorittaa, vaan riittää, että LiKe-kansion sisältö on kopioitu d:\like-kansioon ja edellä mainitut toimet on suoritettu. Web-sivuja ovat HTML-, JSP- tai muut sivut, jotka ovat sovelluksen ulospäin selaimella näkyvä osa. Nämä tiedostot sijoitetaan sovelluskansion päätasolle, josta Tomcat osaa näyttää niitä kysyjille. 5.2.1 Sovelluksen kuvaus -tiedosto Tiedoston Web.xml on oltava Tomcatin sovelluskansion alla olevassa Web-inf-kansiossa. Tämän tiedoston pitäisi olla kansiossa Tomcatin asennuksen tuloksena, mutta asia kannattaa varmistaa. Jos tiedostoa ei ole, kopioi se tähän kansioon LiKe-kansiosta. 5.2.2 Sovelluskohtaiset Java-kirjastot Sijoitetaan sovellushakemiston alle hakemistoon WEB-INF/classes. Jos luokat on järjestetty paketteihin (package) täytyy tämä huomioida hakemistorakenteessa sijoitettaessa luokkatiedostoja classes-hakemiston alle. Esimerkiksi luokka com.like.esimerkki täytyy löytyä tiedostosta WEB-INF/classes/com/like/Esimerkki.class. LiKe-järjestelmän tapauksessa tarvittavat Java-luokat tulevat suoraan puretuiksi tähän kansioon. 5.2.3 Muiden valmistajien toimittamat komponentit Näitä ovat ZIP- ja JAR-paketit, jotka sisältävät Java-luokkatiedostoja. Esimerkkinä JDBCajuri. LiKe-järjestelmän asennuksessa näiden lisääminen ei ole tarpeen. 10
5.3 SOVELLUKSEN INTEGROINTI TOMCAT-YMPÄRISTÖÖN Sovelluksen voi asentaa Tomcat-ympäristöön kolmella tavalla. 5.3.1 Pakkaamaton hakemistorakenne Tomcatin alla Yllä kuvatut voidaan sijoittaa Tomcat-ohjelmiston alle Webapps-kansioon, jolloin Tomcat osaa käynnistettäessä löytää sovelluksen automaattisesti. Eli esimerkiksi sovellus LiKe sijoitetaan Tomcatin alle kansioon Webapps. LiKen alla on kohdassa 5.1 kuvattu rakenne ja tiedostot. 5.3.2 Pakattu WAR-sovellustiedosto Tomcat:n alla Toinen tapa on pakata koko sovellus hakemistoineen WAR-tiedostoksi. Tämä tapahtuu pakkaamalla koko sovellus ZIP-muotoon, lisäämällä pakettiin tiedosto Manifest.mf ja vaihtamalla tiedoston päätteeksi WAR. Manifest.mf sisältää ainostaan rivin: Manifest-Version: 1.0 Tämä paketti kopioidaan Tomcatn alle kansioon Webapps. 5.3.3 Pakkaamaton hakemistorakenne Tomcatin ulkopuolella Vaihtoehtoisesti tiedostot voidaan sijoittaa myös Tomcatin oletushakemiston ulkopuolelle, jolloin Tomcatiin on määritettävä sovelluksen sijainti erikseen. Tämä tapahtuu lisäämällä Tomcatin Server.xml-asetustiedostoon uusi XML-tunniste <ContextManager>tunnisteen. Syntaksi on muotoa: <Context path="/sovellustunnus" docbase="sovelluksenjuuri"> </Context> Tässä sovellustunnus määrittää nimen, jolla selain voi kutsua sovellusta. Sovelluksenjuuri määrittää kansion palvelimella, jonka alta yllä kuvatut sovelluksen komponentit löytyvät. 11