Negli articoli precedenti, abbiamo discusso di come configurare da zero il tuo server di posta su Ubuntu. Questo tutorial ti mostrerà come installare RainLoop Webmail su Ubuntu 20.04 con server web Apache o Nginx. RainLoop è un client di posta elettronica basato sul Web semplice, moderno, veloce e open source scritto in PHP.
Caratteristiche webmail di RainLoop
- Un'interfaccia web moderna e ti consente di caricare un tema personalizzato.
- Veloce e leggero
- Supporta sia SMTP che IMAP.
- Supporta più account, il che significa che puoi accedere a tutti i tuoi indirizzi email da un'unica posizione.
- Supporta l'autenticazione a due fattori.
- Integrazione con Facebook, Twitter, Google e Dropbox.
- Accesso diretto al server di posta, nessun database necessario.
- Facile da installare e aggiornare (aggiornamento con un clic nel pannello di amministrazione)
. Esistono due edizioni di RainLoop:
- edizione della community rilasciato con licenza AGPL v3
- edizione standard rilasciato con la licenza del software RainLoop.
Utilizzeremo l'edizione della community gratuita e open source in questo tutorial.
Fase 1:installa Apache, PHP7 o Nginx, PHP7
Se usi Apache e PHP7, installali su Ubuntu 20.04 con:
sudo apt update sudo apt install apache2 php7.4 libapache2-mod-php7.4
Se usi Nginx e PHP7, installali con:
sudo apt update sudo apt install nginx php7.4 php7.4-fpm
E installa le seguenti estensioni PHP richieste da RainLoop.
sudo apt install php7.4-curl php7.4-xml
Passaggio 2:scarica e installa RainLoop Webmail su Ubuntu 20.04
Per prima cosa, crea una directory per rainloop nella directory di lavoro corrente.
mkdir rainloop
CD nella directory e scarica l'ultima edizione della community di RainLoop con i seguenti comandi:
cd rainloop curl -s http://repository.rainloop.net/installer.php | php
Una volta fatto, sposta questa directory in /var/www/
.
cd .. sudo mv rainloop /var/www/
Ora imposta l'utente del server web (www-data
) in qualità di proprietario.
sudo chown www-data:www-data /var/www/rainloop/ -R
Fase 3:Configura un host virtuale per RainLoop
Possiamo utilizzare il server Web Apache o Nginx.
Apache
Se desideri utilizzare il server Web Apache, crea il file host virtuale con il seguente comando:
sudo nano /etc/apache2/sites-available/rainloop.conf
Inserisci il seguente testo nel file. Sostituisci il testo rosso con le tue informazioni effettive.
<VirtualHost *:80> ServerName mail.example.com DocumentRoot "/var/www/rainloop/" ErrorLog "/var/log/apache2/rainloop_error_log" TransferLog "/var/log/apache2/rainloop_access_log" <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order deny,allow Allow from all Require all granted </Directory> <Directory /var/www/rainloop/data> Require all denied </Directory> </VirtualHost>
Salva e chiudi il file. Quindi abilita questo host virtuale.
sudo a2ensite rainloop.conf
E ricarica Apache.
sudo systemctl reload apache2
Nginx
Se ti piace usare il server web Nginx, crea il file host virtuale con il seguente comando:
sudo nano /etc/nginx/conf.d/rainloop.conf
Inserisci il seguente testo nel file. Sostituisci mail.example.com con il tuo nome di dominio.
server { listen 80; listen [::]:80; server_name mail.example.com; root /var/www/rainloop; index index.php index.html; access_log /var/log/nginx/rainloop_access.log; error_log /var/log/nginx/rainloop_error.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ ^/(.+\.php)$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location ^~ /data { deny all; } }
Salva e chiudi il file. Quindi testa le configurazioni di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica le configurazioni di Nginx.
sudo systemctl reload nginx
Passaggio 4:installa il certificato TLS/SSL
Se desideri aggiungere HTTPS alla webmail, puoi ottenere un certificato TLS/SSL gratuito da Let's Encrypt CA. Per prima cosa installiamo il certbot
cliente.
sudo apt install certbot
Se usi Apache server web, quindi è necessario installare anche il plugin Certbot Apache.
sudo apt install python3-certbot-apache
Quindi emettere il comando seguente per ottenere un certificato TLS/SSL gratuito. Sostituisci il testo di colore rosso con il tuo indirizzo email e nome di dominio effettivi.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Se usi Nginx server web, quindi è necessario installare il plug-in Certbot Nginx.
sudo apt install python3-certbot-nginx
Quindi utilizzare il plug-in Nginx per ottenere e installare il certificato eseguendo il comando seguente. Sostituisci il testo rosso con il tuo indirizzo email e nome di dominio effettivi.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Vedrai il seguente testo che indica che hai ottenuto con successo un certificato TLS. Il certificato e la catena sono stati salvati in /etc/letsencrypt/live/mail.example.com/
directory.
Ora se visiti http://mail.example.com
, verrai reindirizzato a https://mail.example.com
.
Fase 5:Configura RainLoop Webmail
Accedi al pannello di amministrazione di RainLoop tramite il seguente URL.
mail.example.com/?admin
Il nome utente predefinito è admin
e la password predefinita è 12345
.
Una volta effettuato l'accesso, si consiglia di modificare sia il nome utente che la password da admin
è un bersaglio facile Fai clic su security
scheda nel riquadro di sinistra. Aggiorna prima la tua password, quindi effettua nuovamente il login e aggiorna il tuo nome utente.
Per accedere alle tue e-mail tramite RainLoop, devi configurare le impostazioni del server e-mail in Domains
scheda. Per impostazione predefinita, vengono aggiunti 4 domini di posta elettronica:gmail.com
, outlook.com
, qq.com
, yahoo.com
.
Le impostazioni del server SMTP e le impostazioni del server IMAP per questi domini di posta elettronica sono configurate da RainLoop, ma solo Gmail è abilitato per impostazione predefinita. Per abilitare gli altri 3 domini email, spunta semplicemente le caselle di controllo.
Per poter accedere al tuo server di posta elettronica, fai clic su Add Domain
e inserisci le impostazioni del server IMAP e SMTP del tuo server di posta elettronica.
- IMAP:server mail.example.com , porta 143 , Proteggi STARTTLS .
- SMTP:server mail.example.com , porta 587 , Proteggi STARTTLS . Seleziona Usa autenticazione.
Se Rainloop e Postfix/Dovecot sono in esecuzione sullo stesso server, puoi utilizzare le seguenti configurazioni, in modo che il tuo server non debba cercare il dominio in DNS e stabilire una connessione TLS.
- IMAP:server 127.0.0.1 , porta 143 , Proteggi Nessuno .
- SMTP:server 127.0.0.1 , porta 25 , Proteggi Nessuno . Non utilizzare l'autenticazione sulla porta 25.
Devi anche abilitare il tuo dominio email selezionando la casella di controllo a destra, altrimenti compare l'errore domain is not allowed
apparirà quando accedi al tuo indirizzo email.
Dopo aver terminato la configurazione, inserisci il tuo nome di dominio webmail RainLoop nella barra degli indirizzi del browser senza /?admin
suffisso.
mail.example.com
E accedi al tuo account di posta elettronica.
Webmail di RainLoop
Se l'autenticazione non riesce, potrebbe essere necessario abilitare l'accesso breve nella pagina delle impostazioni del server IMAP.
Questo è tutto ciò che devi fare per accedere alle tue e-mail su Gmail, Outlook Mail o sul tuo dominio di posta elettronica. Se aggiungi più account e-mail, puoi passare facilmente da uno all'altro dal menu a discesa utente. Davvero molto bello! Puoi anche configurare altre impostazioni e personalizzare la tua interfaccia webmail.
Rimozione delle informazioni sensibili dalle intestazioni delle email
Per impostazione predefinita, Rainloop aggiungerà un X-Mailer
intestazione dell'e-mail, che indica che stai utilizzando la webmail Rainloop e il numero di versione. Puoi dire a Postfix di ignorarlo in modo che il destinatario non possa vederlo. Esegui il comando seguente per creare un file di controllo dell'intestazione.
sudo nano /etc/postfix/smtp_header_checks
Inserisci le seguenti righe nel file.
/^X-Mailer.*RainLoop/ IGNORE
Salva e chiudi il file. Quindi modifica il file di configurazione principale di Postfix.
sudo nano /etc/postfix/main.cf
Aggiungi la riga seguente alla fine del file.
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
Salva e chiudi il file. Quindi esegui il comando seguente per ricostruire la tabella hash.
sudo postmap /etc/postfix/smtp_header_checks
Ricarica Postfix per rendere effettive le modifiche.
sudo systemctl reload postfix
Ora Postfix non includerà X-Mailer: Rainloop
nelle intestazioni delle email.
Aumenta il limite delle dimensioni degli allegati
Se utilizzi PHP-FPM per eseguire script PHP, i file come immagini, file PDF caricati su Rainloop non possono essere più grandi di 2 MB. Per aumentare il limite della dimensione del caricamento, modifica il file di configurazione PHP.
sudo nano /etc/php/7.4/fpm/php.ini
Trova la riga seguente (riga 846).
upload_max_filesize = 2M
Modifica il valore come di seguito. Tieni presente che questo valore non deve essere maggiore del limite di dimensione dell'allegato impostato dal server SMTP Postfix.
upload_max_filesize = 50M
Quindi trova la riga seguente (riga 694).
post_max_size = 8M
Modifica la dimensione massima dei dati POST che PHP accetterà.
post_max_size = 50M
Salva e chiudi il file. In alternativa, puoi eseguire i due comandi seguenti per modificare il valore senza aprire manualmente il file.
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/7.4/fpm/php.ini sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/7.4/fpm/php.ini
Quindi riavvia PHP-FPM.
sudo systemctl restart php7.4-fpm
Nginx imposta anche un limite per la dimensione del file di caricamento. Il limite di dimensione massima del file di caricamento predefinito impostato da Nginx è 1 MB. Se usi Nginx, modifica il file di configurazione di Nginx.
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Aggiungi la seguente riga nell'host virtuale SSL.
client_max_body_size 50M;
Salva e chiudi il file. Quindi ricarica Nginx per rendere effettive le modifiche.
sudo systemctl reload nginx
Quindi, accedi al pannello di amministrazione di Rainloop (https://mail.example.com/?admin
) e modificare il limite delle dimensioni dell'allegato.
Salva la modifica. Devi uscire dalla tua webmail e riconnetterti per rendere effettive le modifiche.
Caricare un'immagine come tema personalizzato
Un utente può cambiare i temi Rainloop facendo clic sull'icona a forma di ingranaggio nell'angolo in basso a sinistra e selezionando i themes
scheda sulla barra di sinistra. Puoi anche caricare un'immagine come tema personalizzato.
Il mio tema personalizzato.