Tout d'abord, le guide d'administration est très pratique !
L'installation s'est faite manuellement avec le WAR (téléchargeable via Additionnal Files) sur un tomcat5.5 existant. Je me suis donc basé sur le chapitre TOMCAT 5.0.X/5.5.X (page 57).
Mon tomcat pouvant servir à d'autres applications, je ne voulais pas que Liferay se mette dans le contexte ROOT. Je n'ai donc pas modifié le ROOT.xml, mais j'ai créé un liferay.xml pour le déploiement.
Après le déploiement, j'ai eu pas mal de soucis pour réussir à démarrer le contexte. Pour avoir les logs, j'ai du le lancer via bin/startup.sh, et non via le script dans init.d. Ainsi j'avais tous les logs dans logs/catalina.out. Ainsi j'ai pu voir que mon erreur GRAVE: Error listenerStart était due à des jars manquant (exceptions NoClassDefFound ou ClassNotFoundException). J'ai donc ajouté jta.jar et mail.jar dans common/lib/ext (ne pas oublier de configurer le conf/catalina.properties pour ajouter ce répertoire dans le common.loader).
Pour indiquer à Liferay qu'il n'est pas dans le contexte root, mais dans son contexte /liferay, j'ai du créer un fichier portal-ext.properties dans WEB-INF/classes. Ce fichier permet de remplacer les valeurs par défaut de portal.properties qui se trouve dans portal-impl.jar. Pour modifier le contexte, il suffit d'ajouter la propriété portal.ctx=/liferay au début du fichier.
Passons à la base de données. Par défaut, Liferay tourne sur une petite base de données embarquée : Hypersonic (HsqlDb). J'ai donc bien entendu rapidement voulu utiliser MySql.
Pour celà, Liferay utilise également Hibernate et JDBC. Or pour que JDBC puisse accéder à MySql, il faut, d'après la doc, que MySql n'écoute pas que sur l'IP localhost... Pour cela, selon les versions, il faut commenter skip-networking, ou la ligne bind-adress=127.0.0.1 de my.cnf.
Ensuite, il suffit d'ajouter les lignes suivantes à portal-ext.properties :
# MySQL # jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost/lportl?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=xxxxx jdbc.default.password=xxxxx
Remplacez par le nom de la base, votre utilisateur et mot de passe.
Redémarrer le serveur d'application (tomcat ici). Lors du déploiement, Liferay va lui-même ajouter les tables et les remplir.
Liferay est alors accessible sur http://localhost:8081/liferay (port par défaut de tomcat5.5 sur Ubuntu, mais il est souvent sur 8080).
Comme précisé dans la doc, il n'existe pour le moment qu'un seul compte, test@liferay.com / test, avec le rôle administrateur, pour commencer à paramétrer votre nouveau portail !
Il est probable que d'autres billets soient postés sur Liferay ! Il me reste en effet à faire fonctionner la Bibliothèque de documents (Document Library, qui est en fait un JackRabbit d'Apache embarqué), et j'aimerais également incorporer Pentaho, une plate forme de Business Intelligence. Suivez donc les tags liferay !
Fil des billets
Commentaires
Hello,
NickTruchMerci pour cet article très précis. Avez-vous fait un upgrade en 5.2 ?
J'ai personnellement quelques problèmes avec son installation, que ce soit sur tomcat ou sur glassfish... et la doc n'est pas encore totalement aboutie au niveau de la 5.2...
Nick
PS. suis sur un environnement MacOS 10.5 Server
Salut,
CalexoMerci pour ce commentaire !
Je me rend compte que je n'ai pas précisé la version dans mon billet ! Il s'agit bien d'une 5.2. Voici ses références exactes : Liferay Portal Standard Edition 5.2.1 (Augustine / Build 5201 / February 3, 2009)
Bonjour,
cyrillemerci de nous faire partager votre expérience.
J'aurais aimé savoir si vous avez des exemples concrets au niveau de la gestion de contenu de Liferay (structures de documents, modèles, ...) ou si vous connaissez des documentations (hormis les officielles de liferay) détaillées sur ce sujet ?
merci
Bonjour et merci !
CalexoJe n'ai pas encore testé la gestion de document dans Liferay (juste créé un dossier avec un document !).
Mais ce module ne me parait pas très poussé...
A mon avis, rien ne vaut Alfresco (http://www.alfresco.com/fr/) pour de la vraie gestion de doc, surtout qu'il est possible de l'intégrer dans Liferay.
Un sujet sans aucun doute très intéressant ! N'hésitez pas à revenir nous en parler quand vous aurez un peu creusé ce sujet !
Merci !
Bonjour,
En fait la gestion documentaire de Liferay est à présent très complète. Nous pensons qu'il faut utiliser Alfresco pour les besoins les plus poussés en intégration avec Liferay. En effet, une intégration par Webscript est relativement fastidieuse.
oravelLa liste des modules fonctionnels de Liferay est visible à l'adresse suivante : http://www.gfi.fr/ebusiness/liferay...
Bonjour,
CalexoMerci pour cette info, celà vaudrait donc le coup de re-tester pour enrichir cet article !
Vous confirmez que la gestion documentaire a été améliorée depuis la rédaction de cet article (Février 2009) ?
Merci de votre contribution,
bonjour
merci pour cet article c'est trés utile mais j'ai un problème j'ai télécharger liferay de site officiel avec tomcat 6 j'ai installer (unzip le .ZIP sur ma partition C) je démarre tomcat et la page de liferay se lance sur le navigateur j'ai créer une base de données mysql et un utilisateur lifray avec tout les droits j'ai créer un fichier portal-ext.proprieties que j'ai mis dans le répertoire /root/webinf voici son contenu
#
# MySQL
#
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/liferay?useUnicode=true&characterEncoding=
UTF-8&useFastDateParsing=false
jdbc.default.username=liferay
jdbc.default.password=liferay
quand j'essaye de me connecter avec le login test@liferay.com / test je reçoi l'erreur suivante :
Vous avez saisi des données invalides. Veuillez réessayer.
Veuillez entrer un login valide.
Merci pour votre aide
cherbaniBonjour,
CalexoA partir de la version 5.2 de Liferay, certaines choses ont changé.
Si vous n'avez pas supprimé les données d'exemple "7cogs", l'administrateur est :
bruno@7cogs.com / bruno
Une fois ces données supprimer, c'est le même utilisateur que pour les versions antérieures à 5.2.
Bonjour, d'abord merci pour le blog
j'ai suivi le tuto pour linstallation de liferay
et tout marche jusqu'au niveau de tomcat ou j'ai lerreur suivante:
27 mai 2010 01:02:59 org.apache.catalina.core.AprLifecycleListener init
mariaINFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib
27 mai 2010 01:03:00 org.apache.coyote.http11.Http11Protocol init
GRAVE: Erreur à l'initialisation du point de contact
java.net.BindException: Adresse déjà utilisée <null>:8080
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1014)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:680)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.BindException: Adresse déjà utilisée
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:141)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
... 12 more
27 mai 2010 01:03:00 org.apache.catalina.startup.Catalina load
GRAVE: Catalina.start
LifecycleException: L'initialisation du gestionnaire de protocole a échoué: java.net.BindException: Adresse déjà utilisée <null>:8080
at org.apache.catalina.connector.Connector.initialize(Connector.java:1016)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:680)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
27 mai 2010 01:03:00 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2827 ms
27 mai 2010 01:03:00 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
27 mai 2010 01:03:00 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.26
27 mai 2010 01:03:00 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration host-manager.xml
27 mai 2010 01:03:02 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration tunnel-web.xml
27 mai 2010 01:03:03 org.apache.catalina.core.StandardContext listenerStart
GRAVE: Erreur lors de la configuration de la classe d'écoute de l'application (application listener) com.liferay.portal.kernel.servlet.TunnelContextListener
java.lang.ClassNotFoundException: com.liferay.portal.kernel.servlet.TunnelContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
27 mai 2010 01:03:03 org.apache.catalina.core.StandardContext listenerStart
GRAVE: L'installation des écouteurs (listeners) de l'application a été sautée suite aux erreurs précédentes
27 mai 2010 01:03:03 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
27 mai 2010 01:03:03 org.apache.catalina.core.StandardContext start
GRAVE: Erreur de démarrage du contexte [/tunnel-web] suite aux erreurs précédentes
Maria,
CalexoComme l'indique l'erreur, le port 8080 est déjà utilisé. Un netstat -tanp pourra peut-être t'aider si tu es sous Linux ?