Roundcube è un software di webmail IMAP multilingue basato sul Web gratuito e open source, completo di funzionalità, con un’interfaccia utente simile a un’applicazione che è completamente funzionale e personalizzabile e utilizza i più recenti standard web. È costruito utilizzando PHP e offre tutte le funzionalità che ci si può aspettare da un moderno client di posta elettronica.

Caratteristiche di Roundcube:

  • È multilingue, supporta oltre 70 lingue.
  • Supporta una rubrica Trova durante la digitazione.
  • Supporta più identità di mittente.
  • Offre una sofisticata protezione della privacy.
  • Ha una rubrica completa con gruppi e connettori LDAP.
  • Offre la composizione di messaggi RTF / HTML.
  • Supporta la ricerca di messaggi e contatti.
  • Supporta Int. nomi di dominio (IDNA).
  • Supporta la manipolazione di cartelle, cartelle condivise e ACL.
  • Estendibile utilizzando l’API del plug-in.
  • Fornisce funzionalità di controllo ortografico.
  • Fornisce funzioni di importazione / esportazione.
  • Ha un’API plug-in per estensioni flessibili e molto altro ancora.

Requisiti di sistema raccomandati:

  1. Un server CentOS 8 / RHEL 8 o CentOS 7 / RHEL 7 con installazione minima.
  2. Server web Apache o Nginx
  3. Database PHP e MySQL / MariaDB
  4. Server SMTP e IMAP con supporto IMAP4 rev1

Per lo scopo di questo articolo, presumiamo che tu abbia già un server di posta Postfix in esecuzione con utenti virtuali, altrimenti segui la configurazione delle nostre guide:

  1. Configurazione di Postfix Mail Server e Dovecot con MariaDB – Parte 1
  2. Configurare gli utenti del dominio virtuale Postfix e Dovecot – Parte 2
  3. Installa e integra ClamAV e SpamAssassin su Postfix Mail Server – Parte 3

Ambiente di prova:

Ai fini di questo articolo, installerò Roundcube Webmail su un Linode CentOS VPS con un server web Nginx, indirizzo IP statico 192.168.0.100, e nome host mail.tecmint.com.

Passaggio 1: installa Nginx, PHP-FPM e MariaDB in CentOS 8/7

1. Primo avvio abilitando EPEL e REMI repository e installa Nginx, PHP, PHP-FPM, e MariaDB server sul tuo CentOS sistema.

# yum install epel-release
# yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm    [CentOS/RHEL 8]
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm    [CentOS/RHEL 7]
# yum install yum-utils 
# yum-config-manager --enable remi-php72
# yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick mariadb-server   

2. Dopo aver installato con successo tutti i pacchetti, avvia il server web Nginx, abilitalo per l’avvio automatico all’avvio e controlla se è attivo e funzionante.

# systemctl start nginx 
# systemctl enable nginx
# systemctl status nginx

3. Successivamente, se hai un firewall di sistema abilitato, devi aprire la porta 80 per richieste esterne.

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

4. Successivamente, è necessario configurare PHP-FPM per funzionare correttamente. Apri il file /etc/php.ini utilizzando un editor di test della riga di comando.

# vim /etc/php.ini

Cerca la direttiva ;cgi.fix_pathinfo=1, rimuoverlo e impostarne il valore su 0.

cgi.fix_pathinfo=0

Inoltre, rimuovere il commento dalla direttiva ;date.timezone e imposta il suo valore al tuo fuso orario.

date.timezone = "Africa/Kampala"

Una volta terminato, salva il file ed esci.

5. Quindi inizia PHP-FPM servizio, abilitalo per l’avvio automatico all’avvio e controlla se è attivo e in esecuzione, come segue.

# systemctl start php-fpm 
# systemctl enable php-fpm 
# systemctl status php-fpm 

Passaggio 2: proteggere il server MariaDB e creare il database Roundecube

6. Ora avvia il servizio MariaDB utilizzando i seguenti comandi.

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

7. L’installazione predefinita di MariaDB non è sicura. È necessario eseguire lo script di sicurezza fornito con il pacchetto binario, per proteggerlo. Ti verrà chiesto di impostare una password di root, rimuovere utenti anonimi, disabilitare il login di root da remoto e rimuovere il database di prova.

# mysql_secure_installation

8. Ora accedi al database MariaDB, crea un database per Roundecube, e concedere all’utente le autorizzazioni appropriate sul database (ricordarsi di impostare una password forte / sicura in un ambiente di produzione).

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '[email protected]!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Quindi, importa il layout della tabella Roundcube nel database appena creato.

# cd /var/www/html/roundcubemail/
# mysql -u root -p roundcubemail < SQL/mysql.initial.sql

Passaggio 3: scarica il pacchetto Roundcube

10. In questo passaggio, scarica l’ultima versione stabile (1.4.9 al momento della stesura di questo documento) di Roundcube dalla pagina di download o utilizzare il downloader della riga di comando wget per ottenerlo, estrarre il file TAR e caricare i file nella root del documento del server web.

# wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
# tar xzf roundcubemail-1.4.9-complete.tar.gz 
# mv roundcubemail-1.4.9 /var/www/html/roundcubemail

11. Quindi, imposta le autorizzazioni appropriate sui file webroot Roundcube.

# chown -R nginx:nginx /var/www/html/roundcubemail

Passaggio 4: configurare il blocco server Nginx per il programma di installazione Web Roundcube

12. Ora crea un blocco server Nginx per Roundcube sotto /etc/nginx/conf.d/ (puoi nominare il file nel modo che preferisci, ma dovrebbe avere un’estensione .conf estensione).

# vim /etc/nginx/conf.d/mail.example.com.conf

Aggiungi la seguente configurazione nel file.

server {
        listen 80;
        server_name mail.example.com;

        root /var/www/html/roundcubemail;
        index  index.php index.html;

        #i# Logging
        access_log /var/log/nginx/mail.example.com_access_log;
        error_log   /var/log/nginx/mail.example.com_error_log;

        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
        }

        location ~ ^/(config|temp|logs)/ {
                deny all;
        }

        location ~ /. {
                deny all;
                access_log off;
                log_not_found off;
        }

        location ~ .php$ {
                include /etc/nginx/fastcgi_params;
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Salva il file e chiudilo.

13. Quindi, apri il file /etc/php-fpm.d/www.conf per apportare alcune modifiche a PHP-FPM direttiva web.

# vim /etc/php-fpm.d/www.conf

Cambia l’utente apache per nginx nelle seguenti variabili.

user = nginx
group = nginx

Quindi commenta la riga ascolta = 127.0.0.1:9000 e imposta la variabile di ascolto per ascoltare su un socket Unix impostato nel file di blocco del server nginx:

listen = /var/run/php-fpm/php-fpm.sock

Inoltre, imposta i permessi per il socket UNIX, rimuovi il commento e cambia le righe in:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Configura PHP-FPM
Configura PHP-FPM

Una volta terminato, salva il file e chiudilo.

14. Quindi riavvia il file Nginx e PHP-FPM servizi per applicare le modifiche recenti, come segue.

# systemctl restart nginx php-fpm

Passaggio 5: accedi all’interfaccia utente Web di Roundcube

15. Prima di avviare la procedura guidata di installazione, per evitare errori di sessione, impostare le autorizzazioni appropriate sulla directory / var / lib / php / session /. Il proprietario del gruppo predefinito è apache, cambialo in nginx come mostrato.

# ls -ld /var/lib/php/session/
# chown :nginx /var/lib/php/session/
# ls -ld /var/lib/php/session/

16. Ora apri un browser e usa l’indirizzo http://mail.example.com/installer (sostituire il dominio con il nome del server impostato durante la creazione di un blocco del server Nginx per Roundcube) per accedere al programma di installazione web. Se tutte le versioni, estensioni e php.ini / .htaccess le impostazioni sono corrette, vedrai la seguente schermata, fai clic su Il prossimo per andare alla pagina delle configurazioni.

http://mail.example.com/installer
OR
http://IP-address/installer
Accedi al programma di installazione di Roundcube Webmail
Accedi al programma di installazione di Roundcube Webmail

17. La pagina delle configurazioni ti consente di configurare la tua istanza Roundcube. Spiegheremo solo le opzioni importanti per lo scopo di questa guida.

Sotto il Configurazione generale, imposta a nome del prodotto per esempio Webmail di Example.com.

Nome prodotto Roundcube
Nome prodotto Roundcube

Vai a Configurazione del database, Inserisci il host del database, nome, utente, e parola d’ordine per connettersi al server MySQL.

Impostazioni database Roundcube
Impostazioni database Roundcube

Quindi scorri verso il basso fino a IMAP e SMTP impostazioni e inserisci l’indirizzo IP del tuo IMAP e SMTP server, se è lo stesso server su cui stai eseguendo Roundcube, lascialo come “localhost“E specificare anche altri parametri necessari.

È possibile specificare altre impostazioni in base alle proprie esigenze, una volta terminato, fare clic su Crea config.

18. Ora dovresti vedere un messaggio che dice “Il file di configurazione è stato salvato correttamente nella directory / var / www / html / roundcubemail / config dell’installazione di Roundcube.” Clicca su Continua.

File di configurazione Roundcube creato
File di configurazione Roundcube creato

19. Puoi rivedere la tua configurazione dal file Pagina di configurazione di prova come mostrato nello screenshot seguente.

Prova la configurazione di Roundcube
Prova la configurazione di Roundcube

20. Quindi, rimuovere l’intera cartella del programma di installazione (che contiene file che potrebbero esporre al pubblico dati di configurazione sensibili come le password del server e le chiavi di crittografia) dalla directory principale di Roundcube (o assicurarsi che il enable_installer opzione in config.inc.php è Disabilitato).

# rm -rf /var/www/html/roundcubemail/installer

21. Infine, utilizza l’URL http://mail.example.com per accedere alla pagina di login di Roundcube. Immettere il nome utente e la password per visualizzare i messaggi di posta.

Accesso Webmail Roundcube
Accesso Webmail Roundcube
Accesso Webmail Roundcube
Accesso Webmail Roundcube
Sommario

Roundcube è un client di posta multilingue basato sul web ampiamente utilizzato e completo. In questo articolo, abbiamo mostrato come installare l’ultima versione stabile di Roundcube Webmail su un CentOS / RHEL 8/7 con il server web Nginx. In caso di domande, utilizzare il modulo di feedback qui sotto per contattarci.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *