GNU/Linux >> Linux Esercitazione >  >> Linux

Come gestire le cassette postali con RoundCube su CentOS 7

Roundcube è una delle soluzioni open source più conosciute per gestire un servizio di posta elettronica affidabile e personalizzabile attraverso un servizio web.

In questo tutorial ci sono tutte le informazioni per installare e gestire un servizio di webmail con Roundcube su CentOS 7. Essendo basato su PHP, Roundcube richiede l'installazione di un server web come NGINX o Apache e si basa su un database simile a MySQL come MariaDB.

Per prima cosa, connettiti al tuo server tramite una connessione SSH. Se non l'hai ancora fatto, seguendo la nostra guida ti consigliamo di connetterti in sicurezza con SSH. Nel caso di un server locale, vai al passaggio successivo e apri il terminale del tuo server.

Installazione di NGINX e PHP

Procedi installando un'istanza di NGINX con supporto per PHP e MySQL:

$ sudo yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick 

Al termine dell'installazione di tutti i pacchetti, avvia NGINX e abilita il suo avvio automatico sul sistema:

$ sudo systemctl start nginx$ sudo systemctl enable nginx

L'utilizzo di Roundcube richiede la variazione di due parametri all'interno del file di configurazione PHP presente in /etc/php.ini:

# Impostazione della nostra timezone

date.timezone = "Europe/Rome"
cgi.fix_pathinfo=0

Salva il file appena modificato, avvia e abilita il servizio PHP-FPM:

$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm 

Installazione di MariaDB

Per funzionare correttamente Roundcube necessita del database MariaDB, che può essere installato con il seguente comando:

$ sudo yum install mariadb-server

Una volta completata l'installazione, avvia il servizio:

$ sudo systemctl start mariadb

$ sudo systemctl enable mariadb

Procedi con la sicurezza di MariaDB eseguendo uno script incluso in MariaDB per aumentare la sicurezza e limitare l'accesso ai tuoi database:

Avvia lo script di utilità fornito da MariaDb "mysql_secure_installation" e rispondi a tutte le domande:

$ sudo mysql_secure_installation

In primo luogo, ti verrà chiesto se desideri abilitare il sistema di convalida della password. Se abiliti questo sistema, quando imposti una password per un utente, questa verrà valutata. Se la password non rispetta i requisiti minimi di sicurezza, viene rifiutata con un messaggio di errore.

Quindi, ti verrà chiesto se vuoi cambiare la password di root con una delle tue preferenze. Se abiliti il ​​sistema di convalida della password, dovrai inserire una password che rispetti i criteri di sicurezza.

Si consiglia di seguire alcune best practice per la creazione di una password sicura. Ciò include:

  • L'uso di lettere maiuscole e minuscole

  • L'uso di lettere e numeri

  • L'uso di caratteri non alfanumerici come @ # $% ˆ &!

  • L'uso di password diverse da quelle utilizzate in precedenza

Infine, scegli se rimuovere gli utenti anonimi, testare i database e se disabilitare il login remoto con l'utente root. Per un livello di sicurezza adeguato, si consiglia di confermare tutte queste modifiche.

A questo punto conferma l'aggiornamento della tabella visualizzata per applicare i nuovi criteri di sicurezza.

Enter current password for root (enter for none):

OK, successfully used password, moving on...
                Setting the root password ensures that nobody can log into MariaDB

root user without the proper authorisation.
                Set root password? [Y/n] Y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!
                Remove anonymous users? [Y/n] Y

 ... Success!
                Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.
                Disallow root login remotely? [Y/n] Y

 ... Success!
                Remove test database and access to it? [Y/n] Y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!
                Reload privilege tables now? [Y/n] Y

 ... Success!
                Cleaning up...
                All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.
                Thanks for using MariaDB!

Dopo aver riavviato il servizio, è possibile creare un database per Roundcube e un nuovo utente (cambiando la password):

$ 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 'mf0c3mhx';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit

Installazione Roundcube

Per scaricare l'ultima versione di Roundcube avrai bisogno di wget. Se non è installato sul tuo sistema, fallo con il seguente comando:

$ sudo yum install wget

Altrimenti, continua scaricando ed estraendo il pacchetto da github:

$ wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz

$ tar xzf roundcubemail-1.3.7-complete.tar.gz

Poi sposta tutto nella directory NGINX:

$ sudo mv roundcubemail-1.3.7 /var/www/html/roundcubemail

$ sudo cd /var/www/html/roundcubemail/

Il pacchetto Roundcube contiene un file sql che deve essere importato nel database appena creato con la struttura richiesta:

$ mysql -u root -p roundcubemail < SQL/mysql.initial.sql

Durante il processo di importazione, ti verrà richiesta la password di root del database inserita durante l'installazione di MariaDB.

Una volta completata la configurazione del database, ìpreparare il server virtuale NGINX per il dominio mail.domain.com. Innanzitutto, assicurati che il proprietario della cartella html sia NGINX:

$ sudo chown -R nginx:nginx /var/www/html/roundcubemail

Ora crea e modifica il file host virtuale/etc/nginx/conf.d/mail.example.com.conf come segue:

server {

        listen 80;

        server_name mail.domain.com;
                 

        root /var/www/html/roundcubemail;

        index  index.php index.html;
                 

        #i# Logging

        access_log /var/log/nginx/mail.domain.com_access_log;

        error_log   /var/log/nginx/mail.domain.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;

        }

}

Prima di salvare tutte le modifiche, ricorda di cambiare il dominio 'domain.com' nel tuo dominio.

In caso di errori di autorizzazione, modificare la configurazione PHP-FPM presente in /etc/php-fpm.d/www.conf modificando questi parametri:

user = nginx

group = nginx

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

listen.owner = nginx

listen.group = nginx

listen.mode = 0660

Inoltre, assicurati che il proprietario della directory "session" di PHP sia NGINX:

$ sudo chown -R nginx:nginx /var/lib/php/session/

A questo punto Roundcube è pronto per essere configurato dall'interfaccia web.

Configurazione Roundcube tramite interfaccia web

Per continuare l'installazione, tramite un browser web vai a:http://mail.domain.com/installer/

In questa prima fase, l'installatore Roundcube mostra un riepilogo dei requisiti per il corretto funzionamento del sistema. Fare clic sul pulsante "AVANTI" per continuare.

In questa seconda fase è necessario inserire una serie di parametri di funzionamento. Lascia tutto invariato tranne product_name dove o inserisci il tuo nome di dominio o un nickname a tua scelta.

Modificare i dati di accesso al server sql con quelli inseriti in fase di installazione è importante. Al termine, fai clic su "AVANTI" per continuare.

Una volta completata la seconda fase, verifica i parametri IMAP/SMTP del tuo server per verificare che Roundcube sia in grado di inviare/ricevere posta.

Una volta terminato, elimina tutti i file necessari all'installazione presenti nella cartella /var/www/html/roundcubemail/installer eseguendo il comando:

$ sudo rm -rf /var/www/html/roundcubemail/installer

Se si vogliono modificare o cambiare i parametri inseriti in fase di configurazione, è sempre possibile modificare il file nella directory /var/www/html/roundcubemail/config/config.inc.php.

Accedi alla Webmail

La nostra istanza Roudcube è pronta per l'uso all'URL http://mail.domain.com/ . Quindi, accedi utilizzando i dettagli di accesso di una casella di posta configurata con Dovecot.


Linux
  1. Come gestire la password dell'account in Linux

  2. Come installare Roundcube Webmail su CentOS 8

  3. Come sostituire MySQL con MariaDB su CentOS 6

  4. Come installare MySQL su CentOS 7.x?

  5. Come controllare la password con Linux?

Come installare lo strumento dotProject in CentOS 7

Come configurare MariaDB Galera Cluster con HAproxy su CentOS 7

Come gestire i pacchetti su CentOS con YUM

Come gestire le password Linux con il comando pass

Come configurare la replica Master-Slave MariaDB su CentOS 7

Come gestire i database in MariaDB su Ubuntu 18.04