Oracle GlassFish Serveri kasutamine Debian Lennyga

Allikas: Kuutõrvaja

Sissejuhatus

Glassfish on Oracle poolt toetatud Javal põhinev rakendusplatvorm (ingl. k. application platform), millest levitatakse erinevaid versioone, muu hulgas

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

Glassfish-12.gif

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)

Glassfish-11.gif

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

Kasulikud lisamaterjalid