Liferay kasutamine GlassFish keskkonnas Debian Lennyga

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. september 2009, kell 23:22 kasutajalt Imre (arutelu | kaastöö) (ajp protokolli toe lisamine)

Sissejuhatus

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

Lähemalt saab erinevate versioonide ja nende kasutustingimustega tutvuda Sun kodulehel.

Liferay http://www.liferay.com/ on peamiselt portaalide valmistamisele orienteeritud java rakendus, mis sobib kasutamiseks erinevatel rakendusserveritel, nt Tomcat, Resin, Jetty jt ning vastu erinevaid andmebaase, nt MySQL ja Oracle.

Käesolevas palas käsitletakse Liferay kasutamist juhtumil kui java rakendusserveriks on GlassFish v 3 Prelude ning andmeid hoitakse PostgreSQL andmebaasis.

Ettevalmistused

Abstraktsel tasemel võib süsteemi skeemi kujutada selliselt

                    . ---  Liferay
                . /           |
              '            GlassFish
              |               |
       PostgreSQL            JVM
              |               |
           Debian GNU/Linux Lenny

kus kasutatud tarkvara versioonid on

  • operatsioonisüsteem - Debian GNU/Linux Lenny, 64 bit
  • andmebaas - PostgreSQL 8.3.7
  • Java - JVM SE SDK v. 6
  • GlassFish, Liferay - kasutatud on Liferay veebikohas jagatavat komplekti (ingl. k. bundle), v. liferay-portal-glassfish-5.2.3.zip

JVM

Kasutatakse veebikohast http://java.sun.com/ kopeeritud Sun Java SE SDK v. 6 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_13

PostgreSQL

Liferay rakenduse jaoks vajaliku andmebaasi sisu saab moodustada Liferay veebikohas jagatava

 Download -> Additional Files -> Application Server Plugins -> Database Scripts

nt liferay-portal-sql-5.2.3.zip, abil. Konkreetselt sobib nt sellest .zip arhiivist kasutada skripti

 liferay-portal-sql-5.2.3/create/create-postgresql.sql

Kui Liferay rakendusele peab andmebaasis vastama üks olemasoleva baasi skeem, nt portaal.liferay, siis tuleb sooritada selline järgnevus

  • eemaldada skriptist create-postgresql.sql esimesed read
 drop database lportal;
 create database lportal encoding = 'UNICODE';
 \c lportal;
  • tekitada baasi kasutaja liferay
 CREATE ROLE liferay LOGIN
   ENCRYPTED PASSWORD 'md5ea4e1323460699b3f70e734f69fhrud'
   NOSUPERUSER NOINHERIT CREATEDB NOCREATEROLE;
 ALTER ROLE liferay SET search_path=liferay;
  • tekitada skeem liferay
 CREATE SCHEMA liferay
   AUTHORIZATION liferay;
  • käivitada skript kasutajana liferay
 $ psql -h localhost -U liferay portaal < create-postgresql.sql

GlassFish+Liferay tarkvara paigaldamine

Kopeerida sobiv komplekt Glassfish+Liferay tarkvara Liferay http://www.liferay.com/ veebikohast

 Download -> Liferay Portal -> Latest Liferay Portal Bundles -> Bundled with Glassfish 3

nt failinimi liferay-portal-glassfish-5.2.3.zip

Kasutamiseks on sobiv moodustada süsteemi vastav kasutaja:grupp, nt glassfish:glassfish

 # groupadd glassfish
 # useradd -g glassfish -m -d /home/glassfish glassfish

moodustada kataloog rakendusserveri jaoks, nt /usr/local/glassfish

 # mkdir /usr/local/glassfish
 # chown glassfish:glassfish /usr/local/glassfish

ning selle kasutaja all tarkvara lahti pakkida

 $ cd /tmp
 $ unzip liferay-portal-glassfish-5.2.3.zip
 $ mv liferay-portal-5.2.3/* /usr/local/glassfish

Serveri käivitamine

Käivitamiseks tuleb öelda

 $ export JAVA_HOME=/usr/local/java6
 $ export PATH=/usr/local/java6/bin:$PATH
 $ sh asadmin start-domain

ja seiskamiseks

 $ sh asadmin stop-domain -u admin --passwordfile /home/glassfish/asadmin.password 
 Waiting for the domain to stop ..................................................
 Command stop-domain executed successfully.

Fail /home/glassfish/asadmin.password on 0600 loabittidega ning seal sisaldub

 $ cat /home/glassfish/asadmin.password
 AS_ADMIN_PASSWORD=parool

GlassFish haldusliides

Haldusliides asub pordil 4848, vaikimisi on nn anonymous kasutajal privilegeeritud ligipääs

Glassfish-1.gif

Tõenäoliselt on üks esimesi tegevusi lisada admin kasutaja ja eemaldada anonymous kasutajalt haldamise privileegid

 Configuration -> Security -> Realms -> admin-realm -> Manage Users

Liferay veebiliides

Vaikimisi asub Liferay veebiliides pordil 8080, samas liideses on nii teenus kui ka portaali haldus

Glassfish-2.gif

Vaikimisi on kasutaja Brunol administraatori privileegid.

Liferay ühendamine PostgreSQL andmebaasiga

Kui ettevalmistused on tehtud ning GlassFish+Liferay üldiselt töötavad, siis on sobiv aeg ühendada Liferay käima Derby asemel vastu PostgreSQL andmebaasi.

PostgreSQL baasile vastava pooli moodustamine GlassFishis

Esmalt tuleb rakendusserveris kirjeldada pool, avades GlassFish haldusliideses

 Resources -> JDBC -> Connection Pools -> New

ning näidata ära

 Name: LiferayPool
 Resource Type: javax.sql.ConnectionPoolDataSource
 Database Vendor: PostgreSQL

valida Next ning kirjeldada ülejäänud pooli omadused sh baasi ligipääs ning ühenduse draiveri versioon

 DatabaseName=liferay
 Password=parool
 PortNumber=5432
 ServerName=localhost
 User=liferay
 JDBC30DataSource=true

Ning seejärel seostada pool JNDI nimega valides

Resources -> JDBC -> JDBC Resources

ning näidata

 JNDI Name: jdbc/LiferayPool
 Pool Name: LiferayPool
 Status: Enabled

Liferay rakenduse lülitamine kasutama PostgeSQL andmebaasi

Liferay rakenduse kasutamiseks koos PostgreSQL andmebaasiga on iseenesest kaks võimalust

  • otse PG JDBC draiveri abil
  • GlassFishi pooli abil

Otse kasutamise tuleb moodustada fail portal-ext.properties sisuga

 $ cat domains/domain1/applications/liferay-portal/WEB-INF/classes/portal-ext.properties
 jdbc.default.driverClassName=org.postgresql.Driver
 jdbc.default.url=jdbc:postgresql://localhost:5432/liferay
 jdbc.default.username=liferay
 jdbc.default.password=parool

Pooli kaudu kasutamiseks peab see fail sisaldama

 $ cat domains/domain1/applications/liferay-portal/WEB-INF/classes/portal-ext.properties
 jdbc.default.jndi.name=jdbc/LiferayPool

Selleks, et veenduda, et rakendus tõepoolest kasutab SQL baasi sobib nt kuulata rakenduse kasutamisel pealt liiklust 5432/tcp pordil.

ajp protokolli toe lisamine

 $ sh asadmin create-http-listener -u admin --passwordfile /home/mart/asadmin.password --listenerport 8009 \
   --listeneraddress 0.0.0.0 --defaultvs server my-connector                                                    
 
 Command create-http-listener executed successfully

Aga ainuke takistus on, et ta nii ei teenida veel päringuid, uuringud jätkuvad!

Liferay portaalitarkvara kasutamine

TODO

Kasulikud lisamaterjalid