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