Sådan installeres Roundcube Webmail på CentOS/RHEL 8/7


Roundcube er en gratis og open source, fuldt udstyret webbaseret flersproget IMAP-webmail-software med en applikationslignende brugergrænseflade, der er fuldt funktionel og tilpasselig og bruger de nyeste webstandarder. Det er bygget ved hjælp af PHP og tilbyder fuld funktionalitet, som du kan forvente af en moderne e-mail-klient.

  • Det er flersproget, understøtter over 70 sprog.
  • Understøtter en Find-as-you-type adressebog.
  • Understøtter flere afsenderidentiteter.
  • Tilbyder sofistikeret beskyttelse af privatlivets fred.
  • Har en adressebog med fuld funktion med grupper og LDAP-stik.
  • Tilbyder komponering af richtext/HTML-beskeder.
  • Understøtter søgning efter beskeder og kontakter.
  • Understøtter Int. domænenavne (IDNA).
  • Understøtter mappemanipulation, delte mapper og ACL.
  • Kan udvides ved hjælp af plugin-API'et.
  • Giver stavekontrolfunktionalitet.
  • Indeholder import/eksportfunktioner.
  • Har en plug-in API til fleksible udvidelser og så meget mere.

  1. En RHEL 7-server med minimal installation.
  2. Apache eller Nginx webserver
  3. PHP og MySQL/MariaDB-database
  4. SMTP- og IMAP-server med IMAP4 rev1-understøttelse

For omfanget af denne artikel antager vi, at du allerede har en kørende Postfix-e-mail-server med virtuelle brugere, ellers skal du følge vores guider-opsætning:

  1. Opsætning af Postfix Mail Server og Dovecot med MariaDB - Del 1
  2. Konfigurer Postfix og Dovecot Virtual Domain-brugere - Del 2
  3. Installer og integrer ClamAV og SpamAssassin til Postfix Mail Server - del 3

Med henblik på denne artikel vil jeg installere Roundcube Webmail på en Linode CentOS VPS med en Nginx-webserver, statisk IP-adresse 192.168.0.100 og værtsnavn mail.linux-console.net.

Trin 1: Installer Nginx, PHP-FPM og MariaDB i CentOS 8/7

1. Start først med at aktivere EPEL og REMI repositories og installere Nginx, PHP, PHP-FPM og MariaDB server på dit 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. Når du har installeret alle pakkerne, skal du starte Nginx-webserveren, aktivere den til automatisk start ved opstartstidspunktet og kontrollere, om den er i gang.

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

3. Hvis du derefter har en system firewall aktiveret, skal du åbne port 80 for eksterne anmodninger.

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

4. Dernæst skal du konfigurere PHP-FPM til at fungere korrekt. Åbn filen /etc/php.ini ved hjælp af en kommandolinjetesteditor.

# vim /etc/php.ini

Kig efter direktivet ; cgi.fix_pathinfo = 1 , fjern kommentar og sæt dets værdi til 0.

cgi.fix_pathinfo=0

Fjern også kommentar fra direktivet ; date.timezone og indstil dets værdi til din tidszone.

date.timezone = "Africa/Kampala"

Når du er færdig, skal du gemme filen og afslutte.

5. Start derefter PHP-FPM-tjenesten, aktiver den til automatisk start ved opstartstid, og kontroller, om den er i gang som følger.

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

Trin 2: Sikker MariaDB Server og Opret Roundecube-database

6. Start nu MariaDB-tjenesten ved hjælp af følgende kommandoer.

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

7. Standardinstallationen af MariaDB er usikker. Du skal køre det sikkerhedsscript, der følger med den binære pakke, for at sikre det. Du bliver bedt om at indstille en root-adgangskode, fjerne anonyme brugere, deaktivere root-login eksternt og fjerne testdatabasen.

# mysql_secure_installation

8. Log nu ind på MariaDB-databasen, opret en database til Roundecube, og giv brugeren passende tilladelser til databasen (husk at indstille en stærk/sikker adgangskode i et produktionsmiljø).

# 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. Dernæst importerer Roundcube-tabellayoutet til den nyoprettede database.

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

Trin 3: Download Roundcube-pakke

10. I dette trin skal du downloade den seneste stabile version (1.4.9 på tidspunktet for denne skrivning) af Roundcube fra wget-kommandolinjedownloaderen for at hente den, udtrække TAR-filen og uploade filerne til din webserver-dokumentrod .

# 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. Indstil derefter de relevante tilladelser til Roundcube webroot-filerne.

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

Trin 4: Konfigurer Nginx Server Block til Roundcube Web Installer

12. Opret nu en Nginx-serverblok til Roundcube under /etc/nginx/conf.d/ (du kan navngive filen, som du vil, men den skal have en .conf-udvidelse).

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

Tilføj følgende konfiguration i filen.

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

Gem filen, og luk den.

13. Åbn derefter filen /etc/php-fpm.d/www.conf for at foretage et par ændringer i PHP-FPM webdirektivet.

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

Skift brugerapache til nginx i følgende variabler.

user = nginx
group = nginx

Kommenter derefter linjen listen = 127.0.0.1:9000 og indstil lyttevariablen til at lytte til et Unix-sokkelsæt i nginx-serverblokfilen:

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

Indstil også tilladelserne til UNIX-stik, fjern kommentar og skift linjerne til:

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

Når du er færdig, skal du gemme filen og lukke den.

14. Genstart derefter Nginx- og PHP-FPM-tjenesterne for at anvende de seneste ændringer som følger.

# systemctl restart nginx php-fpm

Trin 5: Adgang til Roundcube Web UI

15. Før du starter installationsguiden, skal du indstille de relevante tilladelser i biblioteket/var/lib/php/session/for at undgå eventuelle sessionsfejl. Standardgruppejeren er apache, skift den til nginx som vist.

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

16. Åbn nu en browser og brug adressen http://mail.example.com/installer (udskift domæne med det servernavn, du har indstillet, mens du opretter en Nginx-serverblok til Roundcube) for at få adgang til internettet installatør. Hvis alle PHP-versioner, udvidelser og php.ini/.htaccess-indstillinger er korrekte, vil du se følgende skærmbillede, klik på Næste for at gå til konfigurationssiden.

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

17. Konfigurationssiden giver dig mulighed for at konfigurere din Roundcube-forekomst. Vi forklarer kun de vigtige muligheder for omfanget af denne vejledning.

Under den generelle konfiguration skal du angive et produktnavn for eksempel eksempel.com-webmail.

Gå til Databaseopsætning, indtast databasevært, navn, bruger og adgangskode for at oprette forbindelse til MySQL-serveren.

Rul derefter ned til IMAP- og SMTP-indstillinger, og indtast IP-adressen på din IMAP- og SMTP-server, hvis det er den samme server, som du kører Roundcube på, skal du lade den være som “localhost” og angive andre nødvendige parametre.

Du kan angive andre indstillinger efter dine behov, når du er færdig, skal du klikke på Opret konfiguration.

18. Du skal nu se en meddelelse, der siger "Konfigurationsfilen blev gemt med succes i/var/www/html/roundcubemail/config-biblioteket i din Roundcube-installation." Klik på Fortsæt.

19. Du kan gennemse din konfiguration fra testkonfigurationssiden som vist i det følgende skærmbillede.

20. Fjern derefter hele installationsmappen (som indeholder filer, der kan eksponere følsomme konfigurationsdata som serveradgangskoder og krypteringsnøgler for offentligheden) fra Roundcube-rodmappen (eller sørg for, at muligheden enable_installer i config.inc.php er deaktiveret. ).

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

21. Endelig skal du bruge URL'en http://mail.example.com til at få adgang til Roundcube login-siden. Indtast dit brugernavn og din adgangskode for at se dine mails.

Roundcube er en meget udbredt, fuldt udstyret webbaseret flersproget mailklient. I denne artikel viste vi, hvordan du installerer den nyeste stabile version af Roundcube Webmail på en CentOS/RHEL 8/7 med Nginx-webserveren. Hvis du har spørgsmål, så brug feedbackformularen nedenfor for at nå os.