Skip to main content

Installer un serveur Mail (Postfix)

1 - Délégation DNS (OVH) :

Je vais créer un sous domaine "mymail.nehemiebarkia.fr" et pointer un MX dessus : 

mymail IN A 35.241.173.178
mymail IN MX 1 mymail
 
2 - Mettre à jour le système :
apt-get update ; apt-get upgrade -y
 
3 - Installation de LAMP :
wget https://scripts.nehemiebarkia.fr/BASH/Installations/LAMP.sh
bash LAMP.sh
 
4 - Installation de Mailutils & Tree :
apt-get install tree mailutils -y

 

5 - Installation de Postfix :
apt-get install postfix postfix-mysql -y

--> Lors de l'installation, vous choisirez "Site internet".

--> Puis nous précisons le nom de domaine du mail : 

image-1616447828058.png

N'oubliez pas le "." à la fin de votre nom de domaine !

 
6 - Installation de Dovecot :
apt-get install dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-managesieved -y

 

7 - Groupe d'utilisateurs Linux : 

Nous allons créer le groupe vmail qui accueillera les mails. Nous allons également créer l'utilisateur vmail

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/vmail -m

Si vous utilisez une machine virtuelle chez Google, commencer les deux commandes avec "/usr/sbin/".

8 - Installation de Postfixadmin

Avant d'installer Postfixadmin, nous allons préparer mariadb :

mysql_secure_installation

--> Vous allez définir un nouveau mot de passe pour le compte root puis procéder aux options par défaut.

 

a) Base de données :

Nous entrons dans la console mariadb. 

mariadb -u root -p

Le mot de passe demandé est celui que vous avez précédemment changé et non le mot de passe root de l'utilisateur sur le serveur linux.

Création de l'utilisateur SQL.

CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'MYPASSWORD';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';

Par mesure de sécurité nous créons un second utilisateur qui n'aura uniquement que des droits de lecture sur la base de données :

CREATE USER 'mailuser'@'localhost' IDENTIFIED BY 'MYPASSWORD';
GRANT SELECT ON `postfix`.* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;
QUIT ;

 

b) Postfixadmin :

Maintenant que tout ça est fait, nous pouvons installer Postfixadmin : 

cd /srv/
wget -O postfixadmin.tgz https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.tar.gz
tar -zxvf postfixadmin.tgz
mv postfixadmin-postfixadmin-3.2 postfixadmin
ln -s /srv/postfixadmin/public /var/www/html/postfixadmin

Configuration :

nano /srv/postfixadmin/config.local.php
<?php
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_name'] = 'postfix';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'MYPASSWORD';


$CONF['configured'] = true;
?>

Ce fichier n'existait pas, pas de panique si, quand vous l'ouvrez, il est vide ! 

 

Création d'un fichier nécessaire au bon fonctionnement de Postfixadmin et attributions des droits : 
mkdir -p /srv/postfixadmin/templates_c
chown -R www-data /srv/postfixadmin/templates_c
Maintenant, nous pouvons accéder au setup grâce au site web : http://IP-DU-SRV/postfixadmin/setup.php et nous aurons un mot de passe à créer (pour des raisons de sécurité, choisissez un mot de passe fort) :

image-1616449164509.png

Je vais par exemple choisir le mot de passe : "P@ssw0rd123", puis cliquer sur "Generate password hash".
Le message suivant apparait : 

image-1616449403337.png

Nous allons donc procéder à la modification du fichier config : 
nano /srv/postfixadmin/config.local.php
// Ajouter la ligne suivante : 
$CONF['setup_password'] = 'c4db13bd0d48dc5d4486bddbf5e35fd2:96107d8f161b0d0f96b94cbba463426708e83e1a';

Ne copiez-collez pas ! Faites selon le texte qui apparait sur vos machines !

Puis nous complétons le formulaire suivant : 

image-1616449754056.png

Setup password : P@ssw0rd123
Mot de passe : H5jZx87jK
Après avoir cliqué sur "Ajouter un administrateur" vous aurez le message suivant qui va s'afficher  :

image-1616449903840.png

Nous cliquons sur le lien "login to PostfixAdmin" et entrons notre identifiant et notre mot de passe : 

image-1616449968640.png

 

Visuel de Postfixadmin : 

image-1616450050334.png

Nous allons cliquer sur "Liste des domaines" puis "Nouveau domaine" : 

image-1616450111507.png