Skip to end of metadata
Go to start of metadata

Service architecture


  • BM-Core is BlueMind's core component. It serves a a single management center for data and business rules. It is the only component that accesses the database.
  • All functionalities are exposed as Web Services and can therefore be driven by other applications.

  • All components, whether internal or external, use Web Services. This is useful for limiting incoming and outgoing BlueMind Mail flows (which are restricted to Web Services flows and mail flows) and ensuring the use of consistent management rules whatever the point of entry of a modification.

architecture v4

Packages supplied with BlueMind

Packages are available in /var/spool/bluemind-pkgs/

Aptitude (Debian/Ubuntu) and yum (RedHat) shell commands are used to search and list available and/or installed packages.

Services used by BlueMind

ServiceUse

net.bluemind.eas.push

syncing of mobile devices through the Exchange Active Sync protocol
net.bluemind.dav.server.davCardDav and CalDav syncing of Apple clients
net.bluemind.milter.miltermilter service 
net.bluemind.xmpp.server.launcher.tigaseinstant messaging
net.bluemind.core.launcher.coremain service
net.bluemind.node.server.nodelaunchercommunication between different servers in multi-server installations 
net.bluemind.tika.server.tikadetection and extraction of metadata and texts from documents
net.bluemind.proxy.http.launcher.hpslauncherauthentication proxy 
exchange.httpcommunication with MAPI
net.bluemind.webmodules.launcher.webLauncherHTTP proxy for webservices
net.bluemind.locator.applocation service for different servers in multi-server installations
org.elasticsearch.bootstrap.Elasticsearchindexing and search service 
net.bluemind.ysnp.ysnpSMTP and IMAP authentication
net.bluemind.lmtplocal mail transfer service 
postgresqldatabase
postfix

mail server

nginx

HTTP + IMAP server

php-fpm

PHP interpreter for web applications (webmail)
cyrus (imapd and pop3d)imap and pop syncing service for third-party mail software (thick or mobile clients)

Data used by BlueMind

Backup 

  • /var/backups/bluemind

/etc

The files and directories found in /etc/ contain the configuration of the components BlueMind uses.

File/directoryContents

bm

bm.ini, bm-node certificates and ssh keys

bm-node

rsync.excludes
bm-webmailphp5-fpm configuration for BlueMind and nginx-webmail.conf
cyrus.confCyrus configuration
imapd.confimap configuration (generated by bm-core)
nginxnginx configuration
php5php5 configuration
postfix

postfix configuration, including transport maps

You can add extra postfix maps but under no circumstances should you remove or edit existing maps used by BlueMind.

postgresqlpostgresql configuration

/usr/share

Subfolders located in /usr/share/ contain web modules and applications. The data in these directories is installed by the BlueMind packages and must not be edited.

  • bm-conf/logs: applicative logs default configuration (log4)

/var/spool

/var/spool/ sub-directories contain the data used by BlueMind (excluding the data contained in the postgresql database).

DirectoryDataStorage Type

bm-docs

BlueMind documents (user/resource photos)all
bm-elasticsearchElasticSearch indexblock device
bm-hsmarchived emails all
bm-filehostinglinked email attachmentsall
cyrus/dataemailsall
cyrus/metaemail metadatablock device
postfix

postfix queues

all
sievescript sieveall
bluemind-pkgsBlueMind installation data - used during installation and as long as you don't have a subscriptionall

/var/lib

The data found in /var/lib/ must not be edited manually.

DirectoryContents

bm-ca

certification authority generated during installation
postgresqlpostgresql database
cyrusCyrus administrative information - list of BAL, ACLs, quota, quota used

Estimating folder sizes

The usual size of some folders can be estimated:

FolderEstimated Size

/var/spool/bm-elasticsearch

~10% /var/spool/cyrus/data + /var/spool/bm-hsm

The size of the partition must be AT LEAST twice the volume of the data it contains.

Ideally, this folder should be deported and split into 2 dedicated partitions, which must meet the same size constraints:

  • /var/spool/bm-elasticsearch/data
  • /var/spool/bm-elasticsearch/repo
/var/spool/cyrus/meta~10% /var/spool/cyrus/data + /var/spool/bm-hsm
/var/spool/sieve~1Mb/(users+mailshare)
FolderMount TypeEstimated Size

/var/lib/cyrus

block device~10Gb
/var/lib/postgresqlblock device~20Gb

These are mere estimates, which may vary depending on your install and your organization's evolution. We therefore recommend that you use technologies that enable you to increase the size of your file system easily.

Logs

Logs are written into subdirectories of the /var/log/ directory:

DirectoryContent

bm

core logs 
bm-elasticsearchelasticsearch logs
bm-hpshps logs
bm-lmtpdLMTP service logs
bm-locatorlocator logs
bm-mapi

mapi service logs

bm-nodenode logs
bm-tikaTika logs
bm-webserverwebserver logs
bm-webmailwebmail logs
bm-xmppXMPP logs
bm-ysnpYNSP logs

For other components you may want to monitor, the following folders or sub-directories can be used:

Folder/directoryContents
mail.errPostfix/Cyrus errors
mail.logPostfix/Cyrus logs
nginx/NGinx logs
bm-php5-fpm/FPM logs (/var/log/bm-php-fpm/ on RedHat)
postgresql/PostgreSQL logs

For more information, please see Logs

  • No labels