Image Image Image Image Image
Scroll to Top

To Top

septembre 2015 - François Koessler

Configurer Postfix pour envoyer vos emails via 1and1

Mes emails sont hébergés chez le fournisseur de nom de domaine 1and1, et je voulais être capable d’envoyer des emails depuis mon serveur web perso sans avoir à passer par les serveur de mail 1and1. Cela permet entre autre aux applications web installées sur mon serveur de pouvoir envoyer des emails depuis l’adresse de mon nom de domaine et réduit la probabilité de ces emails d’être considérés comme du spam. Cet article décrit comment configurer Postfix.

Installation des paquets

Configuration de Postfix

La configuration de Postfix se fait dans le fichier /etc/postfix/main.cf . Les paramètres commançant par smtp_ concernent l’envoi d’email, ceux commançant par smtpd_ concernent la réception d’emails. Notre serveur mail Postfix n’a pas vocation à réceptionner les emails, ce sont les serveurs mail de 1and1 qui se chargent de cela. Nous désactivons donc les fonctionnalités de réception d’email. Je vous présente la configuration de Postfix section par section, tout se fait dans le fichier de configuration /etc/postfix/main.cf.

 

Rapports d’erreur

Des rapports d’erreur seront envoyés à l’adresse postfix-errors@mondomaine.fr lorsque Postfix rencontre un problème.

 

Activer l’envoi d’emails et désactiver la réception

 

SSL

Activation de SSL :

 

Authentication

Nous voulons nous authentifier chez les serveurs de 1and1 pour l’envoi d’emails :

 

Création du fichier contenant le mot de passe

La ligne de configuration « smtp_sasl_password_maps » mentionne un fichier qui contient l’identifiant et le mot de passe utilisé pour vous authentifier chez 1and1. Afin de générer ce fichier, commencez par exécuter les commandes :

Renseignez l’utilisateur et le mot de passe :

L’adresse nom@mondomaine.fr doit être une adresse mail valide que vous avez crée chez 1and1 suivie du password associé à cette adresse email. Une fois authentifié, vous pouvez envoyer des emails à partir d’adresses différentes.

Enregistrez le fichier et cryptez le à l’aide de la commande :

Vérifiez votre configuration Postfix :

Redémarrez Postfix :

 

Tester l’envoi de mail

Vérifiez que l’envoi de mail fonctionne correctement à l’aide de la commande :

Et vérifiez dans le fichier de log /var/log/mail.log  que tout s’est bien passé.

Surveiller un serveur distant en temps réel avec Nagios

Nagios est une solution open source permettant de surveiller des services tournant sur des serveurs distants. Il permet la création et l’envoi automatisé d’alertes lorsqu’un problème survient sur un service, par exemple lorsque votre serveur web n’est plus accessible en ligne ou lorsque le disque dur de votre serveur est rempli au dessus d’un certain seuil. Cet article vous guide dans l’installation et la configuration de Nagios 4 sur un serveur Ubuntu 14.04.

Installation de Nagios

Pour fonctionner, Nagios a besoin de l’utilisateur nagios et du groupe nagcmd qui éxecuteront les processus Nagios. Créez l’utilisateur et le groupe à l’aide des commandes :

Puisque nous installons Nagios à partir du code source et non à partir des paquets Ubuntu afin d’avoir la version la plus récente, nous devons installer manuellement les dépendances de Nagios :

Téléchargez le code source de Nagios. Pour ce faire, rendez vous sur la page de download de Nagios, cliquez le lien « Skip to download » et copiez le lien vers la dernière version stable de Nagios. A l’heure ou j’ecris cet article, il s’agit de Nagios version 4.1.1.

Puis téléchargez Nagios à l’aide de l’utilitaire curl :

Extrayez l’archive Nagios puis déplacez vous dans le répertoire contenant l’extraction :

Avant de compiler l’éxécutable Nagios, nous devons le configurer. Si vous souhaitez utiliser Nagios avec postfix pour l’envoi d’email, ajoutez l’option  -–with-mail=/usr/sbin/sendmail  à la commande suivante :

Compilez et installez Nagios ainsi que les scripts d’initialisation et les exemples de fichier de configuration :

Afin de permettre l’éxécution des commandes Nagios à partir de l’interface web, nous devons ajouter l’utilisateur Apache www-data au groupe nagcmd à l’aide de la commande :

 

Installation de Nagios Plugins

Trouvez la dernière version de Nagios Plugins depuis la page de téléchargement : http://nagios-plugins.org/download/. A l’heure ou j’écris cet article il s’agit de Nagios Plugins 2.1.1. Téléchargez Nagios Plugins à l’aide de l’utilitaire curl :

Extrayez l’archive puis déplacez vous dans le répertoire contenant l’extraction :

Configurez Nagios Plugins, compilez puis installez :

 

Installation de NRPE

A nouveau, déterminez quelle est la dernière version stable de NRPE depuis la page de download : http://sourceforge.net/projects/nagios/files/nrpe-2.x/. A l’heure ou j’écris cet article, il s’agit de NRPE version 2.15. Téléchargez à l’aide de l’utilitaire curl :

Extrayez l’archive puis déplacez vous dans le répertoire contenant l’extraction :

Configurez NRPE, compilez et installez à l’aide des commandes :

Ouvrez le script de démarrage de xinetd  /etc/xinetd.d/nrpe  et modifiez la ligne contenant l’instruction only-from  en ajoutant l’adresse IP de votre serveur Nagios :

Enregistrez et quittez.

Redémarrez le service xinetd afin de lancer NRPE:

 

Configuration de Nagios

Ouvrez le fichier de configuration /usr/local/nagios/etc/nagios.cfg . Trouvez et décommentez la ligne suivante en supprimant le caractère ‘#’ :

Sauvegardez puis quittez.

Créez le dossier qui contiendra la configuration de chaque serveur que vous souhaitez surveiller :

Ouvrez le fichier de configuration de Nagios contacts afin d’y renseigner l’adresse email qui recevra les alertes Nagios :

Trouvez la directive email et remplacez l’adresse email avec votre propre adresse :

Enregistrez et quittez.

Finalement, nous allons ajouter la commande check_nrpe à la configuration de Nagios afin de pouvoir l’utiliser. Ouvrez le fichier de configuration Nagios contenant les commandes disponibles :

Ajoutez les lignes suivantes a la fin du fichier de configuration :

 

Configuration d’Apache

Nous allons maintenant configurer Apache afin de servir l’interface web de Nagios sur un sous-domaine du type nagios.mondomaine.fr. Pour commencer, activez les modules rewrite et mod_cgi d’Apache :

Créez un utilisateur à l’aide de l’utilitaire htpasswd ayant accès a l’interface web de Nagios :

Je choisis de modifier le VirtualHost Apache afin de servir l’interface web Nagios au sous domaine : nagios.mondomaine.fr. Voici le contenu du fichier de configuration du VirtualHost Apache /etc/apache2/sites-available/nagios.conf :

Activez le VirtualHost à l’aide de la commande :

Démarrez Nagios et redémarrez Apache :

Vous avez désormais accès a l’interface web de Nagios ! Rendez-vous à l’url nagios.mondomaine.fr.
Dernier point, afin que Nagios se lance automatiquement au démarrage de votre serveur, exécutez la commande suivante :

 

Ajout d’un hôte distant à NRPE

Dans cette section, nous allons ajouter un serveur distant à Nagios afin de le surveiller. Répétez cette étape pour chaque nouveau serveur que vous souhaitez monitorer avec Nagios.

Sur ce serveur, commencez par mettre à jour les paquets puis installez Nagios Plugins ainsi que NRPE :

Mettez à jour la configuration de NRPE afin d’autoriser le serveur de monitoring a récupérer les informations nécessaires :

Trouvez la ligne contenant l’option allowed_hosts et ajoutez-y l’IP de votre serveur de monitoring :

Enregistrez et quittez.

Editez le fichier de configuration  /etc/nagios/nrpe.cfg  :

C’est aussi dans ce fichier de configuration que vous allez allez définir les commandes éxécutées à distance par Nagios, je m’explique à l’aide d’un exemple : je veux surveiller l’espace disque libre sur la partition /home de mon serveur distant. J’ajoute alors la configuration suivante dans le fichier nrpe.cfg :

Je peux alors définir le service suivant sur mon serveur de monitoring dans le fichier myhost.cfg que nous allons créer plus bas :

Je donne ici à titre d’exemple quelques commandes définies dans le fichier nrpe.cfg sur un serveur distant surveillé avec nagios :

N’oubliez pas de redémarrer NRPE après toute modification apportée à ce fichier de configuration :

 

Ajout du nouvel hôte distant dans Nagios

Connectez vous à nouveau sur votre serveur de monitoring et créez un nouveau fichier de configuration dans le dossier /usr/local/nagios/etc/servers/  . Remplacez yourhost par le nom du serveur que vous voulez monitorer :

Définissez l’hôte ainsi que les services que vous désirez surveiller sur cet hôte distant.

 

 

 

 

 

Monitorer des serveurs distants avec Munin

Munin est un outil open source de surveillance permettant l’analyse des variations d’utilisation des ressources serveurs et permettant de répondre aux problematiques de type « qu’est ce qui vient de se passer sur mon serveur, pourquoi cette chute des performances de mon serveur ? ». Il est conçu pour être plug and play. Une installation par défaut fournit un grand nombre de graphiques intéressants. Cet article vous guide dans l’installation de Munin version 2.0.19-3 sur un serveur Ubuntu 14.04.

Munin s’installe sur le serveur de monitoring qui servira les graphiques permettant l’analyse de l’utilisation des ressources au travers d’une interface web. L’utilitaire munin-node s’installe sur les serveurs à surveiller et permet la connexion à l’outil de monitoring munin.

Les graphiques générés par Munin seront servi par le serveur web Apache, soyez donc certains d’avoir Apache installé. Vous pouvez vérifier avec la commande : apache2 -v

Si Apache n’est pas installé, vous pouvez l’installer à l’aide de la commande :

 

Installation de Munin

Munin peut être installé à l’aide du gestionnaire de paquet Ubuntu apt-get. Commencez par installer Munin sur le serveur de monitoring :

 

Configuration de Munin

Ouvrez le fichier de configuration de munin /etc/munin/munin.conf  et payez une attention particulière aux lignes de configuration suivantes :

Pour ma part, je choisis de modifier l’emplacement des fichiers html afin d’avoir munin au même endroit que les autres applications web de mon serveur :

Je modifie aussi le « simple host tree » un peu plus bas dans le fichier de configuration et remplace « localhost.localdomain » par « mondomain.fr ». Enregistrez le fichier et fermez le.

Par default, munin est servi a l’url www.mondomaine.fr/munin. Si vous souhaitez fonctionner de cette manière, il vous suffit de garder la configuration Apache telle quelle dans /etc/munin/apache.conf. Pour ma part, je souhaite servir les pages de graphique munin à partir du sous-domaine munin.mondomaine.fr. Je désactive donc la configuration Apache par défaut de munin a l’aide de la commande sudo a2disconf munin.

Je crée ensuite le VirtualHost Apache afin de servir les graphiques munin à l’url munin.mondomaine.fr : sudo vim /etc/apache/sites-available/munin.conf . Je choisis de protéger l’accès à cette page a l’aide du module Apache mod_auth_basic, libre à vous de choisir une autre solution d’authentification si vous le souhaitez. Afin de vous aider dans votre choix, vous pouvez vous référer à cette page : http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html

Ne pas oublier de créer le fichier contenant les login et mots de passe permettant d’accéder à la page à l’aide de l’utilitaire htpasswd. Vous pouvez installer cet utilitaire à l’aide de la commande :

Puis générez le fichier contenant les identifiants de connexion :

Vous pouvez desormais déjà visionner les graphiques d’utilisation des ressources de votre serveur de monitoring à partir de l’adresse munin.mondomaine.fr

Installation et configuration de munin-node

Nous allons maintenant installer et configurer l’utilitaire munin-node sur le serveur distant que nous souhaitons surveiller. munin-node est l’utilitaire qui enverra les informations d’utilisation des ressources vers Munin installé sur notre serveur de monitoring.

Editez le fichier de configuration /etc/munin/munin-node.conf  et recherchez la section contenant l’instruction « allow ^127\.0\.0\.1$ ». Remplacez cette adresse IP par celle de votre serveur de monitoring. Sauvegardez et fermez le fichier puis redémarrez l’utilitaire munin-node à l’aide de la commande :

Finalement, il nous reste à ajouter ce serveur dans la liste des serveurs à monitorer. Retournez sur votre serveur de monitoring ayant Munin d’installé et éditez le fichier /etc/munin/munin.conf. Recherchez la section contenant les lignes suivantes :

Copiez collez ces lignes puis remplacez avec les informations concernant le serveur à surveiller :

Enregistrez et refermez le fichier, puis redemarrez Apache afin de recharger la configuration : sudo service apache2 reload .

Vous pouvez maintenant visualiser les graphiques d’utilisation des ressources de votre serveur distant. Libre à vous d’ajouter plus de serveurs à surveiller.