DOCUMENTATION CMDBUILD : READY2USE http://www.cmdbuild.org/en/ http://www.cmdbuild.org/en/prodotti/ready2use CMDBuild est une entreprise italienne de softwares basé sur le management de base de données. Son logiciel, CMDBUILD, est une application web (protocole HTTP) qui transmet en interface web des graphiques et des possibilités de modifications sur ces bases de façon simple et intuitive. Son optimisation, appelé CMDBUILD : READY2USE, permet d'installer cette application en ayant déjà la plupart des composants graphique et rangements nécessaires à l'utilisation quasi-instantané du produit tout en suivant les Best-practices ITIL. CONFIGURATION J'ai commencé à installer Ready2use sur un serveur de prototypage LVM de 12Go, avec 4Go de mémoire vive et 2coeurs de processeur. L'OS (en interface minimale) sera une UBUNTU Trusty 14.04 LTS en 64Bits. PRÉREQUIS Cette application Web demande plusieurs prérequis pour fonctionner. PostGreSQL 9.3 : PostgreSQL est un système de gestion de base de données. Il s'appuie sur les modèles relationnels mais apporte des extensions. Cela permet de qualifier PostgreSQL de système de gestion de base de données "relationnel-objet" (ORDBMS), Il supporte aussi le SQL. JDK 1.6 : le JDK (Java Development Kit) Désigne un ensemble de bibliothèques logicielles de base du langage de programmation Java, ainsi que les outils avec lesquels le code Java peut être compilé, destiné à la machine virtuelle JAVA. TomCat 6.0 : Tomcat est un serveur d'applications Java. Il est intégralement écrit en Java et les applications qu'il est capable d'exécuter (nommées applications web) doivent être développées en Java. Son rôle est donc de retransmettre les applications web sur une page HTML. Les prérequis optionnels : Alfresco 3.4 : Alfresco est une application de gestion électronique des documents (GED ou en anglais DMS pour Document Management System) qui consiste à organiser et gérer des informations et des documents électroniques au sein d'une organisation. Alfresco participe ainsi aux processus de collaboration et d'échange d'informations. OCS inventory : OCS Inventory (Open Computer and Software Inventory) est une application permettant de réaliser un inventaire sur la configuration matérielle des machines du réseau et sur les logiciels qui y sont installés et de visualiser ces informations grâce à une interface web. Liferay Portal 6.0 : Liferay est un portail open source de gestion de contenu, fait pour un environnement JAVA, exploitable sur un serveur d'application tel que JEE ou TomCat et qui s'interface avec plusieurs base de données différentes notamment Oracle, SQL server et PostGreSQL. PostGIS 2.0 : PostGIS est une extension du SGBD PostgreSQL, qui active la manipulation d'informations géographiques sous forme de géométries (points, lignes, polygones), Il permet à PostgreSQL d'être un SGBD spatial (SGBDs) pour pouvoir être utilisé par les systèmes d'informations géographiques. INSTALLATION Après avoir fait les configurations basique de votre machine (update, upgrade) puis via 'etc/network/interfaces' configurer l'accès à internet, accès en local, résolutions de noms. PostGreSQL : PostgreSQL est déjà implanté dans les dépôts de LTS 14.04, il suffit de l'appeler via une simple commande apt-get suivi de sa version. test@ready2use:~$ sudo apt-get install postgresql-9.3 Il en va de même pour TomCat 7.0 : test@ready2use:~$ sudo apt-get install tomcat7 CONFIGURATION DE CMDBUILD Pour bien paramétrer CMDbuild, nous devons lui renseigner un nombre d'information conséquents ; Pour bien débuter ce long paramétrage, nous commencerons par copier le zip « cmdbuild » vers le serveur, et l'insérer dans /webapps de TomCat. La configuration et la création d'un utilisateur dans PostGreSQL Vérifiez que le paquet « postgresql-contrib 9.3 » est bien situé dans … ; il se pourrait que cela créer des erreurs. Si il n'y est pas, téléchargez-le. Connectez vous avec l'utilisateur de base, « postgres », en utilisant la commande : test@Ready2use:~$ sudo su postgres puis rentrer dans sa base de données : postgres@Ready2use:~$ sudo psql postgres sudo psql « nomduser » postgres=# Commencer par attribuer un mot de passe à cet utilisateur. Nous utiliserons « postgres » à titre d'exemple. postgres=# ALTER USER postgres PASSWORD 'postgres'; sortez de la base postgres postgres-#\q A chaque instant, n'hésitez pas à aller vérifier les logs d'erreur de vos manipulations dans les fichiers « catalina.out » (mieux vaut le lancer dans un terminal additionnel) via : test@ready2use:~$ sudo tailf /var/log/tomcat7/... Sur TomCat, on commencera par vérifier si le serveur d'application est bien installé. Pour cela, il faudra aller sur « http://votre.adresse.IP:8080 » Si une page comme celle-ci s'affiche, alors vous pourrez continuer la configuration de votre serveur. Sinon, vérifiez la bonne installation de votre paquet TomCat. Pour cette procédure, il faut au préalable stopper le service tomcat7 test@Ready2use:~$ sudo service tomcat7 stop Allez dans le repertoire de JDBC, un connecteur qui fera le lien entre la base TomCat (Apache) et la base de donnée SQL (postgreSQL). Allez sur le site jdbc.posgresql pour trouver le paquet correspondant à votre version. Il faudra ensuite le copier dans le répertoire courant de TomCat : test@ready2use:~$ sudo cp postgresql-9.3-1104.jdbc4.jar /usr/share/tomcat7/lib/ Ensuite, copier le .war d'installation de CMDbuild et de shark dans les répertoires de TomCat : test@Ready2use:~$ sudo cp cmdbuild-2.3.4.war /var/lib/tomcat6/webapps/ test@Ready2use:~$ sudo cp cmdbuild-shark-server-2.3.4.war /var/lib/tomcat6/webapps/ Puis redémarrer votre serveur d'application pour que tomcat y créer les nouveaux répertoires test@Ready2use:~$ sudo service tomcat7 start Puis y insérer JDBC dans le répertoire /WEB-INF/lib crée par tomcat test@Ready2use:~$ sudo cp postgresql-9.1-901.jdbc4.jar /var/lib/tomcat7/webapps/cmdbuild-2.3.4/WEB-INF/lib/ test@Ready2use:~$ sudo cp postgresql-9.1-901.jdbc4.jar /var/lib/tomcat7/webapps/cmdbuild-shark-server-2.3.4/WEB-INF/lib/ Une fois ceci fait, créer dans TomCat un utilisateur qui aura le rôle de « super utilisateur » dans l'interface web : vi /etc/tomcat7/tomcat-users.xml Nous l’appelerons « tomcat » <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <user username="tomcat" password="tomcat" roles="manager-gui ,manager-jmx,manager-script,manager-status,admin-gui"/> </tomcat-users> Qui vous permettra de vérifier la fonctionnalité de l'interface d'administration de TomCat (écoute sur le port 8080): exemple : 192.168.123.1:8080/manager.xml Il se peut que Tomcat mette énormément de temps à redémarrer (une moyenne de plus de 100 000ms est problématique), pour éviter ce problème, positionnez-vous dans /etc/default puis avec un éditeur, ouvrez le fichier tomcat.xmx et insérez à la fin de la ligne JAVA_OPTS: - > java.security.egd=file:/dev/./urandom Ensuite, il faudra s'assurer que JBDC est bien lancé en tant qu'utilisateur tomcat7, utilisateur spécial TomCat du serveur : test@Ready2use:~$ chown tomcat7:tomcat7/var/lib/tomcat6/webapps/ cmdbuild-2.3.4/WEB-INF/lib/ postgresql-9.3-1104.Jbdc.jar test@Ready2use:~$ chown tomcat7:tomcat7/var/lib/tomcat6/webapps/ cmdbuild-shark-server-2.3.4/WEB-INF/lib/ postgresql-9.31104.Jbdc.jar Vérifiez que le paquet « tomcat-util-7.0.52.jar » est bien présent dans /usr/share/java ; il se pourrait que cela créer des erreurs. Si il ne l'est pas, téléchargez le. Une fois ceci fait, vous devriez être capable de lancer le serveur web de cmdbuild. Rendez-vous sur la page d'aministration de TomCat et cliquer sur « Démarrer »à la ligne de l'application cmdbuild. Le démarrage peut prendre un certain temps. Pour vous assurer de ne pas attendre pour rien, installer le paquet « htop » sur votre serveur pour vérifier l'état de vos ressources, et vérifier vos sorties « catalina.out » et « cmdbuild.log ». Après avoir patienter 5mn au maximum, vous devriez voir que la ligne alloué à CMDbuild a changé de statut. Suite à cette manipulation, vous pourriez devoir accéder à la fenêtre de connexion : « http://votre.adresse.IP:8080/cmdbuild-2.3.4 » Qui devrait vous rediriger vers cette interface : Les logins par défaut de CMDbuild sont « admin admin ». Une fois dans l'application web, allez dans le module d'administration puis, après avoir autorisé la modification de la rubrique « process » choisissez d'uploader une nouvelle version du « Request for Change » en .XPDL qui se trouve dans : - cmdbuild/extras/workflow/RFC Faites attention que le shark pointe bien vers les tables shark de cmdbuild et non les tables public de cmdbuild. Pour se faire, positionnez-vous dans /var/lib/tomcat7/webapps/shark-cmdbuild2.3.4/META-INF/ et éditez le fichier context.xml : vérifiez que les logs soient bien « username : shark » et non postgres « password : shark » et non postgres La base CMDbuild se créera automatiquement une fois que vous aurez essayé de vous logger pour la 1ere fois. Connectez-vous pour accéder à une interface graphique d'exemples de ce que vous pourriez faire avec des bases pleines d'informations. 2EME ÉTAPE : CONFIGURATION DE READY2USE Commencez par éteindre tomcat test@Ready2use:~$ sudo service tomcat7 stop Puis dézipper le « ready2use.zip » que vous avez wget. test@Ready2use:~$ unzip tmp/cmdbuild-ready2use-1.0-for-test.zip Copiez le dans un dossier vide test@Ready2use:~$ mkdir install/ test@ready2use:~$ mv cmdbuild-ready2use-1.0-for-test install/ Puis lisez le README .TXT qui se trouve à la racine du dossier. Il s'agit d'une série de procédure à respecter pour configurer proprement ready2use et remplacer le template de CMDBUILD par celui de READY2USE sans relancer une installation complète. Dans cette procédure, il s'agira de stopper le service tomcat7 avant de continuer test@Ready2use:~$ sudo service tomcat7 stop Une fois ceci fait, il faudra se rendre dans la base PostgreSQL en utilisant l'utilisateur SuperUser (postgres) test@Ready2use:~$ sudo su postgres postgres@Ready2use:~$ psql ou de manière plus simple test@reay2use:~$ psql postgres Pour y supprimer la base « cmdbuild » existante (créée automatiquement aux logs sur l'interface web) postgres=# DROP DATABASE cmdbuild ; Puis pour la recréer, mais vide postgres=# CREATE DATABASE cmdbuild ; postgres-# \q Une fois sortit, Rendez vous dans le répertoire courant du ready2use dézippé test@Ready2use:~$ cd install/cmdbuild-ready2use-1.0-for-test Pour y exécuter le script d'installation test@Ready2use:~$ sudo ./bin/setup.sh Plusieurs informations s'affichent : < À modifier si vous utilisez une bdd distante < Port par défaut de postgreSQL < user « SuperUser » par défaut de postgreSQL < si vous avez choisi d'insérer un mot de passe à votre base postgres database : cmdbuild < obligatoire if database with data : true < la base de donnée peut être vierge ou avec modèle host : localhost port : 5432 username : postgres if password : true, postgres Une fois ces paramètres renseignés, il vous faudra indiquer où se trouve le .war qui servira de déploiement aux nouvelles informations pour remplacer le template CMDBUILD par celui de CMDBUILD : READY2USE root : /var/lib/tomcat6/webapps/cmdbuild-2.3.4 Et y insérer le mot de passe de la base de données password : postgres Ceci devrait vous retourner : executing […/database_empty.backup] exit value : 0 executing […/images/] exit value : 0 executing [ …/translations/*.json] exit value : 0 Si ce n'est pas le cas, vérifiez vos informations dans le script et dans vos dossiers puis recommencer autant de fois que nécessaire (procédure peut claire). Nous y sommes presque ! Il suffira à partir de là de relancer le service tomcat6 et postgreSQL test@Ready2use:~$ sudo service tomcat6 restart test@Ready2use:~$ sudo service postgresql restart Et de connecter via l'interface de management (votre.adresse.ip:8080/management.jsp) à la même application web qu'avant Simplement que celui-ci a vu son template et ses options changés et améliorés pour suivre la norme ITIL (avantage principal de ready2use). Par rapport à la version CMDBUILD « basique », nous pouvons constater une nette évolution des options dans le menu déroulant (a gauche), qui vous permettra une large possibilité de manœuvre dans l'agencement de vos graphiques, de votre listing et de vos données. Conclusion :