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.
Construire les paquets
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 :
Bloc de code |
---|
git clone -b master http://git.blue-mind.net 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.
...
Les paquets deb nécessaires à une installation vierge de BlueMind sont alors disponibles dans le dossier build/bluemind/build_artifacts/.
Installer BlueMind
Dépendances
Les paquets BlueMind dépendent de bm-cyrus et bm-nginx.
Afin de pouvoir construire ces dépendances, s'assurer que les paquets de développement suivants sont installés :
Bloc de code |
---|
aptitude install build_essential quilt devscripts |
bm-cyrus
Bloc de code |
---|
git clone https://forge.blue-mind.net/stash/scm/bm/bm-cyrus-imapd.git cd bm-cyrus-imapd mk-build-deps --install debian/control dpkg-buildpackage -us -uc -b./ci/build_cyrus.sh |
bm-nginx
Bloc de code |
---|
git clone https://forge.blue-mind.net/stash/scm/bm/bm-nginx.git cd bm-nginx mk-build-deps --install debian/control dpkg-buildpackage -us -uc -b./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) :
Bloc de code |
---|
[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.
...
Le fichier postgresql.conf doit être édité afin de positionner poisitionner la valeur de l'option max_connections : la valeur recommandée étant : <NB CORES> * 10 + 10
...
Bloc de code |
---|
sudo -u postgres psql create user bj with password 'bj'; create database bj; grant all privilegespriviledges on database bj to bj; \q sudo -u postgres psql bj < 3.0.23.sql |
...
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 toutes les occurrences de "${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 nginx pour profiter de votre nouvelle installation BlueMind !