Building packagesPrerequisite: 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:
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.0The 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 BlueMindDependanciesPure 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 Fetching and building codeBlueMind 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.
Dependanciesbm-cyrus
git clone https://forge.blue-mind.net/stash/scm/bm/bm-cyrus-imapd.git |
mk-build-deps --install debian/control
dpkg-buildpackage -us -uc -b
Bloc de code |
---|
git clone https://forge.blue-mind.net/stash/scm/bm/bm-nginx.git |
mk-build-deps --install debian/control
dpkg-buildpackage -us -uc -b
EnvironmentInstalling 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 fileThe file /etc/bm/bm.ini must be created with the following content (to be tuned to your configuration):
external-url = your-domain.com |
external-protocol = https |
postgresql Image RemovedPostgresql databaseThe 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/: Image Removed View file |
---|
name | postgresql.conf |
---|
height | 250 |
---|
|
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 |
password
grant all privileges on database bj to bj; |
< 29 Insert host information in database : pqsl psql
insert into host (host_domain_id, host_timeupdate, host_timecreate, host_name, host_ip) values (1, now(), now(), |
insert into hosttag (tag_id, host_id) values ((SELECT id from systemtag where name='bm/core'), |
Bloc de code |
---|
bmctl restart |
Finally, we recommend that you set the value kernel.shmmax=300000 in /etc/sysctl.conf. nginx configurationThe 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! |