Sommario
Requisiti .......................................................................................................................................... 2
Installazione Dependencies ........................................................................................................ 2
Configurazione del Tomcat ........................................................................................................ 2
Configurazione del Context Path ........................................................................................... 3
Configurazione Host ................................................................................................................. 3
Configurazione Policy .............................................................................................................. 3
Configurazione Liferay ................................................................................................................. 3
Configurazione della lingua e Time zone .............................................................................. 4
Configurazione della connessione al database .................................................................. 4
Convigurazione delle mail ....................................................................................................... 4
Configurazione Log4J .............................................................................................................. 5
Configurazione lucene ............................................................................................................ 6
Configurazione jackrabbit ....................................................................................................... 6
Configurazione persistenza document library su database .............................................. 8
Configurazione OSGI ................................................................................................................ 8
Configurazione sharding ......................................................................................................... 8
Configurazione multi istanza ................................................................................................... 9
Altre Configurazioni ................................................................................................................ 10
Ottimizzazione prestazioni...................................................................................................... 11
Installazione e configurazione del Database......................................................................... 12
Configurazione dei componenti aggiuntivi ........................................................................... 12
Configurazione Image Magick e GhostScript .................................................................... 12
Configurazione Open Office ................................................................................................ 13
Configurazione Xlugger ......................................................................................................... 13
Procedura di installazione e
configurazione Liferay 6.2
Requisiti
Prima di cominciare l’installazione e necessario avere a disposizione:
-
Tomcat 7.x;
scaricare il file war e le dipendenza dal seguente link https://www.liferay.com/it/downloads/liferayportal/additional-files:
-
Liferay Portal WAR for 6.2 GA1;
Dependencies for 6.2 GA1;
Driver JDBC per la connessione a tutte le tipologie di database al quale liferay si deve
connettere;
Liferay Portal SQL Scripts for 6.2 GA1.
Installazione Dependencies
Per installare i driver di connessione al database e le librerie “Dependencies for 6.2 GA1”:
1)
2)
3)
4)
Creare la cartella [TOMCAT_HOME]/lib/ext;
Copiare le librerie “Dependencies for 6.2 GA1” all’interno della cartella creata;
Scaricare e copiare in lib/ext anche le seguenti librerie:
a. jta.jar, http://www.oracle.com/technetwork/java/javaee/jta/index.html
b. mail.jar, http://www.oracle.com/technetwork/java/index-138643.html
c. persistence.jar, http://www.oracle.com/technetwork/java/javaee/tech/persistence-jsp140049.html
d. activation.jar, from http://www.oracle.com/technetwork/java/jaf11-139815.html
e. ccpp.jar, http://mvnrepository.com/artifact/javax.ccpp/ccpp/1.0
f. jms.jar, //www.oracle.com/technetwork/java/docs-136352.html
g. jutf7.jar, http://sourceforge.net/projects/jutf7/
h. junit.jar, http://sourceforge.net/projects/junit/
Le librerie di connessione al database devono essere copiate in [TOMCAT_HOME]/lib.
N.B per evitare problemi di compatibilità è consigliato prendere le librerie direttamente dai
sorgenti di liberay all’interno della cartella “lib/development”
Configurazione del Tomcat
Per la corretta configurazione dell’ambiente aggiungere le seguenti configurazioni al CATALINA_OPTS
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false Dfile.encoding=UTF8 -Duser.timezone=CET –Xmx2048m -XX:MaxPermSize=512m"
N.B. per aggiungere queste configurazioni si consiglia la creazione di un file setenv.sh o setenv.bat
all’interno della cartella [TOMCAT_HOME]/bin con il seguente contenuto
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF8 Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false Duser.timezone=CET –Xmx2048m -XX:MaxPermSize=512m"
Modificare la proprietà common.loader del file [TOMCAT_HOME]/conf/catalina.properties aggiungendo la
directory lib/ext nel seguente modo:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${c
atalina.home}/lib/*.jar,${catalina.home}/lib/ext,${catalina.home}/lib/ext/*.jar
Per evitare problemi di encoding modificare il file [TOMCAT_HOME]/conf/server.xml aggiungendo
l’attributo URIEncoding="UTF-8" dove è presente l’attributo redirectPort=8443 nella definizione del
connettore:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
Configurazione del Context Path
Creare il seguente file con nome LR01.xml all’interno della directory
[TOMAT_HOME]/conf/Catalina/localhost
<Context path="/lr01" crossContext="true">
</Context>
Configurazione Host
Con la configurazione descritta nel manuale è necessario aggiungere nel server.xml del tomcat la
seguente comunicazione, così da effettuare in automatico il deploy delle portlet:
<Host name="hostname" appBase="/apps/tix/webapps" unpackWARs="true" autoDeploy="true"
deployIgnore="lr01" />
Configurazione Policy
Modificare il contenuto del file catalina.policy con
grant {
permission java.security.AllPermission;
};
Configurazione Liferay
I file da modificare per la configurazione del protale sono:
-
/apps/tix/webapps/lr01/WEB-INF/classes/portal-ext.properties;
/apps/tix/webapps/lr01/WEB-INF/classes/system-ext.properties.
N.B. Creare I file se non sono presenti.
Scompattare il contenuto del file Liferay Portal WAR for 6.2 GA1 nella cartella delle webapps di
tomcat (/apps/tix/webapps) in una cartella denominata “lr01”.
Configurazione della lingua e Time zone
Nel file system-ext.properties aggiungere le seguenti configurazioni
user.country=IT
user.language=it
user.timezone=Europe/Paris
Nel file portal-ext.properties aggiungere le seguenti configurazioni
company.default.locale=it_IT
company.default.time.zone=Europe/Paris
locales.enabled= en_US,it_IT
Configurazione della connessione al database
Per utilizzare la connessione al database utilizzando i pool di connessione gestiti dal tomcat aggiungere la
seguente proprietà nel portal-ext.properties
jdbc.default.jndi.name=jdbc/LiferayPool
Successivamente creare i relativi datasource all’interno del tomcat.
Convigurazione delle mail
Nel file portal-ext.properties impostare manualmente I parametri per l’invio delle mail dal portale:
mail.session.mail.pop3.host=localhost
mail.session.mail.pop3.password=
mail.session.mail.pop3.port=110
mail.session.mail.pop3.user=
mail.session.mail.smtp.auth=false
mail.session.mail.smtp.host=localhost
mail.session.mail.smtp.password=
mail.session.mail.smtp.port=25
mail.session.mail.smtp.user=
mail.session.mail.store.protocol=pop3
mail.session.mail.transport.protocol=smtp
oppure impostare la risorsa JNDI per l’invio della mail:
mail.session.jndi.name=mail/MailSession
Per configurare i dati di default delle mail inviate modificare i seguenti parametri
admin.email.from.name=Joe Bloggs
[email protected]
Configurazione Log4J
Per modificare le configurazioni di log4j del portale è necessario copiare il file log4j.dtd all’interno della
directory /apps/tix/webapps/lr01/WEB-INF/classes/META-INF/. Il file è reperibile all’interno della libreria
portal-impl di liferay o nei sorgenti del portale nella cartella /portal-impl/src/META-IN.
Successivamente creare un file portal-log4j-ext.xml sempre all’interno della cartella
/apps/tix/webapps/lr01/WEB-INF/classes/META-INF/.
Di seguito un esempio di configurazione.
<?xml version="1.0"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="append" value="true"/>
<param name="file" value="/apps/log/lr01-liferay.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%t] %-5p [%c{1}%L]
%m%n"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="fileAppender"/>
</root>
<category name="org.hibernate">
<priority value="ERROR" />
</category>
</log4j:configuration>
Configurazione lucene
Aggiungere la seguente proprietà nel portal-ext.properties per configurare la directory di salvataggio degli
indici di lucene
lucene.dir=${liferay.home}/lucene
Configurazione jackrabbit
Per modificare il modo di memoizzare i file da liferay è necessario modificare la seguente configurazione
del portal-ext.properties
dl.store.impl=com.liferay.portlet.documentlibrary.store.JCRStore
per modificare la posizione dei dati memorizzati tramite jackrabbit modificare la seguente proprietà
jcr.jackrabbit.repository.root= ${liferay.home}/jackrabbit
Di default jackrabbit utilizza Derby per la memorizzazione dei documenti.
Creare il file ${liferay.home}/jackrabbit/repository.xml con il seguente contenuto
<?xml version="1.0"?>
<!DOCTYPE Repository
PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
"http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/jackrabbitDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jr_wsb_"/>
</FileSystem>
<Security appName="Jackrabbit">
<AccessManager
class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
<LoginModule
class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous" />
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="liferay"/>
<Workspace name="liferay">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/jackrabbitDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jr_wslf_"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/jackrabbitDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jr_wslp_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/jackrabbitDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jr_verf_"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/jackrabbitDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jr_verp_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
</Versioning>
</Repository>
È comunque possibile configurare il repository di jackrabbit come si desidera.
Configurazione persistenza document library su database
Per modificare il modo di memoizzare i file da liferay è necessario modificare la seguente configurazione
del portal-ext.properties
dl.store.impl=com.liferay.portlet.documentlibrary.store.DBStore
Configurazione OSGI
Per configurare la cartella di destinazione dei file per l’osgi framework modificare la seguente proprietà nel
file portal-ext.properties
module.framework.base.dir=${liferay.home}/osgi
Configurazione sharding
Per attivare lo sharding in liferay e necessario effettuare le seguenti operazioni:
1.
2.
Configurare tanti utenti/schema/database quanti sono gli shard iniziali previsti;
Aggiungere le seguenti configurazioni al file portal-ext.properties
spring.configs=\
META-INF/base-spring.xml,\
\
META-INF/hibernate-spring.xml,\
META-INF/infrastructure-spring.xml,\
META-INF/management-spring.xml,\
\
META-INF/util-spring.xml,\
\
META-INF/jpa-spring.xml,\
\
META-INF/executor-spring.xml,\
\
META-INF/audit-spring.xml,\
META-INF/cluster-spring.xml,\
META-INF/editor-spring.xml,\
META-INF/jcr-spring.xml,\
META-INF/ldap-spring.xml,\
META-INF/messaging-core-spring.xml,\
META-INF/messaging-misc-spring.xml,\
META-INF/mobile-device-spring.xml,\
META-INF/notifications-spring.xml,\
META-INF/poller-spring.xml,\
META-INF/rules-spring.xml,\
META-INF/scheduler-spring.xml,\
META-INF/scripting-spring.xml,\
META-INF/search-spring.xml,\
META-INF/workflow-spring.xml,\
\
META-INF/counter-spring.xml,\
META-INF/mail-spring.xml,\
META-INF/portal-spring.xml,\
META-INF/portlet-container-spring.xml,\
META-INF/staging-spring.xml,\
META-INF/virtual-layouts-spring.xml,\
\
#META-INF/dynamic-data-source-spring.xml,\
META-INF/shard-data-source-spring.xml,\
#META-INF/memcached-spring.xml,\
#META-INF/monitoring-spring.xml,\
\
classpath*:META-INF/ext-spring.xml
jdbc.one.jndi.name = jdbc/LiferayPoolShard1
jdbc.two.jndi.name =jdbc/LiferayPoolShard2
shard.selector=com.liferay.portal.dao.shard.ManualShardSelector
3.
Aggiungere i datasource al tomcat per l’accesso ai vari database shard
N.B. Se vogliamo configurare più shard o rimuovere uno shard è necessario copiare e modificare il file
shard-data-source-spring.xml nella directory /apps/tix/webapps/lr01/WEB-INF/classes/META-INF. Il file è
reperibile nei sorgenti di liferay o all’interno della libreria portal-impl.jar.
N.B. Se vogliamo modificare i nome “one” o “two” e necessario modificarli sia nel file xml che nel file di
properties
Configurazione multi istanza
Accedere al portale come amministratore e entrare nel Pannello di Controllo dal menu Amministrazione.
Accedere a Istanze di Portale nella sezione Configurazione e fare click sul pulsante Aggiungi.
Compilare il form e salvare al termine:






ID Web -> identificatore dell’istanza; di solito si utilizza il nome del dominio (es: test.it).
Host Virtuale -> dominio che sarà utilizzato per accedere all’istanza (es: www.test.it).
Dominio Mail -> dominio che sarà utilizzato per assegnare l’indirizzi email agli utenti dell’istanza (es:
test.it).
Nome Shard -> shard che sarà utilizzato dall’istanza (visibile solo se configurata la modalità di
sharding).
Utenti Max -> numero di utenti massimi per l’istanza (0 = non fissato).
Attivo -> attivazione o disattivazione dell’istanza.
Altre Configurazioni
Modificare il portal-ext.properties aggiungendo le seguenti configurazioni
virtual.hosts.default.site.name=
browser.launcher.url=
auto.deploy.deploy.dir=${liferay.home}/deploy
auto.deploy.tomcat.dest.dir=/apps/tix/webapps
resource.repositories.root=/apps/tix/data/lr01
company.default.name=Regione Toscana
company.default.web.id=regione.toscana.it
##per utilizzare lo screenname come login
company.security.auth.type=screenName
##per rimuovere la richiesta di modifica della password
company.security.send.password.reset.link=false
company.security.send.password=false
##Per utilizzare solo I login corretti del portale
company.settings.form.authentication=general,ldap
login.form.navigation.pre=anonymous,sign-in
##Rendere il cognomen obbligatorio per gli utenti
users.last.name.required=true
##Per rimuovere I termini di utilizzo del portale per il primo login di ogni utente
terms.of.use.required=false
##Per rimuovere le pagine pubbliche e private degli utenti
layout.user.private.layouts.enabled=false
layout.user.private.layouts.auto.create=false
layout.user.public.layouts.enabled=false
layout.user.public.layouts.auto.create=false
##Dati dell’amministratore
default.admin.password=toscana
default.admin.screen.name= Admin
default.admin.email.address.prefix=admin
default.admin.first.name=Test
default.admin.last.name=Test
##Per non avviare il setap iniziale del portale
setup.wizard.enabled=false
##Per poter utilizzare al meglio le varie templetizzazioni del portale
freemarker.engine.restricted.classes =
freemarker.engine.restricted.packages =
freemarker.engine.restricted.variables =
velocity.engine.restricted.classes =
velocity.engine.restricted.packages =
velocity.engine.restricted.variables =
##Per rimuovere la possibilità di cambiare la password al primo login
passwords.change.on.first.use = false
##Per rimuovere la frase di sicurezza per richiedere la password
users.reminder.queries.enabled=false
users.reminder.queries.custom.question.enabled=false
Le seguenti configurazioni del portal-ext.properties vanno applicate solo se necessario.
Ottimizzazione prestazioni
Per ottimizzare le prestazioni del portale è necessario disattivare le funzionalità non utilizzate
inserendo queste proprità nel portal-ext.properties:
javadoc.manager.enabled=false
com.liferay.portal.servlet.filters.audit.AuditFilter=false
com.liferay.portal.servlet.filters.sso.cas.CASFilter=false
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter=false
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter=false
com.liferay.portal.sharepoint.SharepointFilter=false
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter=false
com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter=false
auto.login.hooks=
session.tracker.memory.enabled=false
blogs.pingback.enabled= false
blogs.trackback.enabled= false
message.boards.pingback.enabled=false
blogs.ping.google.enabled=false
dl.file.rank.enabled=false
ldap.import.interval=-1
message.boards.expire.ban.job.interval-1
users.update.last.login=false
Installazione e configurazione del Database
Per la creazione del database possono essere utilizzate due soluzione:
-
Lasciare la creazione delle tabelle al portale impostando nel portal-ext.properties questa proprietà
schema.run.enabled=true
-
Creare a mano gli schema del database impostando nel portal-ext.properties questa proprietà
schema.run.enabled=false
e successivamente eseguire gli script sql presenti nel file Liferay Portal SQL Scripts for 6.2 GA1
con due possibili alternative:
o Senza Sharding: Eseguire il file sql nella cartella create;(modificare lportal con il nome dello
schema corretto)
o Con lo sharding: Eseguire il file nella cartella create-sharded, all’interno sono presenti gli
script per la creazione di un portale principale(lportal) e 2 shard(lportal1, lportal2);
(modificare lportal,lportal1 e lportal2 con il nome dello schema corretto);
N.B. è possibilie eliminare uno shard o aggiungere tutti quelli necessari anche in fasi
successive all’installazione del portale.
Configurazione dei componenti aggiuntivi
La configurazione dei seguenti componenti aggiungiti è utile per attivare o ottimizzare alcune funzionalità
offerte dal portale.
Configurazione Image Magick e GhostScript
Librerie necessarie per creare le anteprime dei pdf caricati nel sistema.
Senza tale librerie il sistema realizza ugualmente delle anteprime ma viene utilizzata una libreria
java che appesantisce il carico del sistema.
E’ consigliabile installare tali librerie e aggiungere le seguenti configurazioni al portal.properties
imagemagick.enabled=true
imagemagick.global.search.path[unix]=/usr/local/bin:/usr/local/share/ghostscript/fonts
:/usr/local/share/fonts/urw-fonts
N.B. modificare i percorsi corretti in base all’istallazione dei componenti
Oppure modificare direttamente il percorso da pannello di controllo
Configurazione -> Gestione Server -> Servizi Esterni
Configurazione Open Office
La configurazione del server di open office è utili per attivare la possibilità di convertire i
documenti all’interno del portale (es. da pdf a excel e viceversa)
Esempio di avvio
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
E’ possibile installare il server di open office su un server differente da wuello di liferay.
Per configurare open office aggiungere le seguenti configurazioni nel portal-ext.propertes
openoffice.server.enabled=false
openoffice.server.host=127.0.0.1
openoffice.server.port=8100
openoffice.cache.enabled=true
Configurazione Xlugger
Xlugger è necessario per abilitare il portale ad effettuare l’antreprima dei file video presenti nel
portale.
Xuggler richiede l'installazione delle librerie native che sono distribuite sotto la licenza GPL. Se il
sistema operativo specifico appare nella lista in basso, il server può scaricare e installare le
librerie automaticamente. Per maggiori dettagli http://www.xuggle.com/xuggler/downloads
Per installare le librerie dal portale accedere al pannello di controllo
Configurazione -> Gestione Server -> Servizi Esterni