Erinevus lehekülje "Liferay kasutamine GlassFish keskkonnas Debian Lennyga" redaktsioonide vahel
(→ajp protokolli toe lisamine) |
(→Sissejuhatus) |
||
4. rida: | 4. rida: | ||
* GlassFish Application Server - Sun poolt toetatud vaba tarkvara projekt, https://glassfish.dev.java.net/ | * GlassFish Application Server - Sun poolt toetatud vaba tarkvara projekt, https://glassfish.dev.java.net/ | ||
− | * Sun GlassFish Enterprise Server - vaba tarkvara projektil põhinev Suni toode, http://www.sun.com/software/products/glassfish_portfolio/ | + | * Sun GlassFish Enterprise Server (SGES) - vaba tarkvara projektil põhinev Suni toode, http://www.sun.com/software/products/glassfish_portfolio/ |
* Glassfish+Liferay bundled - seda varianti kasutatakse käesoleval juhul, täpsemini Liferay + GlassFish v3 Prelude, http://www.liferay.com/web/guest/downloads/portal | * Glassfish+Liferay bundled - seda varianti kasutatakse käesoleval juhul, täpsemini Liferay + GlassFish v3 Prelude, http://www.liferay.com/web/guest/downloads/portal | ||
11. rida: | 11. rida: | ||
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. | 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 | + | 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=== | ===Ettevalmistused=== |
Redaktsioon: 24. september 2009, kell 21:27
Sisukord
Sissejuhatus
Glassfish on Suni poolt toetatud javal põhinev rakendusplatvorm (ingl. k. application platform), millest levitatakse erinevaid versioone, muu hulgas
- GlassFish Application Server - Sun poolt toetatud vaba tarkvara projekt, https://glassfish.dev.java.net/
- Sun GlassFish Enterprise Server (SGES) - vaba tarkvara projektil põhinev Suni toode, http://www.sun.com/software/products/glassfish_portfolio/
- Glassfish+Liferay bundled - seda varianti kasutatakse käesoleval juhul, täpsemini Liferay + GlassFish v3 Prelude, http://www.liferay.com/web/guest/downloads/portal
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, 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
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
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
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>
- töötav - Fail:Server-http.log
- mitte-töötav - Fail:Server-ajp.log
Liferay portaalitarkvara kasutamine
TODO