Installer la suite OBM sur FreeBSD – Part 1 – OBM UI 2.3.9
Introduction
Voici le premier d’une série de guides pour l’installation de OBM sur FreeBSD. OBM est une suite logicielle basée sur des outils du libre, visant à fournir un ensemble pouvant entrer en compétition avec Microsoft Exchange.
OBM est développé par une société française, Linagora, qui s’est récemment illustrée en devenant le support officiel d’Hewlett-Packard pour les logiciels libres.
Linagora propose aux entreprises d’héberger leur plateforme OBM (modèle SaaS), mais permet également via le site communautaire http://www.obm.org de télécharger les sources de leur application.
Prérequis
Dans cette série de guides, nous prenons l’exemple d’un serveur FreeBSD 8.2 fraichement installé. Il dispose d’un serveur Web Apache 2.2, de mysql-server 5.1, et de PHP 5.5 (accompagné de pas mal de modules). Nous ne reviendrons pas sur l’installation du système FAMP, le handbook de FreeBSD est suffisamment clair. Néanmoins in est nécessaire d’ajouter quelques paquets complémentaires :
SUBVERSION
: FreeBSD utilise nativement le suivi de version CVSUP, et les sources OBM sont accessibles depuis subversion> cd /usr/ports/devel/subversion > make install clean Options for subversion 1.6.17_1 x x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x x x[ ] MOD_DAV_SVN mod_dav_svn module for Apache 2.X x x x x[ ] MOD_DONTDOTHAT mod_dontdothat for Apache 2.X x x x x[X] NEON WebDAV/Delta-V repo access module (neon) x x x x[ ] SERF WebDAV/Delta-V repo access module (serf) x x x x[ ] SASL SASL2 authorization support x x x x[X] BDB Berkeley DB (4 or 5) repository backend x x x x[ ] ASVN Build and install Archive SVN (asvn) x x x x[ ] MAINTAINER_DEBUG Build debug version x x x x[ ] SVNSERVE_WRAPPER Enable svnserve wrapper x x x x[ ] SVNAUTHZ_VALIDATE install svnauthz-validate x x x x[ ] STATIC Build static version (no shared libs) x x x x[ ] GNOME_KEYRING Build with GNOME Keyring auth support x x x x[ ] KDE_KWALLET Build with KDE KWallet auth support x x x x[ ] BOOK Install the Subversion Book x x x x x x tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu x [ OK ] Cancel
-
BASH
: les scripts de création des bases et utres sont tous écrits en BASH. TCSH étant installé par défaut sur FreeBSD, nous pourrions réécrir tous les scripts, mais autant installer BASH !
> cd /usr/ports/shells/bash > make install clean
Récupération des sources et mise en place de l’arborescence des fichiers
Dans son répertoire personnel, créer le répertoire ~/tmp/obm
. Puis synchroniser les sources depuis svn.obm.org :
~/tmp > svn checkout http://svn.obm.org/svn/obm/tags/2.3.9 obm
Le répertoire contient maintenant les sous répertoires et fichiers suivants :
~ > ls -l ~/tmp/obm total 50 -rw-r--r-- 1 ikare wheel 18007 26 aou 15:58 COPYING -rw-r--r-- 1 ikare wheel 738 26 aou 15:58 README -rw-r--r-- 1 ikare wheel 749 26 aou 15:58 Release-notes.txt drwxr-xr-x 4 ikare wheel 512 26 aou 15:58 auto -rwxr-xr-x 1 ikare wheel 179 26 aou 15:58 clean-files.sh drwxr-xr-x 6 ikare wheel 512 26 aou 15:57 conf drwxr-xr-x 8 ikare wheel 512 26 aou 15:57 contrib drwxr-xr-x 4 ikare wheel 512 26 aou 15:57 cron drwxr-xr-x 8 ikare wheel 512 26 aou 15:57 doc drwxr-xr-x 4 ikare wheel 512 26 aou 15:57 locale drwxr-xr-x 9 ikare wheel 512 26 aou 15:57 obminclude drwxr-xr-x 57 ikare wheel 1536 26 aou 15:57 php drwxr-xr-x 5 ikare wheel 512 26 aou 15:58 resources drwxr-xr-x 6 ikare wheel 512 26 aou 15:57 scripts drwxr-xr-x 4 ikare wheel 512 26 aou 15:57 tests drwxr-xr-x 3 ikare wheel 512 26 aou 15:57 tz drwxr-xr-x 6 ikare wheel 512 26 aou 15:57 views
Nous avons donc maintenant toutes les sources d’OBM UI. La documentation d’installation se trouve dans le fichier ~/tmp/obm/doc/html/install-2.1.html
(pas le même numéro de version, mais c’est pas bien grave). Dans notre exemple, le répertoire de base (DocumentRoot) de Apache est /opt/www/
. Nous allons y copier les fichiers d’OBM :
> cp -rf tmp/obm /opt/www/ > chown -R www:www /opt/www/obm/
Configuration du serveur Apache et de PHP
APACHE
Dans notre exemple, le serveur Apache héberge plusieurs applications Web. Le site principal est un site WordPress, accessible depuis l’URL oser.neotech3.org. Nous souhaitons disposer sur ce même serveur de l’application OBM, accessible depuis l’URL btssio.neotech3.org. Il faut donc utiliser les VirtualHosts de Apache. :
- Dans le fichier de conf de apache, ajouter :
Include etc/apache22/extra/httpd-vhosts.conf
- Modifier le fichier /usr/local/etc/apache22/extra/httpd-vhosts.conf de manière à configurer les deux hôtes :
NameVirtualHost *:80 ServerAdmin sysadmin@neotech3.org DocumentRoot /opt/www/obm/php ServerName evenstar.neotech3.org ServerAlias btssio.neotech3.org ErrorLog /var/log/obm-error.log CustomLog /var/log/obm-access.log common SetEnv OBM_INCLUDE_VAR obminclude Alias /images /opt/www/obm/resources DirectoryIndex obm.php Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all ServerAdmin sysadmin@neotech3.org DocumentRoot /opt/www/wordpress ServerName evenstar.neotech3.org ServerAlias oser.neotech3.org ErrorLog /var/log/wp-error.log CustomLog /var/log/wp-access.log common DirectoryIndex index.php Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all
Normalement, votre serveur est maintenant accessible depuis deux noms DNS différents, l’un amenant sur WordPress (ou autre), et l’autre sur OBM.
PHP
Afin que PHP trouve les différents fichiers de configuration de OBM (non accessibles à Apache), il faut rajouter les informations suivants dans le fichier /usr/local/etc/php.ini
:
include_path = ".:/opt/www/obm" session.bug_compat_42 = Off session.bug_compat_warn = Off magic_quotes_gpc = On
Configuration de OBM
Création de la base de données Mysql
OBM UI a besoin d’une base de données MySQL, et d’un utilisateur pour s’y connecte. Sur le server, faire :
> mysql -u root -h localhost -p Welcome to the MySQL monitor. Commands end with ; or \\g. Your MySQL connection id is 596 Server version: 5.1.58-log FreeBSD port: mysql-server-5.1.58 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
mysql> CREATE DATABASE obm; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALTER,CREATE, DROP, SELECT, UPDATE, INSERT, DELETE, LOCK TABLES, INDEX ON obm.* TO obm@localhost IDENTIFIED BY 'sUp3R_p@ssW0rd!'; Query OK, 0 rows affected (0.00 sec)
Création des tables et enregistrements :
OBM est fourni avec quelques scripts permettant d’initialiser les bases de données. :
> bash /opt/www/obm/scripts/2.3/install_obmdb_mysql_2.3.sh obm obm "sUp3R_p@ssW0rd!" fr full *** Database creation Delete old database if exists Create new obm database Create new obm database model *** Database filling Dictionnary data insertion Company Naf Code data insertion Default preferences data insertion /opt/www/obm/scripts/2.3/updates /opt/www/obm/scripts/2.3 Insert Update sql file update-2.3.0-2.3.1.mysql.sql Insert Update sql file update-2.3.1-2.3.2.mysql.sql Insert Update sql file update-2.3.2-2.3.3.mysql.sql Insert Update sql file update-2.3.3-2.3.4.mysql.sql Insert Update sql file update-2.3.4-2.3.5.mysql.sql Insert Update sql file update-2.3.5-2.3.6.mysql.sql Insert Update sql file update-2.3.6-2.3.7.mysql.sql Insert Update sql file update-2.3.7-2.3.8.mysql.sql /opt/www/obm/scripts/2.3/install_obmdb_mysql_2.3.sh: line 76: update-2.3.7-2.3.8.post.php: command not found Insert Update sql file update-2.3.8-2.3.9.mysql.sql /opt/www/obm/scripts/2.3
Note : l’erreur au moment de l’Update n’est pas imporante
Fichiers de configuration OBM
obm/conf/obm.ini
Il faut modifier un certain nombre de paramètres, les suivants dans notre cas :
title = OBM - BTSSIO external-url = http://btssio.neotech3.org external-protocol = http obm-prefix = / backupRoot = "/backups/obm/" documentRoot="/opt/www/obm/documents" documentDefaultPath="/" host = localhost dbtype = MYSQL db = obm user = obm password ="sUp3R_p@ssW0rd!"
Le répertoire hébergeant les futurs documents doit bien sûr être accessible en écriture par Apache :
> mkdir /opt/www/obm/documents > chown -R www /opt/www/obm/documents > chmod u+w /opt/www/obm/documents
obm/conf/obm.inc
Pour le moment, nous laissons les réglages par défaut.
Un petit redémarrage d’Apache, et normalement tout est OK.
Première connexion et création d’un domaine
Depuis un navigateur, ouvrir l’URL d’accès (dans notre cas : http://btssio.neotech3.org). Le compte super utilisateur est par défaut admin0 / admin. Un fois connecté, la priorité est donc de changer son mot de passe !!
Ensuite, créer un domaine sur lequel s’appuiera toute la suite logicielle. Dans notre cas : oser.neotech3.org.
Puis créer des utilisateurs sur ce domaine. Et c’est parti.
Les prochaines guides parleront de l’intégration des autres briques logicielles de OBM, que nous installerons sur un autre serveur.
Il nous reste également à installe SOLR, pour que la gestion des contacts soit totalement opérationnelle.