Installer la suite OBM sur FreeBSD – Part 1 – OBM UI 2.3.9

logo_obm

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.

 

 

Vus : 1899
Publié par OsEr : 15