Vous regardez une version antérieure (v. /confluence/display/BM35/Building+BlueMind) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 16) afficher la version suivante »

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.

Pas à pas pour la version master (à partir de BlueMind 3.5)

Pré-requis : une distribution de type debian, java 8 et maven.

Le build a été très largement simplifié à partir de BlueMind 3.5 grâce à l'utilisation de tycho :

git clone http://git.blue-mind.net/gitrepos/bluemind
cd bluemind
mvn -P full clean install -Dmaven.test.skip=true

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

Pas à pas pour la version 3

Le build nécessite l'enchaînement de nombreux scripts ad hoc. Nous fournissons une procédure simplifiée à partir d'une image docker, que vous pouvez adapter selon vos besoins.

Pré-requis : une distribution linux avec docker >= 1.6.2 et les deux fichiers suivants.

Dockerfilebluemind-build.sh

Dans votre répertoire de travail, positionnez Dockerfile à la racine et le script bluemind-build.sh dans un nouveau dossier "build". Exécutez ensuite les commandes suivantes pour construire le tag release-3.0.23 (à remplacer par la référence git de votre choix du repository http://git.blue-mind.net) :

docker build --rm -t bluemind/3 .
chmod +x build/bluemind-build.sh
docker run --rm=true -v `pwd`/build/:/bluemind bluemind/3 release-3.0.23

Les paquets deb nécessaires à une installation vierge de BlueMind sont alors disponibles dans le dossier build/bluemind/build_artifacts/.

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