Wéi installéiere Roundcube Webmail op CentOS/RHEL 8/7


Roundcube ass eng gratis an oppe Quell, voll ausgestattete web-baséiert multilingual IMAP Webmail Software, mat enger Applikatioun-ähnlecher User-Interface déi voll funktionell a personaliséierbar ass, a benotzt déi lescht Webstandards. Et ass mat PHP gebaut a bitt voll Funktionalitéit déi Dir vun engem modernen E-Mail Client erwaarden kënnt.

  • Et ass méisproocheg, ënnerstëtzt iwwer 70 Sproochen.
  • Ënnerstëtzt e Find-as-you-Typ Adressbuch.
  • Ënnerstëtzt verschidde Sender Identitéiten.
  • Offert sophistikéierte Privatsphärschutz.
  • Huet e vollstänneg Adressbuch mat Gruppen an LDAP Connectoren.
  • Offert RichText/HTML Message Zesummesetzung.
  • Ënnerstëtzt d'Sich no Messagen a Kontakter.
  • Ënnerstëtzt Int. Domain Nimm (IDNA).
  • Ënnerstëtzt Dossiermanipulatioun, gedeelt Ordner, an ACL.
  • Erweiterbar mat der Plug-in API.
  • Gitt Rechtschreifkontrollfunktioun.
  • Gitt Import/Export Funktiounen.
  • Huet e Plug-in API fir flexibel Extensiounen a sou vill méi.

  1. E RHEL 7 Server mat minimaler Installatioun.
  2. Apache oder Nginx Webserver
  3. PHP a MySQL/MariaDB Datebank
  4. SMTP an IMAP Server mat IMAP4 rev1 Ënnerstëtzung

Fir den Ëmfang vun dësem Artikel, huelen mir un datt Dir schonn e Lafen Postfix E-Mail Server mat virtuelle Benotzer hutt, soss befollegt eis Guiden Setup:

  1. Postfix Mail Server an Dovecot mat MariaDB opsetzen - Deel 1
  2. Konfiguréieren Postfix an Dovecot Virtual Domain Benotzer - Deel 2
  3. Installéieren an integréieren ClamAV a SpamAssassin op Postfix Mail Server - Deel 3

Fir den Zweck vun dësem Artikel installéieren ech Roundcube Webmail op engem Linode CentOS VPS mat engem Nginx Webserver, statesch IP Adress 192.168.0.100, an Hostnumm mail.linux-console.net.

Schrëtt 1: Installéiert Nginx, PHP-FPM, a MariaDB an CentOS 8/7

1. Éischt starten andeems Dir EPEL a REMI Repositories aktivéiert an Nginx, PHP, PHP-FPM a MariaDB Server op Ärem CentOS System installéiere wëllt.

# 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. Wann Dir all d'Packagen erfollegräich installéiert hutt, start den Nginx Webserver, aktivéiert et automatesch bei der Bootzäit unzefänken a kuckt ob et op a leeft.

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

3. Nächst, wann Dir e System Firewall aktivéiert hutt, musst Dir den Hafen opmaachen 80 fir extern Ufroen.

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

4. Als nächst musst Dir PHP-FPM konfiguréieren fir richteg ze schaffen. Öffnen d'Datei /etc/php.ini mat engem Kommandozeil Testeditor.

# vim /etc/php.ini

Kuckt no der Direktiv ;cgi.fix_pathinfo=1, decommentéiert se a setzt säi Wäert op 0.

cgi.fix_pathinfo=0

Kommentéiert och d'Direktiv ;date.timezone un a setzt säi Wäert op Är Zäitzone.

date.timezone = "Africa/Kampala"

Wann Dir fäerdeg sidd, späichert d'Datei a gitt eraus.

5. Da starten PHP-FPM Service, aktivéiert et automatesch un der Stiwwel Zäit ze starten, a kontrolléiert ob et op a lafen ass, wéi follegt.

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

Schrëtt 2: Séchert MariaDB Server a erstellt Roundecube Datebank

6. Start elo de MariaDB Service mat de folgende Kommandoen.

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

7. D'Standard MariaDB Installatioun ass onsécher. Dir musst de Sécherheetsskript lafen deen mam binäre Package kënnt, fir et ze sécheren. Dir wäert gefrot ginn e Root Passwuert ze setzen, anonym Benotzer ze läschen, Root Login op afstand auszeschalten an d'Testdatenbank ze läschen.

# mysql_secure_installation

8. Elo loggt Iech an d'MariaDB-Datebank un, erstellt eng Datebank fir Roundecube, a gitt de Benotzer déi entspriechend Permissiounen op der Datebank (erënnert un e staarkt/séchert Passwuert an engem Produktiounsëmfeld ze setzen).

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

9. Als nächst importéiert de Roundcube-Tablelayout op déi nei erstallt Datebank.

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

Schrëtt 3: Luet Roundcube Package erof

10. An dësem Schrëtt, luet déi lescht stabil Versioun (1.4.9 zum Zäitpunkt vun dësem Schreiwen) vu Roundcube vum wget Kommandozeil Downloader erof fir se ze kréien, d'TAR Datei extrahéieren an d'Dateien op Äre Webserver Dokument root eropzelueden. .

# 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ächst setzen déi entspriechend Permissiounen op de Roundcube Webroot Dateien.

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

Schrëtt 4: Nginx Server Block Fir Roundcube Web Installer konfiguréieren

12. Erstellt elo en Nginx Serverblock fir de Roundcube ënner /etc/nginx/conf.d/ (Dir kënnt d'Datei nennen wéi Dir wëllt, awer et sollt eng .conf Extensioun hunn).

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

Füügt déi folgend Konfiguratioun an der Datei.

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

Späichert d'Datei a maach se zou.

13. Als nächst öffnen d'Datei /etc/php-fpm.d/www.conf fir e puer Ännerungen an der PHP-FPM Web Direktiv ze maachen.

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

Ännert de Benotzer Apache op nginx an de folgende Variablen.

user = nginx
group = nginx

Dann kommentéiert d'Linn lauschteren = 127.0.0.1:9000 a setzt d'Lauschtervariabel fir op engem Unix Socket ze lauschteren an der nginx Server Blockdatei ze lauschteren:

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

Setzt och d'Permissiounen fir UNIX Socket, decommentéieren an änneren d'Linnen op:

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

Wann Dir fäerdeg sidd, späichert d'Datei a maach se zou.

14. Da starten d'Nginx- a PHP-FPM-Servicer nei fir déi rezent Ännerungen anzesetzen, wéi follegt.

# systemctl restart nginx php-fpm

Schrëtt 5: Zougang Roundcube Web UI

15. Ier Dir den Installatiounswizard ufänkt, fir Sessiounsfehler ze vermeiden, setze déi entspriechend Permissiounen am Verzeechnes /var/lib/php/session/. De Standardgruppbesëtzer ass Apache, ännert et op nginx wéi gewisen.

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

16. Elo öffnen e Browser a benotzt d'Adress http://mail.example.com/installer (ersetzt d'Domain mam Servernumm, deen Dir gesat hutt beim Schafe vun engem Nginx Serverblock fir Roundcube) fir op de Web ze kommen. installateur. Wann all PHP Versiounen, Extensiounen an php.ini/.htaccess Astellunge richteg sinn, gesitt Dir de folgende Screenshot, klickt op Next fir op d'Konfiguratiounssäit ze goen.

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

17. D'Konfiguratiounssäit erlaabt Iech Är Roundcube Instanz opzestellen. Mir erklären nëmmen déi wichteg Optiounen fir den Ëmfang vun dësem Guide.

Ënnert der Allgemeng Konfiguratioun, setze e product_name zum Beispill Beispill.com Webmail.

Gitt op d'Datebase Setup, gitt den Datebankhost, den Numm, de Benotzer a Passwuert un fir mam MySQL Server ze verbannen.

Da scrollt erof op IMAP- a SMTP-Astellungen a gitt d'IP Adress vun Ärem IMAP- an SMTP-Server un, wann et dee selwechte Server ass, op deem Dir Roundcube leeft, loosst et als localhost an spezifizéieren och aner néideg Parameteren.

Dir kënnt aner Astellungen no Äre Besoinen spezifizéieren, wann Dir fäerdeg sidd, klickt op Erstellt Config.

18. Dir sollt elo e Message gesinn D'Configuratiounsdatei gouf erfollegräich an /var/www/html/roundcubemail/config Verzeichnis vun Ärer Roundcube Installatioun gespäichert. Klickt op Continue.

19. Dir kënnt Är Konfiguratioun vun der Testkonfiguratioun Säit iwwerpréiwen wéi an der folgender Screenshot.

20. Als nächst läscht de ganzen Installateur Dossier (deen Dateien enthält, déi sensibel Konfiguratiounsdaten wéi Server Passwierder a Verschlësselungsschlëssel fir de Public ausstelle kënnen) aus dem Roundcube Root Verzeichnis (oder vergewëssert Iech datt d'enable_installer Optioun am config.inc.php deaktivéiert ass ).

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

21. Endlech benotzt d'URL http://mail.example.com fir op d'Roundcube Login Säit ze kommen. Gitt Äre Benotzernumm a Passwuert fir Är Mailen ze gesinn.

Roundcube ass e wäit benotzten, voll ausgestattete webbaséierten méisproochege Mail Client. An dësem Artikel hu mir gewisen wéi Dir déi lescht stabil Versioun vu Roundcube Webmail op engem CentOS/RHEL 8/7 mam Nginx Webserver installéiere kënnt. Wann Dir Froen hutt, benotzt de Feedbackformular hei ënnen fir eis z'erreechen.