Telepítési dokumentáció Naviscon Informatikai Zrt. 1037 Budapest, Montevideó utca 16/b.
1. VERZIÓKÖVETÉS 4 2. BEVEZETÉS 5 2.1 A DOKUMENTUM TARTALMA, CÉLJA ÉS CÉLKÖZÖNSÉGE 5 2.2 CÉLZOTT OLVASÓKÖR 5 3. ESZR- ERDÉSZETI SZAKRENDSZER FELÉPÍTÉSE: 6 4. ELŐFELTÉTELEK 7 5. OPERÁCIÓS RENDSZER 7 7. KÖRNYEZET BEÁLÍTÁSA 8 7.1 Környezeti változók 8 7.2 KONFIGURÁCIÓS FÁJLOK 9 8. TELEPÍTÉS ELŐKÉSZÍTÉSE 11 8.1 TÉRKÉPSZERVER 11 8.2 ALKALMAZÁS SZERVER 11 8.3 ADATBÁZIS SZERVER 12 9. JAVA KÖRNYEZET 12 10. TÉRKÉP SZERVER TELEPÍTÉSE 13 10.1 TÉRKÉPSZERVER SERVICE-KÉNT INDÍTÁSA 13 10.2 TÉRKÉP SZERVER KONFIGURÁLÁSA 14 STORE 1. ÁBRA 14 11. ALKALMAZÁS SZERVER TELEPÍTÉSE 15 11.1 SZERVIZ INDÍTÁSA ÉS LEÁLLÍTÁSA 16 11.2 ALKALMAZÁS INDÍTÁSA, LEÁLLITÁSA,STÁTUSZ KÉRÉS 16 11.3 ALKALMAZÁS TESZTELÉSE 16 12. ADATBÁZIS TELEPÍTÉSE 17 FÜGGELÉK 18 2 / 26
1. A térkép szerver inditó szript 18 ÁBRAJEGYZÉK 21 1. ÁBRA 21 2. ÁBRA 22 3. ÁBRA 23 4. ÁBRA 24 5. ÁBRA 25 6. ÁBRA 26 3 / 26
1. Verziókövetés Verzió Dátum Szerző/k Felülvizsgálta Leírás v01.1 2014.03.03. Kőhegyi Marianna Telepítési dokumentáció 4 / 26
2. Bevezetés 2.1 A dokumentum tartalma, célja és célközönsége Jelen dokumentum a ESZR erdészeti szakrendszer alkalmazásának telepítési leírását tartalmazza. Célja, hogy a Megrendelő számára segítséget nyújtson a rendszer megértésében és telepítésének végrehajtásában. 2.2 Célzott olvasókör Jelen dokumentum megcélzott olvasókörét a rendszer adminisztrátorai, valamint az üzemeltetői képezik 5 / 26
3. ESZR- Erdészeti szakrendszer felépítése: 6 / 26
4. Előfeltételek 5. Operációs rendszer CentOs operációs rendszer http://www.centos.org/ 6. Szoftverek - Jsdk 1.6.0_41 verzió http://www.oracle.com/technetwork/java http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jre-6u41-oth-jpr - JBoss 7(WildFy) alkalmazás szerver Úgy viselkedik, mint egy kiterjesztett virtuális gép,amely a.) ESZR alkalmazást futtatja b.) transzparensen kezeli az adatbázis kapcsolatokat az egyik oldalon, és a web kliens kapcsolatokat a másik oldalon. JBoss alkalmazásszerver, egy szabad szoftver/ nyílt kódú Java EE- alapú alkalmazásszerver. A JBoss-t fejleszti, mely jelenleg a Red Hat Inc. tulajdona.. Jboss7.1.1 Final verzió letöltése( tar.gz ) https://www.jboss.org/jbossas/downloads.html - Geoserver térkép servernyílt alapú szoftver, TOMCAT futó web alkalmazás, amely lehetőséget ad: Lehetőséget ad térképek: Megosztására Adatszolgáltatására Szerkesztésre segéd java szkript könyvtárak segítségével. http://geoserver.org/ Geoserver 2.4.4 verzió letöltése: 7 / 26
- PostGReSQL relációs adatbázis kezelő rendszer, amely szabadon használható. +POSTGIS adatbázis kezelőhöz tartozó tér adatkezelő modul, a geometriai objektumok kezelésére és különböző Geometriai műveletek végrehajtására szolgál. http://www.postgresql.org/ PostgresQL 9.1 verzíó lásd letöltés lásd: Adatbázis telepítése 7. Környezet beálítása 7.1 Környezeti változók A környezeti változok létrehozására van szükség, amely az alkalmazás szervert, térképszerver működéséhez szükséges. A Java környezeti változó a térkép szerver, és az alkalmazás szerverműködéshez kötelező $JAVA_HOME : java környezeti változó beállítása lásd Java környezet fejezet. /usr/java/jdk1.6.0_41/bin/ Az alkalmazás szerver környezeti változója, amit a szervizindító scriptjében állítunk be, amit a szerviz indításakor állít be. Ez /etc/init.d/jboss-eles, /etc/init.d/jboss-teszt $JBOSS_HOME : alkalmazás szerver környezeti változója /usr/share/jboss-as-7.1.1-final A térkép szerver környezeti változója, amit a szervizindító scriptjében állítunk be, amit a szerviz indításakor állit be. Éles /etc/init.d/geoserver $GEOSERVER_HOME: geoserver környezeti változója /usr/share/geoserver lásd:a térkép szerver inditó szript Teszt /etc/init.d/geoserver $GEOSERVER_HOME: geoserver-teszt környezeti változója /usr/share/geoserver-teszt lásd:a térkép szerver inditó szript 8 / 26
7.2 Konfigurációs fájlok - JBoss server: service file a két node hoz, amivel start, stop, status parancsot lehet kiadni. Ez a file a már előzőleg letöltött szoftverben benne van ezért csak a környezeti változok beállításának átírására, mivel két <node>(két szerver példányunk van). átírandó változók: JBOSS_HOME: szerver elérési utvonal Ide az indító file-t kell írni ami elindítja a szervert, és a JBOSS_HOME/bin könyvtárban található node-nként JBOSS_SCRIPT = JBOSS_HOME/bin/run_eszr_<node>.sh JBOSS_PIDFILE=/var/run/jboss-as/jboss-as-standalone-<node>.pid JBOSS_CONSOLE_LOG=/var/log/jboss-as/console-<node>.log Éles - /etc/init.d/@jboss-eles Parancsok a következőek. service jboss-eles start service jboss-eles stop service jboss-eles status Teszt - /etc/init.d/@jboss-teszt Parancsok a következőek service jboss-teszt start service jboss-teszt stop service jboss-teszt status 9 / 26
- Geoserver: Szerviz file a térkép szerverhez, amivel start, stop, status parancsot lehet kiadni. Ezt a szkriptet mi írtuk, csak akkor kell rajta változtatni, ha megváltozik a térkép szerver helye vagy a java verzió. Lásd : A térkép szerver inditó szript éles geoserver - /etc/init.d /geoserver parancsok a következőek. service geoserver start service geoserver stop service geoserver status teszt geoserver - /etc/init.d /geoserver -teszt parancsok a következőek. service geoserver-teszt start service geoserver-teszt stop service geoserver-teszt status - PostgreSQL: A PostgreSQL automatikusan indul a rendszer indításakor (Közös a Pentaho-val jelenleg) Service-ként fut, indítási parancsai a következőek: service postgresql-9.1 start service postgresql-9.1 stop service postgresql-9.1 status 10 / 26
8. Telepítés előkészítése 8.1 Térképszerver Éles: Teszt: Hostname: EEVRVIR Port: 6061 Memória: 12GB Operációs rendszer: Red Hat Enterprise Linux 6.4 Hostname: EEVRVIR Port: 6161 Memória: 12GB 8.2 Alkalmazás szerver Operációs rendszer: Red Hat Enterprise Linux 6.4 Éles környezetben: Host: EEVRVIR Port: 8081 Memória: 21GB Operációs rendszer: Red Hat Enterprise Linux 6.4 Teszt környezetben: Host: EEVRVIR Port: 8181 Memória: 21GB Operációs rendszer: Red Hat Enterprise Linux 6.4 11 / 26
8.3 Adatbázis szerver Integrációs környezetben: Host: EEVRVIR Port: 5432 Memória: 21GB Operációs rendszer: Red Hat Enterprise Linux 6.4 Használt adatbázis: ESZR éles: eszr ESZR teszt: eszr-teszt 9. Java környezet A gépre több java verziót is fel lehet másolni a usr/ java könyvtárba, azoknak a szoftvereknek amihez java környezet kell be kell állítani melyik java verziót használjunk, ezt lehet alkalmazásonként és lehet egységesen is. Mi ezzel alternatives install paranccsal állítjuk be az operációs rendszernek h épp melyik verziójú java Sdk használja. Az alternatives parancs egy linuxos parancs, amivel beállíthatjuk a java alapértelmezett verzióját - másoljuk át a jdk1.6.0_41.tar file a usr/java könyvtár alá - tömöritsük ki a következőképpen: tar xf a jdk1.6.0_41.tar - java környezet beállítása: alternatives install /usr/bin/java java /usr/java/ jdk1.6.0_41/bin/java 100 - --config paranccsal megmondhatjuk, melyik java verziót szeretnénk kiválasztani rendszer által adott listában. Itt be kell írni melyik java verziót, szeretnénk használni. alternatives --config java Kijelölés Parancs ----------------------------------------------- 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java * 2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 3 /usr/java/jdk1.6.0_41/jre/bin/java + 4 /usr/java/jdk1.6.0_41/bin/java Az Enter lenyomásával megőrizhető a kijelölés [+] -- vagy adjon meg egy kijelölési számot: 12 / 26
10. Térkép szerver telepítése másoljuk át a geoserver.tar file-t az /usr/share könyvtárba tömörítsük ki a tar fájlt a következő paranccsal: tar xf geoserver.tar hozzunk létre egy térkép szerver felhasználót, ami tulajdonosa lesz a térképszervernek. adduser geoserver a geoserser könyvtárnak a geoserver user legyen a tulajdonosa chown geoserver:geoserver -fr geoserver /usr/share/geoserver másoljuk be a geoserver fájlt az etc/init.d könyvtárba adjunk neki futtatási jogot chmod +x /etc/init.d/geoserver hozzuk létre az uj geoserver szervizt chkconfig --add geoserver Geoserver szerviz automatikus indulásának beállítása chkconfig geoserver on ellenőrizzük le hogy benne van-e az automatikusan elinduló szervizek listájában chkconfig list grep geoserver 10.1 Térképszerver service-ként indítása Térkép szerver szerviz indítása service geoserver start service geoserver-teszt start Térkép szerver szerviz leállítása service geoserver stop service geoserver-teszt stop Térkép szerver szerviz státuszának lekérése service geoserver status service geoserver-teszt status 13 / 26
10.2 Térkép szerver konfigurálása A térképszerver elérhető a következő URL címen: ÉLES:http://<host>:6061/geoserver/web TESZT:http://<host>:6161/geoserver/web Store 1. ábra beállítása (layerek elérési útvonala): mivel a térképet adatbázisban tároljuk, így az elérési úthoz értelemszerűen az adatbázis elérhetőségét kell beállítani. Rétegek 2. ábra: a rétegek listája a Layers menüpontban található, itt konfigurálható a vetületük, hozzárendelhető a stílusuk. 3. ábra Réteg tulajdonságai Stílusok 4. ábra: A Style menüpontban találhatóak a stílusok. A szerver SLD file-ként tárolja, melyről bővebb leírás, példa az alábbi linken érhető el: 5. ábra Stilus http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/ Publikálás 6. ábra: a Térkép szerveren konfigurált rétegek az ESZR-ben a Karbantartás-Térképek karbantartása-réteg adminisztráció menüpontban publikálhatóak (). Itt az URL megadásával (geoserver elérhetősége), illetve a térképszerveren nyilvántartott névvel lehet egy adott réteget megjeleníteni. 14 / 26
11. Alkalmazás szerver telepítése másoljuk át a jboss-as-7.1.1-final.tar file-t az /usr/share könyvtárba tömörítsük ki a tar fájlt a következő paranccsal: tar xf jboss-as-7.1.1-final.tar hozzunk létre egy felhasználót, ami tulajdonosa lesz az alkalmazás szervernek. adduser jbossuser alkalmazás szerverkönyvtárnak a geoserver user legyen a tulajdonosa chown -fr jboss:jboss /usr/share/jboss-as-7.1.1.final/ létre kell hozni egy könyvtárat: mkdir /etc/jboss-as késziteni kell egy linket: /bin/ln -s -T /usr/share/jboss-as-7.1.1.final /usr/share/jboss-as késziteni kell egy linket az teszt node-nak: /bin/ln -s -T /usr/share/jboss-as-7.1.1.final/bin/init.d/jboss-as-standalone-teszt.sh /etc/init.d/jboss-teszt késziteni kell egy linket az éles node-nak: /bin/ln -s -T /usr/share/jboss-as-7.1.1.final/bin/init.d/jboss-as-standalone-eles.sh /etc/init.d/jboss-eles késziteni kell egy linket a jboss-asnek /bin/ln -s -T /usr/share/jboss-as-7.1.1.final/bin/init.d/jboss-as.conf /etc/jboss-as/jboss-as.conf hozzuk létre az új teszt alkalmazás szerver szervizt chkconfig --add jboss-teszt hozzuk létre az új éles alkalmazás szerver szervizt chkconfig --add jboss-eles teszt alkalmazás szerviz automatikus indulásának beállítása chkconfig jboss-teszt on éles alkalmazás szerviz automatikus indulásának beállítása chkconfig jboss-eles on ellenőrizzük le hogy benne van-e az automatikusan elinduló szervizek listájában chkconfig list grep jboss-eles chkconfig list grep jboss-test 15 / 26
11.1 Szerviz indítása és leállítása service jboss-eles start service jboss-eles stop service jboss-eles status service jboss-teszt start service jboss-teszt stop service jboss-teszt status 11.2 Alkalmazás indítása, leállitása,státusz kérés Állítsuk le az alkalmazás szervert service jboss-<eles/teszt> stop töröljük ki a data, tmp könyvtárakat. JBOSS_HOME/data JBOSS_HOME/tmp JBOSS_HOME/deployments/ könyvtár alatt levő 2 file (eszr-ear.ear, eszr-ear.deployed) másoljuk be eszr-ear.ear fájlt a /usr/share/jboss-as-7.1.1.final/standalone- <node_name>/deployments könyvtárba indítsuk el az alkalmazás servert service jboss-<eles/teszt> start meg kell nézni hogy a JBOSS_HOME /standalone-<node_name>/deployments könyvtárban keletkezett-e eszr-ear.ear.deployed file ha igen akkor az alkalmazás feltelepült. nézzük meg a log fájlt is cd / a JBOSS_HOME/standalone-<node_name>/log tail -f server.log meg kell nézni hogy a log file utolso sora: deployed eszr-ear 11.3 Alkalmazás tesztelése Az alkalmazás elérhető a következő URL címen: ÉLES:http://<host>:8081/eszr TESZT:http://<host>:8181/eszr Ha valamilyen okból kifolyólag hiba lép fel az alkalmazás indításakor, akkor létrejön egy e eszr-ear.ear..failed nevű fájl a /usr/share/jboss-as-7.1.1.final/standalone- 16 / 26
<node_name>/deployments könyvtárban. A hiba kijavítása után, a JBoss újraindítása előtt a fájlt ki kell törölni. 12. Adatbázis telepítése PostgreSQL telepítése Szerveren kell, hogy legyen internetelérés. 1.) Repository telepítése: rpm -Uvh http://yum.postgresql.org/9.1/redhat/rhel-6.3-x86_64/pgdg-centos91-9.1-4.noarch.rpm 2.) PostgresSQL telepítése yum parancs után megadjuk a csomag nevét, és a megfelelő csomagot a yum letölti a megfelelő helyről a /etc/yum könyvtárba az install paraméter használatával telepíti a csomagot yum install postgresql91-server yum info < postgresql91-server > részletes információt ad a letelepített csomagról 3.) Adatbázis inicializálás /etc/init.d/postgresql-9.1 initdb PostGIS telepítése (PostgreSQL GIS bővítmény) a.) Repositoryk telepítése: rpm -ivh http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm rpm -ivh http://mirror.de.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm b.) Postgis telepítése: yum install postgis2_91 c.) Postgis bekapcsolása az adatbázison (ha nem dumppal kerül betöltésre) (SQL utasítás) CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; 17 / 26
Függelék 1. A térkép szerver inditó szript #!/bin/bash # # This shell script takes care of starting and stopping Geoserver deployed in Apache Tomcat # It also handles killing Geoserver in case it doesn t stop gracefully # It uses a PID file to determine the process ID so it should work with multiple Tomcat instances on one server # Just copy the script and change $INSTANCE variable to run multiple Geoserver instances # Tested on Ubuntu 12.04 # # chkconfig: - 80 20 # ### BEGIN INIT INFO # Provides: Geoserver # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Geoserver service # Short-Description: start and stop tomcat ### END INIT INFO # # Author dragan.podvezanec@gmail.com # # Based on work by Yoryos Valotasios. /etc/init.d/functions # Geoserver configuration section USER=geoserver export JAVA_HOME="/usr/java/jre1.6.0_41" GEOSERVER_HOME=/usr/share/geoserver export GEOSERVER_HOME=$GEOSERVER_HOME # Uncomment this if you need custom logging location #export GEOSERVER_LOG_LOCATION=$GEOSERVER_HOME/logs/geoserver.log # Java configuration section JAVA_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:+UseParallelOldGC" CATALINA_PID=/var/run/geoserver.pid export JAVA_HOME=$JAVA_HOME export JAVA_OPTS=$JAVA_OPTS export CATALINA_PID=$CATALINA_PID export PATH=$JAVA_HOME/bin:$PATH # End configuration section # Number of seconds to wait after nicely requesting stop 18 / 26
if [ -z "$STARTUP_WAIT" ]; then STARTUP_WAIT=30 fi if [ -z "$SHUTDOWN_WAIT" ]; then SHUTDOWN_WAIT=30 fi geoserver_pid(){ echo `ps aux grep $GEOSERVER_HOME/bin/startup.sh grep -v grep awk '{ print $2 }'` } # start start() { pid=$(geoserver_pid) if [ -n "$pid" ] then echo "Geoserver is already running (pid: $pid)" else echo "Starting Geoserver" touch $CATALINA_PID chown $USER $CATALINA_PID GEOSERVER_OUT=/usr/share/geoserver/geoserver.out nohup /bin/su -p -s /bin/sh $USER $GEOSERVER_HOME/bin/startup.sh 2>&1 > $GEOSERVER_OUT & echo "Started Geoserver with next variables:" echo "GEOSERVER_HOME=$GEOSERVER_HOME" count=0 launched=false until [ $count -gt $STARTUP_WAIT ] do netstat -apn grep 6061 > /dev/null if [ $? -eq 0 ] ; then launched=true break fi sleep 1 let count=$count+1; done echo "launched=$launched" if [ "$launched" == "true" ] then success echo -n "Geoserver is running." else failure echo -n "Geoserver is not running. please, look at the log file!" fi fi return 0 } echo stop() { pid=$(geoserver_pid) if [ -n "$pid" ] then /bin/su -p -s /bin/sh $USER $GEOSERVER_HOME/bin/shutdown.sh echo -n "Stopping Geoserver: $pid" let kwait=$shutdown_wait count=0; 19 / 26
until [ `ps --pid $pid 2> /dev/null grep -c $pid 2> /dev/null` -eq '0' ] [ $count -gt $kwait ] do sleep 1 let count=$count+1; done process" if [ $count -gt $kwait ]; then echo "process is still running after $SHUTDOWN_WAIT seconds, killing kill $pid sleep 3 # if it s still running use kill -9 if [ `ps -p $pid grep -c $pid` -gt '0' ]; then echo "process is still running, using kill -9" kill -9 $pid sleep 3 fi fi } if [ `ps -p $pid grep -c $pid` -gt '0' ]; then echo "process is still running, I give up" else # success, delete PID file rm $CATALINA_PID fi else echo "Geoserver is not running" fi return 0 case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) pid=$(geoserver_pid) if [ -n "$pid" ] then echo "Geoserver $INSTANCE is running with pid: $pid" else echo "Geoserver $INSTANCE is not running" fi ;; esac exit 0 20 / 26
Ábrajegyzék 1. ábra 21 / 26
2. ábra 22 / 26
3. ábra 23 / 26
4. ábra 24 / 26
5. ábra 25 / 26
6. ábra 26 / 26