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 (encore en cours de développement) grâce à l'utilisation de tycho :
git clone http://git.blue-mind.net/gitrepo bluemind cd bluemind mvn clean install -Dmaven.test.skip=true
Tous les artifacts binaires BlueMind sont installés dans votre repository local maven. Les paquets deb produits (que l'on peut lister avec la commande 'find /home/dom/.m2/repository/ -name "*.deb"') peuvent être utilisés pour réaliser manuellement une installation vierge.
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.
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 :
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 !