Installer BlueMind sur le serveur principal en suivant la procédure habituelle
L'espace de stockage des backups de BlueMind doit être accessible sur ce nouveau serveur sous /var/backups/bluemind |
installer la souscription sur le serveur secondaire en tant que fichier
Rappel : le fichier texte correspondant à la souscription peut être installé manuellement sur un serveur
|
installer le paquet bm-edge-role
sur le serveur edge :
|
naviguer jusqu'au dossier /etc/nginx/sites-available
bm35-edge.bluemind.loc:~# cd /etc/nginx/sites-available |
créer un fichier de configuration bm-proxy
et l'éditer, par exemple avec vim :
bm35-edge.bluemind.loc:/etc/nginx/sites-available# vim bm-proxy |
ajouter les lignes suivantes :
server { listen 80; # <url_externe_bluemind> désigne l'url externe à laquelle les utilisateurs se connectent server_name <url_externe_bluemind>; location / { return 301 https://<url_externe_bluemind>$request_uri; } } server { listen 443; server_name <url_externe_bluemind>; ssl on; ssl_certificate /etc/ssl/certs/bm_cert.pem; ssl_certificate_key /etc/ssl/certs/bm_cert.pem; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA'; add_header Strict-Transport-Security max-age=15768000; # six months proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { # <srv_interne> est le serveur BlueMind principal proxy_pass https://<srv_interne>; } location /webmail/ { client_max_body_size 0m; proxy_pass https://<srv_interne>/webmail/; } location /Microsoft-Server-ActiveSync { proxy_pass https://<srv_interne>/Microsoft-Server-ActiveSync; proxy_read_timeout 1200s; proxy_headers_hash_bucket_size 128; proxy_headers_hash_max_size 2048; client_max_body_size 10m; proxy_pass_header Server; } location /eventbus { proxy_pass https://<srv_interne>; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /api/filehosting/ { client_max_body_size 0m; proxy_pass https://<srv_interne>$request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_buffering off; } location /api/attachment/ { client_max_body_size 0m; proxy_pass https://<srv_interne>$request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_buffering off; } location /fh/ { proxy_pass https://<srv_interne>/fh/; proxy_http_version 1.1; proxy_buffering off; } } |
exécuter les commandes suivantes pour mettre en place la configuration :
bm35-edge.bluemind.loc:/etc/nginx/sites-available# ln -s /etc/nginx/sites-available/bm-proxy /etc/nginx/sites-enabled/ bm35-edge.bluemind.loc:/etc/nginx/sites-available# rm /etc/nginx/sites-enabled/default |
recharger la configuration du serveur nginx :
|
Sur le serveur edge, copier le fichier de configuration du serveur principal situé à l'emplacement /etc/nginx/global.d/bm-proxy-mail.conf
. Il est possible pour cela d'utiliser scp :
bm35-edge.bluemind.loc:~# scp root@srv1.bluemind.loc:/etc/nginx/global.d/bm-mail-proxy.conf /etc/nginx/global.d/ |
éditer le fichier /etc/nginx/global.d/bm-mail-proxy.conf
sur le serveur edge et remplacer l'adresse IP de la ligne auth_http
par l'adresse IP du serveur principal
recharger la configuration nginx :
|
Pour que le serveur prenne en charge la gestion du flux XMPP :
créer le fichier /etc/nginx/global.d/bm-xmpp-proxy.conf
avec le contenu suivant :
stream { upstream backend_xmpp { least_conn; server 1.2.3.4:5222; server 1.2.3.5:5222 backup; } server { listen 5222; proxy_pass backend_xmpp ; } } |
en remplaçant 1.2.3.4 par l'adresse IP du serveur principal, ou du serveur ayant le rôle XMPP s'il y a lieu
Recharger la configuration nginx :
|
Il est aussi possible d'utiliser Apache comme proxy à la place de Nginx. Pour cela, il faudra utiliser une version >=2.4 d'Apache et activer les modules suivant :
Exemple de VirtualHost pour Apache :
<VirtualHost *:80> Redirect / https://<url_externe_bluemind>/ </VirtualHost> <VirtualHost *:443> SSLEngine On SSLCertificateFile "/etc/ssl/certs/bm_cert.pem" SSLCertificateKeyFile "/etc/ssl/certs/bm_cert.pem" SSLProxyEngine On SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off SSLProxyVerify none # Websocket proxy RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC] RewriteRule .* wss://<srv_interne>%{REQUEST_URI} [P] ProxyPreserveHost On <Location /> ProxyPass https://<srv_interne>/ ProxyPassReverse https://<srv_interne>/ </Location> </VirtualHost> |