Oracle GlassFish Serveri kasutamine Debian Lennyga
Sisukord
Sissejuhatus
Glassfish on Oracle poolt toetatud Javal põhinev rakendusplatvorm (ingl. k. application platform), millest levitatakse erinevaid versioone, muu hulgas
- GlassFish Server Open Source Edition - Oracle poolt toetatud vaba tarkvara projekt, https://glassfish.dev.java.net/
- Oracle GlassFish Server (OGS) - vaba tarkvara projektil põhinev Oracle toode, http://www.oracle.com/us/products/middleware/application-server/oracle-glassfish-server/index.html
- Liferay Portal 6 CE GA3 Bundled with Glassfish (sisaldab OpenSource GlassFish tarkvara) - http://www.liferay.com/downloads/liferay-portal/overview
Käesolevas tekstis kirjeldatakse OGS kasutamist. Lähemalt saab erinevate versioonide ja nende kasutustingimustega tutvuda Oracle kodulehel.
Tarkvara kopeerimine
2010 aasta suvel eristatakse kahte varianti Glassfish v. 3.0.1 tarkvarast
- community versioon - glassfish-3.0.1-unix.zip, glassfish-3.0.1-unix.sh (graafiline installer)
- enterprise versioon - ogs-3.0.1-unix.zip, ogs-3.0.1-unix.sh (graafiline installer)
Asjakohane nö docs.sun.com formaadis dokumentatsioon asub aadressil http://docs.sun.com/app/docs/coll/1343.13.
Ettevalmistused
Glassfish kasutamiseks tuleb sooritada sellised ettevalmistused
- unixi kasutaja ja asukoht failisüsteemis
- JVM paigaldamine
Unixi kasutaja ja asukoht failisüsteemis
Glassfish kasutamiseks tuleb ettevalmistada
- kasutaja:grupp - glassfish:glassfish
- asukoht failisüsteemis - /usr/local/glassfish, seejuures arvestada /usr/local loabittide iseärasust, ja öelda
# chmod 0755 /usr/local/glassfish # chmod g-s /usr/local/glassfish
kusjuures glassfish kasutaja kodukataloogiks on /home/glassfish.
Kasutaja .bashrc faili lõppu lisada
export JAVA_HOME=/usr/local/java6 export PATH=/usr/local/java6/bin:$PATH
JVM
Kasutatakse veebikohast http://java.sun.com/ kopeeritud Sun Java SE SDK v. 6 (uuem kui 1.6.0.17) JVMi ja mis on paigaldatud nii nagu on kirjeldatud palas Operatsioonisüsteemi Debian GNU/Linux kasutamine#Sun Java kasutamine ja asub kataloogis
# ls -ld /usr/local/java6 -> jdk1.6.0_21
SGES tarkvara paigaldamine
SGES Glassfishi saab paigaldada kahest meediast
- ogs-3.0.1-unix.sh - graafiline installer
- ogs-3.0.1-unix.zip - zip arhiiv
Graafilise installeriga paigaldus
Ning täita järgmised dialoogid
- asukoht - /usr/local/glassfish
Sun GlassFish Enterprise Server v3 Install Update Tool Bootstrap Install GlassFish v3 Install Uninstallation Software Configure Update Tool Bootstrap Configure GlassFish v3
- valida update tool kasutamine
- valida nimekirjast sobiv JVM
- registreerida isandaga
.zip arhiivi paigaldus
Arhiivi lahtipakkimiseks sobib öelda
$ cd /tmp && unzip /tmp/ogs-3.0.1-unix.zip $ cd ? $ mv .org.opensolaris,pkg * /usr/local/glassfish
Glassfishi haldamine
GlassFish haldamiseks on kaks võimalust
- veebipõhine nn halduskonsool
- asadmin utiliit
Veebipõhise halduskonsooli kasutamine
Haldusliides asub pordil 4848, vaikimisi on nn anonymous kasutajal privilegeeritud ligipääs (või oli see kasutaja admin, parool tühi)
Tõenäoliselt on üks esimesi tegevusi lisada admin kasutaja ja eemaldada anonymous kasutajalt haldamise privileegid
Configuration -> Security -> Realms -> admin-realm -> Manage Users
Märkus: 2009 sügisel võib ehk olla parem mitte administraatorile parooli seada, sest haldusutiliit ei taha hästi autenditud kasutaja sessiooni hoida.
asadmin utiliidi kasutamine
Märkus: Kui tõsiselt hakata tegelema mitmete domeenide ja listeneridega, siis 2009 aasta sügisel käitub GlassFish seejärel natuke ettearvamatult.
- Vaikedomeeni domain1 ja autentimata administraatoriga kasutamiseks piisab
$ sh bin/asadmin start-domain $ sh bin/asadmin stop-domain
- Domeeni tekitamiseks sobib öelda
$ sh bin/asadmin create-domain --adminport 4849 domain2 Enter admin user name[Enter to accept default]>admin Enter admin password>paroolparool Enter admin password again>paroolparool Using port 4849 for Admin. Default port 8080 for HTTP Instance is in use. Using 44720 Using default port 7676 for JMS. Using default port 3700 for IIOP. Using default port 8181 for HTTP_SSL. Using default port 3820 for IIOP_SSL. Using default port 3920 for IIOP_MUTUALAUTH. Default port 8686 for JMX_ADMIN is in use. Using 43057 Distinguished Name of the self-signed X.509 Server Certificate is: [CN=rpar-lenny.smartlink,OU=GlassFish,O=Sun Microsystems,L=Santa Clara,ST=California,C=US] Domain domain2 created. Command create-domain executed successfully.
- Domeenide nimekirja küsimine
$ sh bin/asadmin list-domains Name: domain2 Status: Not Running Name: domain1 Status: Running Command list-domains executed successfully.
- Domeeni kävitamine
$ sh bin/asadmin start-domain domain2 Name of the domain started: [domain2] and its location: [/opt/glassfish/domains/domain2]. Admin port for the domain: [4849].
- Domeeni seiskamine
Esmalt logida sisse
$ sh bin/asadmin login --port 4849 --host localhost Enter admin user name[Enter to accept default]>admin Enter admin password>parool GlassFish v3 Prelude (build b28c) Login information relevant to admin user name [admin] for host [localhost] and admin port [4849] stored at [/opt/glassfish/.asadminpass] successfully. Make sure that this file remains protected. Information stored in this file will be used by asadmin commands to manage associated domain. Command login executed successfully.
ja öelda
$ sh bin/asadmin stop-domain domain2 --port 4849
- http listeneri tekitamine
$ sh bin/asadmin create-http-listener --listeneraddress 0.0.0.0 --listenerport 8009 \ --defaultvs server --acceptorthreads 100 --securityenabled=false --enabled=false testlistener Command create-http-listener executed successfully.
- http listeneri eemaldamine
$ sh bin/asadmin delete-http-listener testlisterner Command delete-http-listener executed successfully.
- http listeneride nimekirja küsimine
$ sh bin/asadmin list-http-listeners testlistener admin-listener http-listener-2 http-listener-1
domains/domain1/config/domain.xml seadistusfaili redigeerimine
- mälu kontrollimine, nt
<jvm-options>-Xmx1024m</jvm-options> <jvm-options>-XX:MaxPermSize=1536m</jvm-options>
GlassFish uuenduste rakendamine
GlassFish rakendusserver pakub sisemiselt mitmeid võimalusi tarkvara uuendamiseks.
- Valida haldusliidesest
Updates -> ...
- Programm update-tool, mis annab 64bit Debian Lenny keskkonnas sellise teate
$ bin/updatetool WX import error. Verify the WX widgets are in the PYTHONPATH. The following can be reported to Update Tool 2.3.2 Development Team <dev@updatecenter.dev.java.net>. Traceback (innermost last): File "/usr/local/glassfish/updatetool/vendor-packages/updatetool/common/boot.py", line 278, in init_app_locale import wx File "wx/__init__.py", line 45, in ? File "wx/_core.py", line 4, in ? ImportError: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
- Programm bin/pkg, mis annab 64bit Debian Lenny keskkonnas sellise teate
$ cd /usr/local/glassfish $ bin/pkg list -u Traceback (most recent call last): File "/usr/local/glassfish/pkg/bin/client.py", line 62, in ? import pkg.client.api as api File "/usr/local/glassfish/pkg/vendor-packages/pkg/client/api.py", line 40, in ? import pkg.client.image as image File "/usr/local/glassfish/pkg/vendor-packages/pkg/client/image.py", line 48, in ? import pkg.client.transport.transport as transport File "/usr/local/glassfish/pkg/vendor-packages/pkg/client/transport/transport.py", line 40, in ? import pkg.client.transport.engine as engine File "/usr/local/glassfish/pkg/vendor-packages/pkg/client/transport/engine.py", line 31, in ? import pycurl ImportError: libidn.so.11: cannot open shared object file: No such file or directory
- Programm update-tool, mis annab 32bit Debian Lenny keskkonnas sellise teate
glassfish@gf-686:/usr/local/glassfish/bin$ ./pkg image-update DOWNLOAD PKGS FILES XFER (MB) Completed 1/1 1/1 0.0/0.0 PHASE ACTIONS Install Phase 1/1 Update Phase 4/4
Edukast uuendusest annab tunnistust, et brauseri tiitelribas muutub
build b28c -> build b28f
Uuendused kopeeritakse kataloogi ./.org.opensolaris,pkg/download ja rakendatakse muu hulgas kataloogi ./glassfish/modules.
Uuenduste kehtestamiseks tuleb GlassFishile teha restart.
ajp protokolli toe lisamine
Vaikimisi olemasoleva 8080 pordil kuulava http listeneri 'http-listener-1' ümbertegemine ajp listeneriks toimub öeldes (esmalt tuleb nö sisse logida 'sh bin/asadmin login ...' käsuga)
$ sh bin/asadmin set --port 4849 --host localhost \ server-config.http-service.http-listener.http-listener-1.property.jkEnabled=true Command set executed successfully.
ning seejärel muudatuse kehtestamiseks teha domeenile stop ja start.
Kui tekivad takistused, saab tagasipöördumiseks kasutada kõnealuse domeeni seadistuste .bak faili
$ cp domains/domain1/config/domain.xml.bak domains/domain1/config/domain.xml
Päringute logimine
GlassFishile esitatud päringute logimiseks tuleb
Configuration -> HTTP Service -> Access Log
ning tulemusena logi salvestatakse nt kataloogi
/usr/local/glassfish/glassfish/domains/domain1/logs/access
vaikumisi kujul
"192.168.96.138" "NULL-AUTH-USER" "03/Oct/2009:15:18:55 +0200" "GET /web/guest HTTP/1.0" 200 3949
Käivitusskript
Selleks, et GlassFish käivituks süsteemi alglaadimise käigus sobib kasutada nt sellist käivitusskripti /etc/init.d/java-glassfish
# cat /etc/init.d/java-glassfish #! /bin/sh case "$1" in start) echo "Starting GlassFish server" su - glassfish -c 'cd /usr/local/glassfish/glassfish && sh bin/asadmin start-domain' ;; stop) echo "Stopping GlassFish server" su - glassfish -c 'cd /usr/local/glassfish/glassfish && sh bin/asadmin stop-domain' ;; *) echo "Usage: /etc/init.d/java-glassfish {start|stop}" exit 1 esac exit 0
Kusjuures on oluline, et /home/glassfish/.profile failis sisalduvad read, nt lõpus
export JAVA_HOME=/usr/local/java6 export PATH=/usr/local/java6/bin:$PATH