Créer un serveur mail très facilement

D

deleted732323

jfd1.png

Hello tout le monde :membre:, je vais vous présenter ModoBoa, plateforme d'hébergement mail.

Qu'est-ce qu'est ModoBoa ?
ModoBoa est une plateforme d'hébergement mail, comme je l'ai dis plus haut. Très simple d'utilisation, il a une interface web ainsi qu'un système de console, et d'autres fonctions très utiles ! En résumé, c'est un outil visant à simplifier
l’administration d'hébergement mail. Disponible en 9 langue, il est écrit avec le langage de programmation Python et du JavaScript. Une démo est disponible .

Installation
Pour une fois, ce sera facile d'installation. il faudra se connecter à son serveur en SSH (si vous en avez pas, vous pouvez toujours regarder le tutoriel de @Rivals sur ScotchBox, une console SSH est disponible).

On va clone le projet ModoBoa, disponible sur GitHub, avec un simple git clone. ::):

Code:
git clone https://github.com/modoboa/modoboa-installer

On se rend dans le dossier d'installation qui est "modoboa-installer".

Code:
cd modoboa-installer

Et nous exécutons le script d'installation, suivis de notre nom de domaine.

Code:
sudo ./run.py <mail server hostname>

Et n'oublions pas les dependencies python de ModoBoa !

Code:
apt-get install python-dev libxml2-dev libxslt-dev zlib1g-dev

Certificat SSL (Let's Encrypt)
Modoboa utilise des certificats déjà signé pour encrypter les connexions, mail ou autre. Je ne vous le recommande pas du tout. Pour cela nous allons utilisé Let's encrypt, qui donne des certificats SSL gratuit, qui dure 90j mais peuvent être renouveler automatiquement.

Donc on se connecte comme avant la console SSH, et on commence à installer le package letsencrypt et autres dépendances nécessaires.

Code:
apt-get install letsencrypt

On va éditer le fichier de configuration, ici j'utilise NGINX, pour Apache, il suffit de modifier le nginx par apache ou apache2
::):

Code:
sudo nano /etc/nginx/sites-available/mail.domainname.com.conf

Dans la section SSL server, ajoutez ces lignes :

Code:
location ~ /.well-known {

                allow all;
        }

Retenez bien votre où est votre dossier d'installation. On va créer le dossier .well-know dans le ce dossier, le mien est dans "/srv/modoboa/instance".

Code:
mkdir .well-known
chown modoboa:modoboa .well-known

Puis on redémarre NGINX (ou Apache) :)

Code:
sudo nginx -t   
service nginx restart

On peux maintenant avoir les certificats pour votre serveur ;)

Code:
letsencrypt certonly -a webroot --webroot-path=emplacement du dossier -d <adresse>


Entrez bien votre mail pour le renouvellement du certificat, ou autre.

1oHgivPx

Pour plus de sécurité, on va généré des clés Diffe-Hellman (dh), crypter en 2048-bit. !

Code:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Voici ci-dessous la configuration de .well-know, on update les certificats et le répertoire des clés.


# ssl_certificate /etc/ssl/certs/adresse.cert;
ssl_certificate /etc/letsencrypt/live/adresse.com/fullchain.pem;
# ssl_certificate_key /etc/ssl/private/adresse.com.key;
ssl_certificate_key /etc/letsencrypt/live/adresse.com/privkey.pem;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers RC4:HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# ssl_verify_depth 3;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

ssl_dhparam /etc/ssl/certs/dhparam.pem;

Voilà, on redémarre encore une fois notre serveur web.

Code:
sudo nginx -t

[FONT=Exo]service nginx restart

Maintenant, les clés devrait bien fonctionner, et pour ne pas tout le temps renouveler manuellement les certifications, on va utiliser cron.

Code:
sudo crontab -e

Et on ajoute ces lignes en bas du fichier.

Code:
30 2 * * 1 letsencrypt renew >> /var/log/le-renew.log
35 2 * * 1 service reload nginx

Cela va check tout les Lundi à 2:30 si le certificat doit être renouveler, et redémarre le serveur web. :)

Lord.
 

BartoonGaming

J'adore les frites
Premium
Inscription
8 Mars 2014
Messages
1 061
Réactions
258
Points
2 936
Ca sert a quoi un serveur mail ?
Desole de ne pas savoir mais je suis pas un pro en informatique
Sinon beau topic
 
D

deleted732323

Bonsoir !

Donc a ce que j'ai compris sa sert a avoir autre chose que @gmail donc par exemple je vais pouvoir avoir [email protected] ?
Mais j'ai pas compris du coup on les reçoit ou les mail ? (désolé si c'est un question bête)
Sur l'interface comme je l'ai expliqué.. il YA une démo dispo :

peut_on en servir comme smtp ?
Oui, mais là configuration est un peu spéciale,je t'invite à lire la documentation :
 

W.

Informatique & Crypto-monnaie
VIP
Inscription
8 Juillet 2011
Messages
8 107
Réactions
2 340
Points
25 533
Possibilité d'ajouter une sécu double authentification?
 

Enysox

Développeur
Premium
Inscription
20 Juillet 2015
Messages
165
Réactions
34
Points
9 436
Très bon tuto ça va m'être utile pour mon projet merci :D
 
Haut