GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Postfächer mit RoundCube unter CentOS 7

Roundcube ist eine der bekanntesten Open-Source-Lösungen zur Verwaltung eines zuverlässigen und anpassbaren E-Mail-Dienstes über einen Webdienst.

In diesem Tutorial finden Sie alle Informationen, um einen Webmail-Dienst mit Roundcube auf CentOS 7 zu installieren und zu verwalten. Da Roundcube auf PHP basiert, erfordert Roundcube die Installation eines Webservers wie NGINX oder Apache und stützt sich auf eine MySQL-ähnliche Datenbank wie MariaDB.

Verbinden Sie sich zunächst über eine SSH-Verbindung mit Ihrem Server. Wenn Sie dies noch nicht getan haben, wird empfohlen, gemäß unserer Anleitung eine sichere Verbindung mit SSH herzustellen. Im Falle eines lokalen Servers gehen Sie zum nächsten Schritt und öffnen Sie das Terminal Ihres Servers.

Installation von NGINX und PHP

Fahren Sie fort, indem Sie eine Instanz von NGINX mit Unterstützung für PHP und MySQL installieren:

$ 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 

Starten Sie am Ende der Installation aller Pakete NGINX und aktivieren Sie den automatischen Start auf dem System:

$ sudo systemctl start nginx$ sudo systemctl enable nginx

Die Verwendung von Roundcube erfordert die Variation von zwei Parametern innerhalb der PHP-Konfigurationsdatei in /etc/php.ini:

# Impostazione della nostra timezone

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

Speichern Sie die gerade geänderte Datei, starten und aktivieren Sie den PHP-FPM-Dienst:

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

Installation von MariaDB

Um ordnungsgemäß zu funktionieren, benötigt Roundcube die MariaDB-Datenbank, die mit dem folgenden Befehl installiert werden kann:

$ sudo yum install mariadb-server

Sobald die Installation abgeschlossen ist, starten Sie den Dienst:

$ sudo systemctl start mariadb

$ sudo systemctl enable mariadb

Fahren Sie mit der Sicherheit von MariaDB fort, indem Sie ein in MariaDB enthaltenes Skript ausführen, um die Sicherheit zu erhöhen und den Zugriff auf Ihre Datenbanken einzuschränken:

Starten Sie das von MariaDb bereitgestellte Utility-Skript "mysql_secure_installation" und beantworten Sie alle Fragen:

$ sudo mysql_secure_installation

Zuerst werden Sie gefragt, ob Sie das Passwort-Validierungssystem aktivieren möchten. Wenn Sie dieses System aktivieren, wird es ausgewertet, wenn Sie ein Passwort für einen Benutzer festlegen. Wenn das Passwort die Mindestsicherheitsanforderungen nicht erfüllt, wird es mit einer Fehlermeldung abgelehnt.

Dann werden Sie gefragt, ob Sie das Root-Passwort in eines Ihrer Vorlieben ändern möchten. Wenn Sie das Passwort-Validierungssystem aktivieren, müssen Sie ein Passwort eingeben, das den Sicherheitskriterien entspricht.

Es wird empfohlen, einige Best Practices zum Erstellen eines sicheren Passworts zu befolgen. Dazu gehören:

  • Die Verwendung von Groß- und Kleinschreibung

  • Die Verwendung von Buchstaben und Zahlen

  • Die Verwendung von nicht-alphanumerischen Zeichen wie @ # $% ˆ &!

  • Die Verwendung anderer als der bisher verwendeten Passwörter

Wählen Sie schließlich aus, ob anonyme Benutzer entfernt, Datenbanken getestet und die Remote-Anmeldung mit dem Root-Benutzer deaktiviert werden soll. Für ein angemessenes Sicherheitsniveau wird empfohlen, alle diese Änderungen zu bestätigen.

Bestätigen Sie an dieser Stelle die Aktualisierung der angezeigten Tabelle, um die neuen Sicherheitskriterien anzuwenden.

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!

Nach dem Neustart des Dienstes kann eine Datenbank für Roundcube und ein neuer Benutzer dafür (durch Ändern des Passworts) erstellt werden:

$ 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

Roundcube-Installation

Um die neueste Version von Roundcube herunterzuladen, benötigen Sie wget. Falls nicht auf Ihrem System installiert, tun Sie dies mit dem folgenden Befehl:

$ sudo yum install wget

Andernfalls fahren Sie fort, indem Sie das Paket von github herunterladen und extrahieren:

$ 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

Verschieben Sie dann alles in das NGINX-Verzeichnis:

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

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

Das Roundcube-Paket enthält eine SQL-Datei, die in die neu erstellte Datenbank mit der erforderlichen Struktur importiert werden muss:

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

Während des Importvorgangs werden Sie nach dem Datenbank-Root-Passwort gefragt, das während der Installation von MariaDB eingegeben wurde.

Sobald die Datenbankkonfiguration abgeschlossen ist, ìbereiten Sie den virtuellen NGINX-Server für die Domain mail.domain.com vor. Stellen Sie zunächst sicher, dass der Eigentümer des HTML-Ordners NGINX ist:

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

Erstellen und bearbeiten Sie nun die virtuelle Hostdatei /etc/nginx/conf.d/mail.example.com.conf wie folgt:

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;

        }

}

Bevor Sie alle Änderungen speichern, denken Sie daran, die Domain „domain.com“ in Ihre Domain zu ändern.

Im Fall von Berechtigungsfehlern ändern Sie die PHP-FPM-Konfiguration in /etc/php-fpm.d/www.conf, indem Sie diese Parameter ändern:

user = nginx

group = nginx

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

listen.owner = nginx

listen.group = nginx

listen.mode = 0660

Stellen Sie außerdem sicher, dass der Besitzer des PHP-"Sitzungs"-Verzeichnisses NGINX ist:

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

An diesem Punkt kann Roundcube über die Weboberfläche konfiguriert werden.

Roundcube-Konfiguration über Webinterface

Um mit der Installation fortzufahren, gehen Sie über einen Webbrowser zu:http://mail.domain.com/installer/

In dieser ersten Phase zeigt der Roundcube-Installer eine Zusammenfassung der Voraussetzungen für den korrekten Betrieb des Systems. Klicken Sie auf die Schaltfläche „WEITER“, um fortzufahren.

In dieser zweiten Phase müssen eine Reihe von Betriebsparametern eingegeben werden. Lassen Sie alles unverändert außer dem Produktnamen, wo Sie Ihren Domainnamen oder einen Spitznamen Ihrer Wahl eingeben.

Wichtig ist die Änderung der Zugangsdaten zum SQL-Server mit den während der Installationsphase eingegebenen. Wenn Sie fertig sind, klicken Sie auf "WEITER", um fortzufahren.

Sobald die zweite Phase abgeschlossen ist, testen Sie die IMAP-/SMTP-Parameter Ihres Servers, um sicherzustellen, dass Roundcube E-Mails senden/empfangen kann.

Wenn Sie fertig sind, löschen Sie alle notwendigen Dateien für die Installation im Ordner /var/www/html/roundcubemail/installer, indem Sie den folgenden Befehl ausführen:

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

Wenn Sie die während der Konfigurationsphase eingegebenen Parameter modifizieren oder ändern möchten, ist eine Modifikation der Datei im Verzeichnis /var/www/html/roundcubemail/config/config.inc.php jederzeit möglich.

Zugriff auf Webmail

Unsere Roudcube-Instanz ist unter der URL http://mail.domain.com/ einsatzbereit. Melden Sie sich dann mit den Anmeldedaten eines mit Dovecot konfigurierten Postfachs an.


Linux
  1. So verwalten Sie das Kontopasswort in Linux

  2. So installieren Sie Roundcube-Webmail unter CentOS 8

  3. So ersetzen Sie MySQL durch MariaDB unter CentOS 6

  4. Wie installiere ich MySQL unter CentOS 7.x?

  5. Wie überprüfe ich das Passwort mit Linux?

So installieren Sie das dotProject-Tool in CentOS 7

So richten Sie MariaDB Galera Cluster mit HAproxy unter CentOS 7 ein

So verwalten Sie Pakete auf CentOS mit YUM

So verwalten Sie Linux-Passwörter mit dem Pass-Befehl

So richten Sie die MariaDB-Master-Slave-Replikation unter CentOS 7 ein

So verwalten Sie Datenbanken in MariaDB unter Ubuntu 18.04