Installer un serveur de messagerie IMAP sur Linux

Print E-mail
Technologie - Général
Thursday, 04 March 2010 21:19

outils Aujourd'hui, nous allons partir d'ici une étape par étape pour mettre en place un serveur de messagerie le plus simple possible et avec un accès via IMAP et webmail. Nous laissons à cet effet un serveur Debian nouvellement installés et ont un domaine et un service dont la gestion de nos enregistrements DNS. Pour l'installation nous allons utiliser Postfix comme SMTP, Dovecot comme serveur IMAP et Squirrel comme service Webmail.

La première chose à faire est de planifier les noms que vous devez vous inscrire dans le DNS pour le faire dès que possible et laisser le temps pour eux de se propager. En fait, un A et un enregistrement MX serait intéressant de nous et tout se déroulera sur la même machine, mais par la chose qui semble bon et réflexion sur les changements futurs de la fonction croissance et la nécessité d'utiliser des machines différentes pour tout, on devrait créez un enregistrement A pour chacun des services différents. Quelque chose comme:

smtp IN A 99.99.99.99
mail IN A 99.99.99.99
webmail IN A 99.99.99.99
@ IN MX 10 mail. midominio.com

Où, logiquement, nous devons changer midominio.com par le nom de domaine que vous allez utiliser et 99.99.99.99 pour l'adresse IP de notre machine.

Deuxièmement, nous devons installer les paquets que vous avez besoin. Nous laisserons le webmail à la fin et se concentrer sur le reste. Pour mettre en place nécessaire d'installer postfix et dovecot outre, les paquets nécessaires à l'authentification en utilisant le SASL protocole:

# apt-get install postfix-tls libsasl2-2 sasl2-bin libsasl2-modules dovecot-imapd

Le fichier de configuration principal de Postfix est /etc/postfix/main.cf Ensuite vous avez à faire est de le modifier et ajouter les lignes suivantes à votre contenu:

smtpd_sasl_local_domain = midominio.com
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
home_mailbox = Maildir/

Dans la première ligne doit remplacer la chaîne en caractères gras par le domaine dont le courrier que nous recevons. Le reste des paramètres déterminent le type d'authentification que nous parvenir, le service est responsable de l'authentification (colombier, dans ce cas) et les restrictions les plus communes sur l'accès au serveur. Vous avez une information détaillée tous dans ce lien.

Avec home_mailbox paramètre, très important, nous indiquons que nous voulons utiliser format de messagerie Postfix Maildir et que l'emplacement du dossier où il sera un répertoire nommé Maildir dans la racine du répertoire personnel de chaque utilisateur. S'il n'est pas ainsi précisé, le courrier sera stocké dans un fichier avec le nom de chaque compte d'utilisateur et sous / var / mail.

Une des opérations effectuées pendant l'installation de Dovecot est de créer la structure nécessaire pour accueillir les boîtes aux lettres dans le fichier / etc / skel qui sert de modèle pour construire la maison de nouveaux utilisateurs. Cela signifie que les utilisateurs qui ont créé au préalable avant de faire cette installation n'aura pas ces répertoires, et donc ne fonctionnera pas correctement. Pour reproduire ce que nous devons copier manuellement la structure. Supposons que nous voulons copier la structure de l'josemaria boîtes aux lettres utilisateur, déjà mis au point avant cette installation. L'opération serait le suivant:

# cp -r /etc/skel/Maildir /home/josemaria
# chown -R josemaria:josemaria /home/josemaria/Maildir
# chmod -R 700 /home/josemaria/Maildir

Dovecot de configuration effectuées dans le fichier / etc / dovecot / dovecot.conf. De même que le fichier de configuration de postfix est sencillito et abordables (a seulement 20 lignes), Dovecot est le frai de plus de 1000 lignes. Presque tous sont des commentaires, oui, mais toujours assez effrayant ...

Les deux premières modifications sont de déterminer le protocole que nous utilisons et activer l'authentification en texte clair. Pour les lignes suivantes et assurez-vous qu'ils ne sont pas commentés et que leurs valeurs sont les suivantes:

protocols = imap
disable_plaintext_auth = no

La modification suivante est de définir un identifiant unique pour chaque email que nous utilisons. Pour la compatibilité avec certains clients de Microsoft doivent être définis comme ceci:

pop3_uidl_format = %08Xu%08Xv

Et on définit simplement les paramètres de mécanisme d'authentification nous avons choisi. Nous le faisons dans le bloc suivant:

auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}

Maintenant nous avons besoin de faire quelques petites modifications afin de permettre la communication entre postfix et sasl. Depuis le démon s'exécute postix répertoire du chroot dans / var / spool / postfix, créer un lien existe qui peut être consulté démon SASL:

# mkdir -p /var/spool/postfix/var/run/saslauthd
# rm -r /var/run/saslauthd/
# ln -s /var/spool/postfix/var/run/saslauthd /var/run
# chgrp sasl /var/spool/postfix/var/run/saslauthd
# adduser postfix sasl

Et enfin, nous devons relancer les trois services concernés pour lire les changements effectués dans leurs configurations respectives:

#/etc/init.d/saslauthd restart
#/etc/init.d/postfix restart
#/etc/init.d/dovecot restart

Pour qui l'authentification utilisateur et mot de passe en clair vous tombez à court, vous pouvez jeter un oeil à ce tutoriel qui explique comment le faire via le protocole TLS.

Maintenant, pour l'installation de Squirrel Mail qui est beaucoup plus simple. Pour ce faire nous avons besoin d'installer apache, php et même l'écureuil:

# apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi squirrelmail

Dans le fichier / etc / squirrelmail apache.conf avez un fichier nommé avec les paramètres requis pour créer l'instance d'Apache qui nous permettra d'accéder à un écureuil. Nous devons éditer pour modifier les données de l'hôte virtuel que vous voulez créer:

<VirtualHost *:80 >
DocumentRoot /usr/share/squirrelmail
ServerName webmail. midominio.com
</VirtualHost>

Nous créons ensuite un lien vers ce fichier dans le répertoire de sites disponibles d'Apache:

# ln -s /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail

Enfin, nous rendre le site et demander à Apache pour recharger sa configuration à nouveau:

# a2ensite squirrelmail
# /etc/init.d/apache2 reload

La configuration de l'écureuil se fait par un simple programme en mode console qui vous permet de sélectionner la langue par défaut ou l'icône de la page de connexion, à l'emplacement du dossier par défaut ou les plugins disponibles. Le programme sera lancé avec la commande suivante:

# /usr/sbin/squirrelmail-configure

Avec cela, nous avons notre exploitation pour serveurs de messagerie parfaitement. Pour créer un nouveau compte de messagerie juste pour créer un nouvel utilisateur sur la machine. Si nous créons un compte appelé paquito, il crée automatiquement une boîte aux lettres pour This e-mail address is being protected from spambots. You need JavaScript enabled to view it dont les messages ont été stockés dans un répertoire nommé Maildir sera suspendu à partir de la maison de notre nouvel utilisateur.

Un couple d'ajustements finaux. Si votre machine permet un accès par SSH et veulent juste de donner accès au courrier électronique mais ne pas permettre à ces utilisateurs d'accéder à la console de la même, il est préférable que nous allons créer un groupe avec les utilisateurs qui ont accès à ssh et nous l'indiquer. Aussi, n'oubliez pas que l'authentification des comptes de messagerie que nous faisons en texte simple, que n'importe qui peut «écouter» et avoir un compte pour accéder à votre machine. Nous pourrions, par exemple, ont un groupe appelé ssh_permitido qui appartiennent à des utilisateurs avec autorisation d'accès et d'indiquer dans le fichier / etc / ssh / sshd_config avec la directive suivante:

AllowGroups ssh_permitido

Un autre possible "extra" permettrait aux utilisateurs de compte de courrier électronique pourrait changer leurs mots de passe via le web. En Unixcraft nous dire comment faire un script PHP pour le permettre.


Font