Mailpile est un client de messagerie open source qui se concentre sur le cryptage et la confidentialité des utilisateurs. Mailpile facilite la configuration de PGP, il vous permet de créer des clés PGP directement dans l'application de messagerie et d'envoyer des messages cryptés PGP. Mailpile a été créé par Bjarni R. Einarsson en 2013. Le logiciel peut être installé sur Mac OSX, Windows et Linux en tant que client Web.
Dans ce tutoriel, je vais vous guider à travers l'installation de Mailpile sur Ubuntu 15.10. Nous installerons Mailpile en tant que client Web avec Nginx en tant que proxy inverse.
Prérequis
- Ubuntu 15.10 - 64 bits.
- Privilèges racine.
Étape 1 - Installer les dépendances Mailpile
Mailpile est écrit dans le langage de programmation python et nous avons besoin d'un tas de modules python pour l'installation. Je vais installer Mailpile dans un environnement virtuel python avec virtualenv et utiliser python 2.7 pour l'installation. Pour le chiffrement, j'installerai GnuPG version 1.4.x.
Pour commencer, mettez à jour la base de données de votre référentiel et installez les packages à partir du référentiel Ubuntu :
sudo apt-get update
sudo apt-get install gnupg openssl python-virtualenv python-pip python-lxml git
Vérifiez maintenant la version python et la version GnuPG :
python --version
gpg --version
Mailpile nécessite la PIL (Python Imaging Library), nous installons donc libjpeg, zlib1g et python-dev :
sudo apt-get install libjpeg62 libjpeg62-dev zlib1g-dev python-dev
Une fois l'installation terminée, nous sommes prêts pour la prochaine étape de l'installation de Mailpile.
Étape 2 - Installer et configurer Mailpile
Dans cette étape, j'installerai Mailpile dans le répertoire "/opt/" puis je créerai un nouvel environnement virtuel python pour l'installation. Avant de commencer l'installation, clonez le code source Mailpile du référentiel github vers le répertoire opt.
cd /opt/
git clone --recursive https://github.com/mailpile/Mailpile.git
Allez maintenant dans le répertoire Mailpile et créez l'environnement virtuel avec python2.7 comme version python :
cd /opt/Mailpile/
virtualenv -p /usr/bin/python2.7 --system-site-packages mailpile-env
-p =Utilisez une version python spécifique, nous utilisons python 2.7.
--system-site packages =Donner à l'environnement virtuel l'accès aux packages de site globaux.
mailpile-env =Répertoire du nouvel environnement virtuel.
Activez ensuite l'environnement virtuel, assurez-vous d'être dans le répertoire "/opt/Mailpile/", et enfin activez-le.
cd /opt/Mailpile/
source mailpile-env/bin/activate
Vous pouvez vérifier la ligne de commande si l'environnement virtuel est actif :
(mailpile-env)[email protected]:/opt/Mailpile#
Le nom de l'environnement virtuel doit figurer devant votre nom d'utilisateur et votre nom d'hôte sur le shell.
Ensuite, installez les exigences mailpile avec la commande pip dans l'environnement mailpile-env :
pip install -r requirements.txt
Testons Mailpile avec la commande "./mp" dans l'environnement virtuel :
./mp
Dans la capture d'écran, nous pouvons voir que Mailpile s'exécute sur localhost avec le port 33411.
Essayons donc d'y accéder avec la commande curl depuis le shell du serveur :
curl -I localhost:33411
Il fonctionne correctement lorsque vous obtenez le résultat suivant :
HTTP/1.1 302 Found
Location: /setup/welcome/
En fait, dans cette étape, nous pourrions dire à Mailpile de s'exécuter sur notre adresse IP publique afin que tout le monde puisse y accéder. Mais dans ce tutoriel, nous utiliserons Nginx comme proxy inverse pour Mailpile sur le port 33411.
Étape 3 - Installer Nginx
Installez Nginx avec cette commande apt :
sudo apt-get install nginx
Vérifiez maintenant que Nginx s'exécute sur le port 80 :
netstat -plntu | grep 80
Étape 4 - Créer un certificat SSL auto-signé
Allons dans le répertoire Nginx et créons-y un nouveau répertoire SSL :
cd /etc/nginx/
mkdir -p /etc/nginx/ssl/
cd ssl/
Générez ensuite le fichier de certificat SSL :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/mailpile.key -out /etc/nginx/ssl/mailpile.crt
Et changez l'autorisation de la clé privée en 600 :
chmod 600 mailpile.key
Étape 5 - Configurer l'hôte virtuel Mailpile
Dans cette étape, je vais créer une nouvelle configuration d'hôte virtuel pour Mailpile. Cet hôte virtuel transmet simplement les requêtes entrantes sur le port 80 à Mailpile sur le port 33411. Nginx est un proxy inverse sécurisé et puissant.
Allez dans le répertoire "sites-available" de Nginx et créez un nouveau fichier appelé "mailpile":
cd /etc/nginx/site-available/
touch mailpile
Modifiez le fichier mailpile avec l'éditeur vim :
vim mailpile
Collez la configuration de l'hôte virtuel ci-dessous :
server {
# Mailpile Domain
server_name mail.mailpile.me;
client_max_body_size 20m;
# Nginx port 80 and 334
listen 80;
listen 443 default ssl;
# SSL Certificate File
ssl_certificate /etc/nginx/ssl/mailpile.crt;
ssl_certificate_key /etc/nginx/ssl/mailpile.key;
# Redirect HTTP to HTTPS
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
# Nginx Poroxy pass for mailpile
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:33411;
proxy_read_timeout 90;
proxy_redirect http://localhost:33411 https://mail.mailpile.me;
}
}
Activez maintenant l'hôte virtuel mailpile et redémarrez Nginx :
ln -s /etc/nginx/site-available/mailpile /etc/nginx/site-enabled/
systemctl restart nginx
Remarque :Assurez-vous de ne pas tuer le processus mailpile dans votre environnement virtuel.
Ensuite, visitez le domaine Mailpile (dans mon cas mail.mailpile.me) et vous serez redirigé vers la connexion https.
Sélectionnez la langue par défaut, dans mon cas "Anglais " et cliquez sur "Commencer ".
Tapez maintenant votre mot de passe pour vous connecter à l'application, assurez-vous d'avoir un mot de passe fort.
Et commencez à utiliser Mailpile.
La configuration de Mailpile est terminée, entrez votre mot de passe et appuyez sur "Entrée".
Vous pouvez voir la page de messagerie juste après la connexion :
Conclusion
Mailpile est un client de messagerie OpenSource gratuit qui se concentre sur le cryptage et la confidentialité des utilisateurs. Mailpile prend en charge plusieurs plates-formes, il peut être installé sur Mac, Windows ou Linux. Mailpile peut être installé sur votre propre serveur en tant que client de messagerie privé. Mailpile est basé sur python, il est facile à installer et à configurer, assurez-vous simplement d'exécuter python 2.7 avec gnupg 1.4.x. Nous pouvons utiliser Mailpile comme système autonome, mais pour de meilleures performances, nous utilisons Nginx comme proxy inverse.