Skip to end of metadata
Go to start of metadata

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.

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  thanks to maven/ tycho:

git clone http://git.blue-mind.net/gitrepos/bluemind
cd bluemind
mvn -P full 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:

Dockerfile bluemind-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.23

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

Dependancies

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


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

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

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

pg_hba.conf postgresql.conf

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:

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

Insert host information in database :

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

Restart BlueMind :

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!