Website-Suche

So installieren Sie Roundcube Webmail unter CentOS/RHEL 8/7


Roundcube ist eine kostenlose und quelloffene, voll funktionsfähige, webbasierte, mehrsprachige IMAP-Webmail-Software mit einer anwendungsähnlichen Benutzeroberfläche, die voll funktionsfähig und anpassbar ist und die neuesten Webstandards verwendet. Es ist mit PHP erstellt und bietet die volle Funktionalität, die Sie von einem modernen E-Mail-Client erwarten können.

Roundcube-Funktionen:

  • Es ist mehrsprachig und unterstützt über 70 Sprachen.
  • Unterstützt ein Adressbuch mit der Funktion „Suchen während der Eingabe“.
  • Unterstützt mehrere Absenderidentitäten.
  • Bietet anspruchsvollen Datenschutz.
  • Verfügt über ein voll ausgestattetes Adressbuch mit Gruppen und LDAP-Anschlüssen.
  • Bietet Richtext-/HTML-Nachrichtenerstellung.
  • Unterstützt die Suche nach Nachrichten und Kontakten.
  • Unterstützt Int. Domänennamen (IDNA).
  • Unterstützt Ordnermanipulation, freigegebene Ordner und ACL.
  • Erweiterbar mit der Plug-in-API.
  • Bietet Funktionen zur Rechtschreibprüfung.
  • Bietet Import-/Exportfunktionen.
  • Verfügt über eine Plug-in-API für flexible Erweiterungen und vieles mehr.

Empfohlene Systemanforderungen:

  1. Ein CentOS 8/RHEL 8- oder CentOS 7/RHEL 7-Server mit minimaler Installation.
  2. Apache- oder Nginx-Webserver
  3. PHP- und MySQL/MariaDB-Datenbank
  4. SMTP- und IMAP-Server mit IMAP4 rev1-Unterstützung

Für den Rahmen dieses Artikels gehen wir davon aus, dass Sie bereits über einen laufenden Postfix-E-Mail-Server mit virtuellen Benutzern verfügen. Andernfalls folgen Sie unseren Einrichtungsanleitungen:

  1. Einrichten von Postfix Mail Server und Dovecot mit MariaDB – Teil 1
  2. Konfigurieren Sie Postfix- und Dovecot-Virtual-Domain-Benutzer – Teil 2
  3. Installieren und integrieren Sie ClamAV und SpamAssassin in den Postfix-Mailserver – Teil 3

Testumgebung:

Für den Zweck dieses Artikels werde ich Roundcube Webmail auf einem Linode CentOS VPS mit einem Nginx-Webserver, einer statischen IP-Adresse 192.168.0.100 und einem Hostnamen installieren mail.linux-console.net.

Schritt 1: Installieren Sie Nginx, PHP-FPM und MariaDB in CentOS 8/7

1. Beginnen Sie zunächst mit der Aktivierung der EPEL- und REMI-Repositorys und installieren Sie Nginx, PHP , PHP-FPM und MariaDB-Server auf Ihrem CentOS-System.

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. Sobald Sie alle Pakete erfolgreich installiert haben, starten Sie den Nginx-Webserver, aktivieren Sie ihn für den automatischen Start beim Booten und prüfen Sie, ob er betriebsbereit ist.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. Wenn Sie eine System-Firewall aktiviert haben, müssen Sie als Nächstes Port 80 für externe Anfragen öffnen.

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

4. Als nächstes müssen Sie PHP-FPM konfigurieren, damit es ordnungsgemäß funktioniert. Öffnen Sie die Datei /etc/php.ini mit einem Befehlszeilen-Testeditor.

vim /etc/php.ini

Suchen Sie nach der Direktive ;cgi.fix_pathinfo=1, kommentieren Sie sie aus und setzen Sie ihren Wert auf 0.

cgi.fix_pathinfo=0

Entfernen Sie außerdem das Kommentarzeichen für die Anweisung ;date.timezone und setzen Sie ihren Wert auf Ihre Zeitzone.

date.timezone = "Africa/Kampala"

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Vorgang.

5. Starten Sie dann den PHP-FPM-Dienst, aktivieren Sie ihn für den automatischen Start beim Booten und prüfen Sie wie folgt, ob er betriebsbereit ist.

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

Schritt 2: Sichern Sie den MariaDB-Server und erstellen Sie eine Roundecube-Datenbank

6. Starten Sie nun den MariaDB-Dienst mit den folgenden Befehlen.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. Die Standardinstallation von MariaDB ist unsicher. Sie müssen das Sicherheitsskript ausführen, das mit dem Binärpaket geliefert wird, um es zu sichern. Sie werden aufgefordert, ein Root-Passwort festzulegen, anonyme Benutzer zu entfernen, die Root-Anmeldung aus der Ferne zu deaktivieren und die Testdatenbank zu entfernen.

mysql_secure_installation

8. Melden Sie sich nun bei der MariaDB-Datenbank an, erstellen Sie eine Datenbank für Roundecube und erteilen Sie dem Benutzer die entsprechenden Berechtigungen für die Datenbank (denken Sie daran, ein starkes/sicheres Passwort festzulegen). Produktionsumfeld).

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 '=213@!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Als nächstes importieren Sie das Roundcube-Tabellenlayout in die neu erstellte Datenbank.

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

Schritt 3: Laden Sie das Roundcube-Paket herunter

10. Laden Sie in diesem Schritt die neueste stabile Version (1.4.9 zum Zeitpunkt des Verfassens dieses Artikels) von Roundcube von der Download-Seite herunter oder verwenden Sie den wget-Befehlszeilen-Downloader Holen Sie es sich, extrahieren Sie die TAR-Datei und laden Sie die Dateien in das Stammverzeichnis Ihres Webservers hoch.

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. Als nächstes legen Sie die entsprechenden Berechtigungen für die Roundcube-Webroot-Dateien fest.

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

Schritt 4: Konfigurieren Sie den Nginx-Serverblock für Roundcube Web Installer

12. Erstellen Sie nun einen Nginx-Serverblock für den Roundcube unter /etc/nginx/conf.d/ (Sie können die Datei beliebig benennen, sie sollte jedoch einen haben .conf-Erweiterung).

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

Fügen Sie der Datei die folgende Konfiguration hinzu.

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;
        }
}

Speichern Sie die Datei und schließen Sie sie.

13. Öffnen Sie als Nächstes die Datei /etc/php-fpm.d/www.conf, um einige Änderungen am PHP-FPM-Web vorzunehmen Richtlinie.

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

Ändern Sie den Benutzer Apache in nginx in den folgenden Variablen.

user = nginx
group = nginx

Kommentieren Sie dann die Zeile listen=127.0.0.1:9000 aus und legen Sie die Listenvariable so fest, dass sie auf einem Unix-Socket lauscht, der in der Blockdatei des Nginx-Servers festgelegt ist:

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

Legen Sie außerdem die Berechtigungen für den UNIX-Socket fest, entfernen Sie die Kommentarzeichen und ändern Sie die Zeilen in:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Wenn Sie fertig sind, speichern Sie die Datei und schließen Sie sie.

14. Starten Sie dann die Dienste Nginx und PHP-FPM neu, um die letzten Änderungen wie folgt zu übernehmen.

systemctl restart nginx php-fpm

Schritt 5: Greifen Sie auf die Roundcube-Web-Benutzeroberfläche zu

15. Bevor Sie den Installationsassistenten starten, legen Sie die entsprechenden Berechtigungen für das Verzeichnis /var/lib/php/session/ fest, um Sitzungsfehler zu vermeiden. Der Standardgruppeneigentümer ist Apache. Ändern Sie ihn wie gezeigt in nginx.

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

16. Öffnen Sie nun einen Browser und verwenden Sie die Adresse http://mail.example.com/installer (ersetzen Sie die Domäne durch den Servernamen, den Sie beim Erstellen eines Nginx-Serverblocks festgelegt haben für Roundcube), um auf den Web-Installer zuzugreifen. Wenn alle PHP-Versionen, Erweiterungen und php.ini/.htaccess-Einstellungen korrekt sind, sehen Sie den folgenden Screenshot. Klicken Sie auf Weiter, um zur Konfigurationsseite zu gelangen.

http://mail.example.com/installer
OR
http://IP-address/installer

17. Auf der Konfigurationsseite können Sie Ihre Roundcube-Instanz einrichten. Im Rahmen dieses Ratgebers werden wir nur die wichtigen Optionen erläutern.

Legen Sie unter Allgemeine Konfiguration einen Produktnamen fest, zum Beispiel Example.com Webmail.

Gehen Sie zu Datenbank-Setup, geben Sie den Datenbankhost, den Namen, den Benutzer und das Passwort ein > um eine Verbindung zum MySQL-Server herzustellen.

Scrollen Sie dann nach unten zu den IMAP- und SMTP-Einstellungen und geben Sie die IP-Adresse Ihres IMAP- und SMTP-Servers ein, falls vorhanden Wenn Sie denselben Server verwenden, auf dem Sie Roundcube ausführen, belassen Sie ihn bei „localhost“ und geben Sie auch andere notwendige Parameter an.

Sie können je nach Bedarf weitere Einstellungen festlegen. Wenn Sie fertig sind, klicken Sie auf Konfiguration erstellen.

18. Sie sollten nun die Meldung „Die Konfigurationsdatei wurde erfolgreich im Verzeichnis /var/www/html/roundcubemail/config Ihrer Roundcube-Installation gespeichert.“ sehen. Klicken Sie auf Weiter.

19. Sie können Ihre Konfiguration auf der Seite Testkonfiguration überprüfen, wie im folgenden Screenshot gezeigt.

20. Entfernen Sie als Nächstes den gesamten Installationsordner (der Dateien enthält, die vertrauliche Konfigurationsdaten wie Serverkennwörter und Verschlüsselungsschlüssel für die Öffentlichkeit zugänglich machen könnten) aus dem Roundcube-Stammverzeichnis (oder stellen Sie sicher, dass der (Option „enable_installer“ in config.inc.php ist deaktiviert).

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

21. Verwenden Sie abschließend die URL http://mail.example.com, um auf die Roundcube-Anmeldeseite zuzugreifen. Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um Ihre E-Mails anzuzeigen.

Zusammenfassung

Roundcube ist ein weit verbreiteter, voll ausgestatteter webbasierter mehrsprachiger E-Mail-Client. In diesem Artikel haben wir gezeigt, wie man die neueste stabile Version von Roundcube Webmail auf einem CentOS/RHEL 8/7 mit dem Nginx-Webserver installiert. Wenn Sie Fragen haben, nutzen Sie das untenstehende Feedback-Formular, um uns zu erreichen.


Alle Rechte vorbehalten. © Linux-Console.net • 2019-2024