Erinevus lehekülje "Liferay kasutamine GlassFish keskkonnas Debian Lennyga" redaktsioonide vahel

Allikas: Kuutõrvaja
(Liferay paigaldamine olemasolevasse Glassfish v3 Prelude rakendusserverisse)
(Liferay portaalitarkvara kasutamine)
294. rida: 294. rida:
 
* töötav - [[Pilt:Server-http.log]]
 
* töötav - [[Pilt:Server-http.log]]
 
* mitte-töötav - [[Pilt:Server-ajp.log]]
 
* mitte-töötav - [[Pilt:Server-ajp.log]]
 +
 +
===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
 +
  
 
===Liferay portaalitarkvara kasutamine===
 
===Liferay portaalitarkvara kasutamine===

Redaktsioon: 3. oktoober 2009, kell 16:20

Sissejuhatus

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, kusjuures süsteemi paigalduseks kirjeldatakse kahte viisi

  • GlassFish v3 Prelude + Liferay bundle - hea mugav paigaldada, aga 2009 aasta sügisel ei tööta ajp abil Apache järele ühendamine; lisaks ei saa seal rakendada GlassFishi nö sisemiste vahenditega uuendusi
  • Vanilla Sun GlassFish (SGES) + Liferay - 2009 aasta sügisel hea kasutada, ajp töötab, saab GlassFishile tema sisemiste vahenditega uuendusi rakendada

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

Glassfish v3 Prelude

Eeldab, et Glassfish v3 Prelude keskkond on ettevalmistatud nii nagu on kirjeldatud palas Glassfish v3 Prelude kasutamine Debian Lennyga.

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

Liferay paigaldamine

Glassfish v3 Preludega on kaks Liferay kasutamise võimalust

  • kasutada liferay.com poolt ettevalmistatud komplekti (ingl. k bundle)
  • kasutada nö vanilla SGES GlassFish v3 Prelude ning paigaldada sellele Liferay rakendus, mida jagatakse .war arhiivi kujul

Liferay paigaldamine olemasolevasse Glassfish v3 Prelude rakendusserverisse

Liferay kasutamine eraldi ettevalmistatud SGES GlassFishi rakendusserveris on 2009 sügisel soovitatav viis kasutuseks.

Vajalikud materjalid saab kopeerida aadressilt www.liferay.com

  • liferay war arhiiv - liferay-portal-5.2.3.war
 Download -> Liferay Portal -> Additional Files -> WARs -> Liferay Portal 5.2.3 WAR
  • portal dependencies - liferay-portal-dependencies-5.2.3.zip
 Download -> Liferay Portal -> Additional Files -> Additional Files
  • dokumentatsioon - liferay-administration-guide.pdf
 Documentation -> Liferay 5.2 -> Portal Administrator's Guide

Paigaldamist kirjeldab Portal Administrator's Guide'is lk 31, 'GlassFish 3.x', tegevused koosnevad

  • GlassFish domeeni seadistamine

Nt domain1 puhul seadistusfailis domains/domain1/config/domain.xml peab Liferay seisukohalt olema seadistatud

 <jvm-options>-Xmx1024m</jvm-options>
 <jvm-options>-XX:MaxPermSize=256m</jvm-options>
  • Kustutada domeeni docroot kataloogist index.html fail
 $ rm domains/domain1/docroot/index.html
  • Pakkida Additional failid GlassFishi kataloogi lib
 $ cd /tmp
 $ unzip liferay-portal-dependencies-5.2.3.zip
 $ mv liferay-portal-dependencies-5.2.3/* /usr/local/glassfish/glassfish/lib
  • Lisada kataloogi lib PostgreSQLi Java JDBC teek, kopeerida sobiv nt aadressilt
 $ cd /usr/local/glassfish/glassfish/lib
 $ wget http://jdbc.postgresql.org/download/postgresql-8.3-605.jdbc4.jar
  • Lisada .war arhiivi WEB-INF/classes/portal-ext.properties fail näitama PostgreSQL andmebaasile
 $ mkdir /tmp/liferay-war
 $ cd /tmp/liferay-war
 $ cat WEB-INF/classes/portal-ext.properties
 jdbc.default.jndi.name=jdbc/LiferayPool
 $ rm /tmp/liferay-portal-5.2.3.war
 $ zip -r /tmp/liferay-portal-5.2.3.war .

Seejärel käivitada GlassFish.

  • Rakenduse war arhiivi paigaldamine nt halduskonsooli kaudu
 Applications -> Web Applications -> Deploy

Tehes sellised valikud

Glassfish-6.gif

Rakendusele vastavad failid kopeeritakse kataloogi

 domains/domain1/applications/liferay-portal-5.2.3

Deploymise lõpus öeldakse logisse domain/domain1/logs/server.log

 [#|2009-09-29T11:21:38.147+0300|INFO|sun-glassfish|null|_ThreadID=17;_ThreadName=Thread-3;| Loading file:\
   /usr/local/glassfish/glassfish/domains/domain1/applications/liferay-portal-5.2.3/WEB-INF/classes/portal-ext.properties|#]
 
 [#|2009-09-29T11:21:52.676+0300|INFO|sun-glassfish|null|_ThreadID=17;_ThreadName=Thread-3;|11:21:52,670 INFO \
   [DialectDetector:64] Determining dialect for PostgreSQL 8
 
 [#|2009-09-29T11:21:52.811+0300|INFO|sun-glassfish|null|_ThreadID=17;_ThreadName=Thread-3;|11:21:52,809 INFO \
   [DialectDetector:97] Using dialect org.hibernate.dialect.PostgreSQLDialect
 
 ...
 [#|2009-09-28T09:24:01.533+0300|INFO|sun-glassfish|javax.enterprise.system.core| \
   _ThreadID=18;_ThreadName=Thread-3;|Deployment of liferay-portal-5.2.3 done is 107609 ms|#]

GlassFish+Liferay bundle tarkvara paigaldamine

Sellisel moel kasutamine ei ole 2009 aasta sügisel soovitav, sest

  • ajp ühendus veebiserveriga ei tööta
  • puudub võimalus rakendada GlassFish sisemiste vahenditega uuendusi

Iseenesest on järgnevus selline, 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ä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

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

Vaikimisi olemasoleva 8080 pordil kuulava http listeneri 'http-listener-1' ümbertegemine ajp listeneriks toimub öeldes

 $ sh bin/asadmin set --port 4848 --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. Aga ainuke takistus on, et ta seejärel ei taha Glassfish enam üldse korralikult käivituda, uuringud jätkuvad!

Tagasipöördumiseks tundub, et aitab kasutada kõnealuse domeeni seadistuste .bak faili

 domains/domain1/config/domain.xml.bak

Konkreetselt lisab vaikimisi 8080/http pordile ajp võime selline muudatus

enne

 <http-listener port="8080" id="http-listener-1" address="0.0.0.0" \
   default-virtual-server="server" server-name=""/>

pärast set käsu ütlemist.

 <http-listener port="8080" id="http-listener-1" address="0.0.0.0" \
   default-virtual-server="server" server-name="">
     <property name="jkEnabled" value="true" />
 </http-listener>

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


Liferay portaalitarkvara kasutamine

TODO

Kasulikud lisamaterjalid