Mailpile è un client di posta open source che si concentra sulla crittografia e sulla privacy degli utenti. Mailpile semplifica la configurazione di PGP, ti consente di creare chiavi PGP direttamente nell'applicazione di posta elettronica e inviare messaggi crittografati con PGP. Mailpile è stato creato da Bjarni R. Einarsson nel 2013. Il software può essere installato su Mac OSX, Windows e Linux come client web based.
In questo tutorial, ti guiderò attraverso l'installazione di Mailpile su Ubuntu 15.10. Installeremo Mailpile come client basato sul Web con Nginx come proxy inverso.
Prerequisiti
- Ubuntu 15.10 - 64 bit.
- Privilegi root.
Passaggio 1 - Installa le dipendenze di Mailpile
Mailpile è scritto nel linguaggio di programmazione Python e abbiamo bisogno di un sacco di moduli Python per l'installazione. Installerò Mailpile in un ambiente virtuale python con virtualenv e userò python 2.7 per l'installazione. Per la crittografia, installerò GnuPG versione 1.4.x.
Per iniziare, aggiorna il database del tuo repository e installa i pacchetti dal repository di Ubuntu:
sudo apt-get update
sudo apt-get install gnupg openssl python-virtualenv python-pip python-lxml git
Ora controlla la versione python e la versione GnuPG:
python --version
gpg --version
Mailpile richiede il PIL (Python Imaging Library), pertanto installiamo libjpeg, zlib1g e python-dev:
sudo apt-get install libjpeg62 libjpeg62-dev zlib1g-dev python-dev
Al termine dell'installazione siamo pronti per il passaggio successivo dell'installazione di Mailpile.
Fase 2 - Installa e configura Mailpile
In questo passaggio, installerò Mailpile nella directory "/opt/" e quindi creerò un nuovo ambiente virtuale Python per l'installazione. Prima di iniziare con l'installazione, clona il codice sorgente di Mailpile dal repository github nella directory opt.
cd /opt/
git clone --recursive https://github.com/mailpile/Mailpile.git
Ora vai alla directory Mailpile e crea l'ambiente virtuale con python2.7 come versione python:
cd /opt/Mailpile/
virtualenv -p /usr/bin/python2.7 --system-site-packages mailpile-env
-p =Usa una versione python specifica, usiamo python 2.7.
--pacchetti del sito di sistema =Concedi all'ambiente virtuale l'accesso ai pacchetti globali del sito.
mailpile-env =Directory per il nuovo ambiente virtuale.
Quindi attiva l'ambiente virtuale, assicurati di essere nella directory "/opt/Mailpile/" e infine attivalo.
cd /opt/Mailpile/
source mailpile-env/bin/activate
Puoi controllare la riga di comando se l'ambiente virtuale è attivo:
(mailpile-env)[email protected]:/opt/Mailpile#
Il nome dell'ambiente virtuale dovrebbe essere davanti al tuo nome utente e nome host sulla shell.
Quindi, installa i requisiti mailpile con il comando pip nell'ambiente mailpile-env:
pip install -r requirements.txt
Proviamo Mailpile con il comando "./mp" nell'ambiente virtuale:
./mp
Nello screenshot possiamo vedere che Mailpile è in esecuzione su localhost con la porta 33411.
Quindi proviamo ad accedervi con il comando curl dalla shell del server:
curl -I localhost:33411
Funziona correttamente quando ottieni il seguente risultato:
HTTP/1.1 302 Found
Location: /setup/welcome/
In realtà, in questo passaggio, potremmo dire a Mailpile di funzionare sul nostro IP pubblico in modo che tutti possano accedervi. Ma in questo tutorial useremo Nginx come proxy inverso per Mailpile sulla porta 33411.
Passaggio 3:installa Nginx
Installa Nginx con questo comando apt:
sudo apt-get install nginx
Ora verifica che Nginx sia in esecuzione sulla porta 80:
netstat -plntu | grep 80
Passaggio 4:crea un certificato SSL autofirmato
Andiamo nella directory Nginx e creiamo una nuova directory SSL:
cd /etc/nginx/
mkdir -p /etc/nginx/ssl/
cd ssl/
Quindi genera il file del certificato SSL:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/mailpile.key -out /etc/nginx/ssl/mailpile.crt
E cambia l'autorizzazione della chiave privata su 600:
chmod 600 mailpile.key
Passaggio 5 - Configura Mailpile Virtualhost
In questo passaggio creerò una nuova configurazione dell'host virtuale per Mailpile. Questo host virtuale invia semplicemente tramite proxy le richieste in arrivo sulla porta 80 a Mailpile sulla porta 33411. Nginx è un proxy inverso sicuro e potente.
Vai alla directory "siti-disponibili" di Nginx e crea un nuovo file chiamato "mailpile":
cd /etc/nginx/site-available/
touch mailpile
Modifica il file mailpile con l'editor vim:
vim mailpile
Incolla la configurazione dell'host virtuale di seguito:
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;
}
}
Ora attiva il mailpile virtualhost e riavvia Nginx:
ln -s /etc/nginx/site-available/mailpile /etc/nginx/site-enabled/
systemctl restart nginx
Nota :assicurati di non terminare il processo di posta nel tuo ambiente virtuale.
Successivamente, visita il dominio Mailpile (nel mio caso mail.mailpile.me) e verrai reindirizzato alla connessione https.
Seleziona la lingua predefinita, nel mio caso "Inglese " e fai clic su "Inizia ".
Ora digita la tua password per accedere all'applicazione, assicurati di avere una password complessa.
E inizia a utilizzare Mailpile.
La configurazione di Mailpile è terminata, inserisci la tua password e premi "Invio".
Puoi vedere la pagina della posta subito dopo il login:
Conclusione
Mailpile è un client di posta elettronica OpenSource gratuito che si concentra sulla crittografia e sulla privacy degli utenti. Mailpile ha il supporto multipiattaforma, può essere installato su Mac, Windows o Linux. Mailpile può essere installato sul tuo server come client di posta privato. Mailpile è basato su python, è facile da installare e configurare, assicurati solo di eseguire python 2.7 con gnupg 1.4.x. Possiamo utilizzare Mailpile come sistema autonomo, ma per prestazioni migliori utilizziamo Nginx come proxy inverso.