Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Published by Scroll Versions from space DA and version BM-3.5
Sv translation
languagefr

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.

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 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.

View file
nameDockerfile
height250
View file
namebluemind-build.sh
height250

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) :

Bloc de code
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/

Prérequis

BlueMind doit être compilé avec Java 8.

Volet

Sur cette page :

Sommaire

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) :

Bloc de code
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

Bloc de code
git clone https://forge.blue-mind.net/stash/scm/bm/bm-cyrus-imapd.git
cd bm-cyrus-imapd
./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
./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.

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

View file
namepg_hba.conf
height250
View file
namepostgresql.conf
height250

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 :

Bloc de code
sudo -u postgres psql
create user bj with password 'bj';
create database bj;
grant all 
priviledges
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 :

Bloc de code
sudo -u postgres 
pqsl
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 :

Bloc de code
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 !

Sv translation
languageen

Introduction

BlueMind source code is compiled by a continuous integration server, and binary installers are downloadable from our site to make the process as simple as possible. However, it is possible to compile BlueMind manually by following the instructions below.

Building packages

Step by step process for master version (from BlueMind 3.5)

Prerequisite: a debian/ubuntu recent distribution, java 8, maven

The build was greatly simplified from BlueMind 3.5 (still in development) thanks to maven/tycho:

 

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

 

BlueMind binary artifacts will then be available in your local maven repository. Distribution packages  (that can be listed with the command 'find ~ / .m2 / repository / -name "* .deb"') can be used to manually perform a clean installation.

Step by step process for version 3.0

The build requires several steps using ad hoc scripts. We provide a simplified procedure making user of a docker image, which you can adapt to your needs.

Prerequisite : a recent linux distribution with docker >= 1.6.2 and the two following files:

Image RemovedDockerfileImage Removedbluemind-build.sh

In your working directory, store Dockerfile to  to your root directory and store bluemind-build.sh script in a new "build" folder. Then run the following commands to build the 3.0.29 release-tag (this is an example to be replaced by the git reference  of your choice in our repository http://git.blue-mind.net/gitlist/bluemind/):

 

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.29

 

Deb packages needed for a fresh BlueMind installation  are then available in the build/bluemind/build_artifacts/ folder.

Installing BlueMind

Dependancies

Pure java BlueMind packages that were just built depend on native packages bm-cyrus and bm-nginx, which depend on your target distribution

In order to build these dependencies, ensure that the following development packages are installed:

 

aptitude install build_essential quilt devscripts

 

bm-cyrus

 

Prerequisites

BlueMind must be build with Java 8

Volet

On this page:

Sommaire

Fetching and building code

BlueMind code is published here: https://forge.bluemind.net/stash/projects/BM/repos/bluemind-public. It is a public copy of our internal repository which follows the following guidelines:

  • master branch: main development
  • dev/XY branches: base branches for future X.Y.Z-W release (for instance dev/35 for BlueMind 3.5.14-2)
  • release/X branches: code for BlueMind released versions. The tip of those branches is static: they are effectively used as tags.

To fetch and build the code:

Bloc de code
git clone --depth 1 --branch dev/35 https://forge.bluemind.net/stash/scm/bm/bluemind-public.git
cd bluemind-public
mvn clean install -Dmaven.test.skip=true

All BlueMind binary artifacts will be installed in your local maven repository.


Dependancies

bm-cyrus


Bloc de code
git clone 
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


Environment

Installing packages on a server that meets the prerequisites is not enough to to have a working BlueMind installation. The following steps must additionally be performed (convenience bm-installwizard package included in the installers does just this).

bm.ini configuration file

The file /etc/bm/bm.ini must be created with the following content (to be tuned to your configuration):

 
Bloc de code
[global]

external-url = your-domain.com

external-protocol = https

host = <YOUR SERVER IP>

dbtype = PGSQL

db = bj

user = bj

password =
  postgresql
 "bj"

 

Image Removed

Postgresql database

The following instructions are related to postgresql 9.5, to be tuned to your DBMS version.

We propose a configuration that you can adapt to your needs. Replace the following files in /etc/postgresql/9.5/main/:

View file
name

pg_hba.conf

Image Removed

height250
View file
namepostgresql.conf
height250

The postgresql.conf file must be edited to set the value of max_connections option. The recommended value being: <NB CORES> * 10 + 10

The database corresponding to the builder version may be downloaded at the following address: http://pkg.blue-mind.net/db/

The following commands use the example of the 3.0.29 release, and should be adjusted depending on your postgresql configuration:

 
Bloc de code
sudo -u postgres psql

create user bj with
password 
 password 'bj';

create database bj;

grant all privileges on database bj to bj;

\q

sudo -u postgres psql bj
 < 3.0.
29
23.sql

 

Insert host information in database :

 
Bloc de code

 

sudo -u postgres
pqsl
 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

 

Restart BlueMind :

 
Bloc de code
bmctl restart
 

Finally, we recommend that you set the value kernel.shmmax=300000 in /etc/sysctl.conf.

nginx configuration

The bm-webmail and bm-client-access files (in /etc/nginx/sites-available folder) must be edited to replace all  "${externalUrl}" occurences with the server external URL (as specified in bm.ini), then symlinked to /etc/nginx/sites-enabled.

Then just restart your nginx server to enjoy your new BlueMind system!