Présentation

Le code source de BlueMind est compilé par un serveur d'intégration continue, et les binaires produits sont téléchargeables sur notre site sous forme d'installeurs qui rendent le processus aussi simple que possible. Il est toutefois envisageable de compiler BlueMind manuellement en suivant les instructions suivantes.

Prérequis

BlueMind doit être compilé avec Java 8.

Sur cette page :

Récupération et construction du code

Le code de BlueMind est publié dans https://forge.bluemind.net/stash/projects/BM/repos/bluemind-public. Il s'agit d'une copie de notre base de code interne, organisée de la façon suivante :

  • branche master : développement principal
  • branches release/X.Y.Z : base pour la future version X.Y.Z-H (par exemple release/3.5.14 pour la 3.5.14-2)
  • les dernières releases sont présentes sous forme de tag sur les branches de release

Pour récupérer et construire le code (ici pour la branche release/3.5.14) :

git clone --depth 1 --branch release/3.5.14 https://forge.bluemind.net/stash/scm/bm/bluemind-public.git
cd bluemind-public
mvn -P full clean install -Dmaven.test.skip=true

Tous les artifacts binaires BlueMind sont installés dans votre repository local maven.

Dépendances

Les paquets BlueMind dépendent de bm-cyrus et bm-nginx.

bm-cyrus

git clone https://forge.blue-mind.net/stash/scm/bm/bm-cyrus-imapd.git
cd bm-cyrus-imapd
./ci/build_cyrus.sh

bm-nginx

git clone https://forge.blue-mind.net/stash/scm/bm/bm-nginx.git
cd bm-nginx
./ci/build_nginx.sh

Environnement

Il ne suffit pas d'installer les paquets sur un serveur répondant aux pré-requis pour disposer d'une installation BlueMind fonctionnelle. Les étapes suivantes sont réalisées automatiquement par le paquet bm-installwizard inclus dans les installeurs.

Fichier de configuration bm.ini

Le fichier /etc/bm/bm.ini doit être créé avec le contenu suivant (à adapter selon votre configuration) :

[global]
external-url = your-domain.com
external-protocol = https
host = <YOUR SERVER IP>
dbtype = PGSQL
db = bj
user = bj
password = "bj"

Base de données postgresql

Les instructions suivantes portent sur postgresql 9.4, à adapter selon votre version du SGBD.

Nous vous proposons une configuration que vous pouvez adapter à vos besoins, à déposer dans /etc/postgresql/9.4/main/ en remplacement des fichiers existants :

pg_hba.confpostgresql.conf

Le fichier postgresql.conf doit être édité afin de poisitionner la valeur de l'option max_connections : la valeur recommandée étant : <NB CORES> * 10 + 10

La base de données correspondant à la version buildée peut être récupérée à l'adresse suivante : http://pkg.blue-mind.net/db/

Les commandes suivantes utilisent l'exemple de la version 3.0.23, et doivent être adaptées selon votre configuration de postgresql :

sudo -u postgres psql
create user bj with password 'bj';
create database bj;
grant all privileges on database bj to bj;
\q
sudo -u postgres psql bj < 3.0.23.sql

Insérer en base les informations de l'hôte :

sudo -u postgres psql
insert into host (host_domain_id, host_timeupdate, host_timecreate, host_name, host_ip) values (1, now(), now(), 'bluemind', '<ip_hote>');
insert into hosttag (tag_id, host_id) values ((SELECT id from systemtag where name='bm/core'), 1);
\q

Redémarrer BlueMind :

bmctl restart

Pour finir, nous vous conseillons de positionner la valeur kernel.shmmax=300000 dans le fichier /etc/sysctl.conf.

Configuration de nginx

Les fichiers bm-webmail et bm-client-access (dossier /etc/nginx/sites-available) doivent être édités pour remplacer "${externalUrl}" par l'URL externe du serveur (telle que spécifiée également dans bm.ini), puis copiés ou liés dans /etc/nginx/sites-enabled.

Il suffit ensuite de redémarrer votre serveur pour profiter de votre nouvelle installation BlueMind !

  • Aucune étiquette