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-4
Sv translation
languagefr
Remarque

Cette page n'est plus actualisée. À partir de BlueMind 4.8, veuillez consulter la nouvelle documentation BlueMind

Architecture des services

Volet
borderWidth3

Sur cette page :

Sommaire
maxLevel2

En rapport :
Les ports
Applications et Composants

  • BM-Core est le composant central de BlueMind. Il est le centre de gestion unique des données et des règles métier. C'est le seul composant à accéder à la base de données.

  • Toutes les fonctionnalités sont exposées en eb Services et peuvent donc être pilotées par d'autres applications.

  • Tous les composants, internes ou externes, utilisent les Web Services. Cela a pour avantage de limiter les flux depuis et vers la messagerie BlueMind (qui sont restreint aux flux Web Services et au flux de messagerie) et de garantir l'utilisation de règles de gestion homogènes quel que soit le point d'entrée d'une modification.

Diagramme Gliffy
size850
namearchitecture v4

Paquets fournis avec BlueMind

Les paquets sont disponibles dans /var/spool/bluemind-pkgs/

Les commandes aptitude (Debian/Ubuntu) et yum (RedHat) permettent d'effectuer des recherches et lister les paquets disponibles et/ou installés.

Services utilisés par BlueMind

ServiceUtilisation

net.bluemind.eas.push

synchronisation des périphériques mobiles via le protocole Exchange Active Sync
net.bluemind.dav.server.davsynchronisation CardDav et CalDav des clients Apple
net.bluemind.milter.milterservice milter
net.bluemind.xmpp.server.launcher.tigasemessagerie instantanée
net.bluemind.core.launcher.coreservice principal
net.bluemind.node.server.nodelaunchercommunication entre les différentes serveurs dans le cas d'une installation multi-serveurs
net.bluemind.tika.server.tikadétection et extraction des métadonnées et textes de documents
net.bluemind.proxy.http.launcher.hpslauncherproxy d'authentification
exchange.httpcommunication avec MAPI
net.bluemind.webmodules.launcher.webLauncherproxy HTTP pour les webservices
net.bluemind.locator.appservice de localisation des différents serveurs dans le cas d'une installation multi-serveurs
org.elasticsearch.bootstrap.Elasticsearchservice d'indexation et de recherche
net.bluemind.ysnp.ysnpauthentification SMTP et IMAP
net.bluemind.lmtpservice local de transfert de courrier
postgresqlbase de données
postfix

serveur de messagerie

nginx

proxy HTTP + IMAP

php-fpm

interpréteur PHP pour les applications web (webmail)
cyrus (imapd et pop3d)service pour la synchronisation imap et pop de logiciels de messagerie tiers (lourds ou mobiles)

Données utilisées par BlueMind

Sauvegarde

  • /var/backups/bluemind

/etc

Les fichiers et répertoires situés dans /etc/ contiennent les configurations des composants utilisés par BlueMind :

Fichier/répertoireContenu

bm

bm.ini, les certificats et clés ssh de bm-node.

bm-node

rsync.excludes
bm-webmailconfiguration de php5-fpm pour BlueMind et nginx-webmail.conf
cyrus.confconfiguration de cyrus
imapd.confconfiguration de imap (généré par bm-core)
nginxconfiguration de nginx
php5configuration de php5
postfix

configuration de postfix, notamment les maps de transport

Avertissement

Il est possible d'ajouter des maps postfix supplémentaires mais il ne faut en aucun cas enlever ou modifier les maps déjà existantes et utilisées par BlueMind.

postgresqlconfiguration de postgresql

/usr/share

Les sous-répertoires situés dans /usr/share/ contiennent les modules et applications web. Les données présentes dans ces répertoires sont installées par les paquets BlueMind et ne doivent pas être modifiés

  • bm-conf/logs : configuration par défault des logs applicatif (log4)

/var/spool

Les sous-répertoires de /var/spool/ contiennent les données utilisées par BlueMind (exceptées celles contenues dans la base de données postgresql) :

RépertoireDonnéestype stockage

bm-docs

documents BlueMind (photos utilisateurs/resources)tous
bm-elasticsearchindex ElasticSearchblock device
bm-hsmmails archivéstous
bm-filehostingpièces jointes détachés des mailstous
cyrus/datamailstous
cyrus/metametadonnées des mailsblock device
postfix

files d'attentes postfix

tous
sievescript sievetous
bluemind-pkgsdonnées d'installation de BlueMind - utilisé à l'installation et tant qu'on n'a pas de souscriptiontous

/var/lib

Les données situées dans /var/lib/ ne doivent pas être modifiées manuellement :

RépertoireContenu

bm-ca

autorité de certification généré lors de l'installation
postgresqlbase de données postgresql
cyrusinformations administratives de Cyrus - liste des BAL, ACLs, quota, quota utilisé

Estimation de taille des dossiers

La taille usuelle de certains dossiers peut être estimée de la façon suivante :

DossierTaille estimée

/var/spool/bm-elasticsearch

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

La taille de la partition doit être d'AU MOINS 2 fois le volume de données contenu.

Idéalement, ce dossier sera déporté et séparé en 2 partitions dédiées, qui respecteront la même contrainte de taille :

  • /var/spool/bm-elasticsearch/data
  • /var/spool/bm-elasticsearch/repo
/var/spool/cyrus/meta~10% de /var/spool/cyrus/data + /var/spool/bm-hsm
/var/spool/sieve~1Mo/(utilisateurs+mailshare)
DossierType de montageTaille estimée

/var/lib/cyrus

block device~10Go
/var/lib/postgresqlblock device~20Go
Remarque

Il s'agit là d'estimations, qui peuvent être amenées à varier suivant les installations et l'évolution de l'organisation, il est donc préférable d'utiliser des technologies permettant d'agrandir simplement les FS.

Logs

Les logs sont écrits dans des sous-répertoires du répertoire /var/log/ :

RépertoireContenu

bm

logs du core
bm-elasticsearchlogs elasticsearch
bm-hpslogs hps
bm-lmtpdlogs service LMTP
bm-locatorlogs locator
bm-mapilogs service mapi
bm-nodelogs du node
bm-tikalogs de Tika
bm-webserverlogs du webserver
bm-webmaillogs du webmail
bm-xmpplogs XMPP
bm-ysnplogs YNSP

Pour les autres composants qu'il est possible de superviser, les fichiers ou sous-répetoires suivants peuvent être utilisés :

Fichier/répertoireContenu
mail.errerreurs Postfix/Cyrus
mail.loglogs Postfix/Cyrus
nginx/logs NGinx
bm-php5-fpm/logs FPM (/var/log/bm-php-fpm/ sur RedHat)
postgresql/logs de PostgreSQL

Pour plus de détails, consultez la page dédiée Logs - Fichiers journaux

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation

Service architecture

Volet

On this page:

Sommaire
maxLevel2

Related:
Les ports
Applications et Composants


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

Diagramme Gliffy
size850
namearchitecture 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

Avertissement

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
Remarque

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 - Fichiers journaux

...