Installation de nuxeo

publicité
DOMAINE D’APPLICATION
Il fut rédigé avec les versions suivantes des logiciels :
-
Nuxeo 5.2.0 RC1,
-
PostgreSQL 8.3.7-1,
-
Java JDK 1.6,
-
OpenOffice.org 3.0.1,
-
Windows Server 2003 Standard Edition Service Pack 2.
INSTALLATION DE NUXEO
INSTALLATION DE LA JDK
Installer la version de la JDK disponible dans le site de Sun
http://java.sun.com/javase/downloads/index_jdk5.jsp
Ouvrir l’assistant d’installation et suivre les différentes étapes :
Vérifier que l’installation s’est bien déroulée
Ouvrez un invite de commande et saisissez la commande : Java –version
Vérifier la présence des variables d’environnement :
LANCEMENT DE L’INSTALLER NUXEO
Téléchargez le fichier « nuxeo-ep-5.2.0-RC1-setup.exe » (disponible sur le site
www.nuxeo.com/downloads/) et lancez son installation (celle-ci peut prendre plusieurs minutes).
Par défaut, Nuxeo n’est accessible qu’à partir du serveur sous les adresses localhost et 127.0.0.1.
Afin de le rendre accessible à partir de l’extérieur, il existe deux solutions :
-
Lancer Nuxeo via son run.bat en y incluant l’argument « –b 0.0.0.0 »,
Ouvrir
le
fichier
« server.xml »
du
répertoire
« NuxeoEP5\NuxeoServer\server
\default\deploy\jboss-web.deployer » et modifier la ligne suivante :
<Connector port="8080" address="${jboss.bind.address}"
Par :
<Connector port="8080" address="0.0.0.0"
Vous pouvez aussi modifier son port d’écoute.
INSTALLATION DE POSTGRESQL
Téléchargez le fichier « postgresql-8.3.7-1-windows » (présent sur le site www.postgresql.org) et lancez son
installation.
Saisissez le password du futur compte root sous PostgreSQL.
Saisissez le port d’ecoute de PostgreSQL (5432 par defaut).
/!\ Si lors de l’installation, vous rencontrez une erreur de type :
Database cluster initialisation failed
Vous devez désinstaller PostgreSQL, donner le contrôle total sur le répertoire d’installation à l’utilisateur
« postgres » et relancer l’installation.
/!\ Si des erreurs apparaissent lors du lancement de PostgreSQL. Dans la console des services Windows,
modifiez le compte executant « PostgreSQL Server 8.3 ».
CONFIGURATION
Connectez-vous maintenant avec l’outil « pgAdmin III » (installé avec PostgreSQL).
Modifiez les propriétés de connexion au serveur en renseignant le nom d’utilisateur par « postgres ».
Créez un utilisateur. Celui-ci sera utilisé par Nuxeo pour accéder à sa base de données.
Créez une base de données pour Nuxeo.
La nouvelle base est maintenant créée et visible sur pgAdmin III.
Sur la base que vous venez de créer, lancez les requêtes SQL suivantes :
CREATE LANGUAGE 'plpgsql';
CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE
LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS
IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to
text';
CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE
LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS
IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';
La base de données pour Nuxeo est maintenant prête.
Par défaut, PostgreSQL est accessible qu’en local. Pour vous permettre d’y accéder à partir d’un poste client
(via pgAdmin III par exemple). Vous devez ouvrir des adresses sous PostgreSQL.
Modifiez le fichier « pg_hba.conf » présent sous l’arborescence « PostgreSQL\8.3\data ».
Sous la ligne :
host
all
all
127.0.0.1/32
all
all
192.168.0.0/24
md5
Rajouter :
host
md5
Vérifiez, dans le fichier « postgresql.conf » (sous « ») que cette ligne est bien décommentée :
listen_addresses = '*'
Relancez le serveur, celui-ci devrait être accessible à partir de votre réseau local.
NUXEO AVEC POSTGRESQL
CONNEXION À UNE BASE POSTGRESQL
Par défaut, Nuxeo utilise une base de données Derby. Celle-ci est inutilisable dans un environnement de
production. Nous allons utiliser la base PostgreSQL que nous venons de créer.
Modifiez le fichier « default-repository-ds.xml » du répertoire « NuxeoEP5\NuxeoServer\server
\default\deploy\nuxeo.ear\datasources » :
<config-property name="xaDataSource"
type="java.lang.String">org.postgresql.xa.PGXADataSource</configproperty>
<config-property name="property"
type="java.lang.String">ServerName=localhost</config-property>
<config-property name="property"
type="java.lang.String">PortNumber/Integer=5432</config-property>
<config-property name="property"
type="java.lang.String">DatabaseName=[Nom_BD_PostgreSQL]</configproperty>
<config-property name="property"
type="java.lang.String">User=[Nom_User_PostgreSQL]</config-property>
<config-property name="property"
type="java.lang.String">Password=[Pass_User_PostgreSQL]</config-property>
<max-pool-size>100</max-pool-size>
Modifiez le fichier « default-repository-config.xml » du répertoire « NuxeoEP5\NuxeoServer\server
\default\deploy\nuxeo.ear\config »
Supprimez la ligne :
<fulltext analyzer="org.apache.lucene.analysis.fr.FrenchAnalyzer"/>
Décommentez la ligne :
<fulltext analyzer="french"/>
Modifiez le fichier « unified-nuxeo-ds.xml » du répertoire « NuxeoEP5\NuxeoServer\server
\default\deploy\nuxeo.ear\datasources » :
<local-tx-datasource>
<jndi-name>NuxeoDS</jndi-name>
<connectionurl>jdbc:postgresql://localhost:5432/[Nom_BD_PostgreSQL]</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>[Nom_User_PostgreSQL]</user-name>
<password>[Pass_User_PostgreSQL]</password>
<check-valid-connection-sql>;</check-valid-connection-sql>
</local-tx-datasource>
Modifiez le fichier « sql.properties » du répertoire « NuxeoEP5\NuxeoServer\server
\default\deploy\nuxeo.ear\config ».
Remplacez la ligne :
org.nuxeo.ecm.sql.jena.databaseType=Derby
Par :
org.nuxeo.ecm.sql.jena.databaseType=PostgreSQL
Nuxeo a aussi besoin du driver JDBC pour se connecter à PostgreSQL :
-
Si vous utilisez une version 1.6 de la JDK, vous devez télécharger le fichier « postgresql-8.3-
604.jdbc4.jar »,
-
Pour les versions antérieures à la JDK 1.6, il faut récupérer le fichier « postgresql-8.3604.jdbc3.jar ».
Ces 2 connecteurs sont disponibles sur le site de PostgreSQL (http://jdbc.postgresql.org).
Placer le fichier «postgresql-8.3-604.jdbcX.jar» dans le répertoire « NuxeoEP5\NuxeoServer\server
\default\lib».
Relancez Nuxeo (la création des tables sous PostgreSQL peut être légèrement longue).
OPTIMISATION DE NUXEO
LANCEMENT AU DEMARRAGE
Par défaut, Nuxeo n’est pas configuré comme étant un service Windows lancé au démarrage.
Dans l’invite de commandes, saisissez :
services.msc
Recherchez le service Nuxeo5 et paramétrez-le sur un démarrage automatique.
REDIMENSIONNER NUXEO
Il faut maintenant redimensionner Nuxeo dans le cas d’une mise en production.
Modifiez le fichier « server.xml » du répertoire « NuxeoEP5\NuxeoServer\server \default\deploy\jbossweb.deployer »
Remplacez les valeurs des attributs maxThreads (250 -> 25) et acceptCount (100 -> 200).
PARAMETRER LES LOGS JBOSS
Les logs complets de JBoss peuvent devenir très importants, il faut limiter leurs enregistrements pour les
messages d’alerte ou d’erreur et organiser une rotation.
Modifiez le fichier « jboss-log4j.xml » présent dans le répertoire « NuxeoEP5\NuxeoServer\server
\default\conf ».
Commentez la partie « A time/date based rolling appender » et décommentez la partie « A size based file
rolling appender ».
<appender name="FILE"
class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="false"/>
<param name="Threshold" value="WARN"/>
<param name="MaxFileSize" value="10MB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
Par exemple, 3 fichiers de logs de 10mo chacun enregistrant que les messages d’alerte ou d’erreur.
PARAMETRER LES MÉSSAGES JMS
Nous allons configurer la non persistance des messages JMS afin d’augmenter les performances du serveur.
Dans le répertoire « NuxeoEP5\NuxeoServer\server\default\deploy\jms », renommez le fichier « hsqldbjdbc2-service.xml » en « null-persistence-service.xml ».
Dans ce fichier, supprimez toute la balise (et son contenu) suivante :
<mbean code="org.jboss.mq.pm.jdbc2.PersistenceManager" … >
[…]
</mbean>
Et remplacez le par :
<mbean code="org.jboss.mq.pm.none.PersistenceManager"
name="jboss.mq:service=PersistenceManager">
</mbean>
Dans le répertoire « NuxeoEP5\NuxeoServer\server\default\deploy\jms » :
-
Créez le fichier « file-state-service.xml »,
Supprimez le fichier « hsqldb-jdbc-state-service.xml ».
Dans le fichier « login-config.xml » présent sous l’arborescence
« NuxeoEP5\NuxeoServer\server\default\conf », décommentez le passage « Security domain for JBossMQ
when using file-state-service.xml » :
<application-policy name = "jbossmq">
<authentication>
<login-module code = "org.jboss.mq.sm.file.DynamicLoginModule"
flag = "required">
<module-option name = "unauthenticatedIdentity">guest</moduleoption>
<module-option name =
"sm.objectname">jboss.mq:service=StateManager</module-option>
</login-module>
</authentication>
</application-policy>
Et commentez / supprimez le passage « Security domain for JBossMQ ».
Relancez Nuxeo
Téléchargement