Zoeken op website

Hoe Roundcube-webmail op CentOS/RHEL 8/7 te installeren


Roundcube is een gratis en open-source, volledig functionele webgebaseerde meertalige IMAP-webmailsoftware, met een applicatie-achtige gebruikersinterface die volledig functioneel en aanpasbaar is, en gebruik maakt van de nieuwste webstandaarden. Het is gebouwd met PHP en biedt alle functionaliteit die je van een moderne e-mailclient mag verwachten.

Roundcube-functies:

  • Het is meertalig en ondersteunt meer dan 70 talen.
  • Ondersteunt een 'Zoek terwijl u typt'-adresboek.
  • Ondersteunt meerdere afzenderidentiteiten.
  • Biedt geavanceerde privacybescherming.
  • Heeft een volledig uitgerust adresboek met groepen en LDAP-connectoren.
  • Biedt het opstellen van richtext/HTML-berichten.
  • Ondersteunt het zoeken naar berichten en contacten.
  • Ondersteunt Int. domeinnamen (IDNA).
  • Ondersteunt mapmanipulatie, gedeelde mappen en ACL.
  • Uitbreidbaar met behulp van de Plug-in API.
  • Biedt functionaliteit voor spellingcontrole.
  • Biedt import-/exportfuncties.
  • Heeft een plug-in API voor flexibele uitbreidingen en nog veel meer.

Aanbevolen systeemvereisten:

  1. Een CentOS 8/RHEL 8- of CentOS 7/RHEL 7-server met minimale installatie.
  2. Apache- of Nginx-webserver
  3. PHP- en MySQL/MariaDB-database
  4. SMTP- en IMAP-server met IMAP4 rev1-ondersteuning

Voor de reikwijdte van dit artikel gaan we ervan uit dat u al een werkende Postfix-e-mailserver met virtuele gebruikers heeft. Volg anders onze installatiehandleidingen:

  1. Postfix Mail Server en Dovecot instellen met MariaDB – Deel 1
  2. Configureer Postfix- en Dovecot virtuele domeingebruikers – Deel 2
  3. Installeer en integreer ClamAV en SpamAssassin in Postfix Mail Server – Deel 3

Testomgeving:

Voor de doeleinden van dit artikel ga ik Roundcube Webmail installeren op een Linode CentOS VPS met een Nginx-webserver, statisch IP-adres 192.168.0.100, en hostnaam mail.linux-console.net.

Stap 1: Installeer Nginx, PHP-FPM en MariaDB in CentOS 8/7

1. Begin eerst met het inschakelen van EPEL en REMI opslagplaatsen en installeer Nginx, PHP , PHP-FPM, en MariaDB-server op uw CentOS-systeem.

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. Zodra u alle pakketten met succes heeft geïnstalleerd, start u de Nginx-webserver, schakelt u deze in om automatisch te starten tijdens het opstarten en controleert u of deze actief is.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. Vervolgens moet u, als u een systeemfirewall heeft ingeschakeld, poort 80 openen voor externe verzoeken.

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

4. Vervolgens moet u PHP-FPM configureren om correct te werken. Open het bestand /etc/php.ini met behulp van een opdrachtregeltesteditor.

vim /etc/php.ini

Zoek naar de richtlijn ;cgi.fix_pathinfo=1, verwijder het commentaar en stel de waarde in op 0.

cgi.fix_pathinfo=0

Verwijder ook de commentaartekens voor de richtlijn ;date.timezone en stel de waarde ervan in op uw tijdzone.

date.timezone = "Africa/Kampala"

Als u klaar bent, slaat u het bestand op en sluit u af.

5. Start vervolgens de PHP-FPM-service, schakel deze in om automatisch te starten tijdens het opstarten en controleer als volgt of deze actief is.

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

Stap 2: Beveilig de MariaDB-server en maak een Roundecube-database

6. Start nu de MariaDB-service met behulp van de volgende opdrachten.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. De standaard MariaDB-installatie is onveilig. Om het te beveiligen, moet u het beveiligingsscript uitvoeren dat bij het binaire pakket wordt geleverd. U wordt gevraagd een root-wachtwoord in te stellen, anonieme gebruikers te verwijderen, root-aanmelding op afstand uit te schakelen en de testdatabase te verwijderen.

mysql_secure_installation

8. Log nu in op de MariaDB-database, maak een database aan voor Roundecube, en geef de gebruiker de juiste machtigingen voor de database (vergeet niet om een sterk/veilig wachtwoord in te stellen in een productieomgeving).

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. Importeer vervolgens de Roundcube-tabelindeling in de nieuw gemaakte database.

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

Stap 3: Download het Roundcube-pakket

10. Download in deze stap de nieuwste stabiele versie (1.4.9 op het moment van schrijven) van Roundcube van de downloadpagina of gebruik de opdrachtregeldownloader van Wget om haal het op, pak het TAR-bestand uit en upload de bestanden naar de documentroot van uw webserver.

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. Stel vervolgens de juiste rechten in voor de Roundcube-webrootbestanden.

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

Stap 4: Configureer Nginx Server Block voor Roundcube Web Installer

12. Maak nu een Nginx-serverblok voor de Roundcube onder /etc/nginx/conf.d/ (je kunt het bestand een naam geven zoals je wilt, maar het moet een .conf extensie).

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

Voeg de volgende configuratie toe aan het bestand.

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

Sla het bestand op en sluit het.

13. Open vervolgens het bestand /etc/php-fpm.d/www.conf om een paar wijzigingen aan te brengen in het PHP-FPM web richtlijn.

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

Wijzig de gebruiker apache in nginx in de volgende variabelen.

user = nginx
group = nginx

Geef vervolgens commentaar op de regel listen=127.0.0.1:9000 en stel de luistervariabele in om te luisteren op een Unix-socket die is ingesteld in het nginx-serverblokbestand:

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

Stel ook de machtigingen voor UNIX-socket in, verwijder de opmerkingen en wijzig de regels in:

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

Als u klaar bent, slaat u het bestand op en sluit u het.

14. Start vervolgens de services Nginx en PHP-FPM opnieuw om de recente wijzigingen toe te passen, als volgt.

systemctl restart nginx php-fpm

Stap 5: Open de Roundcube-webgebruikersinterface

15. Voordat u de installatiewizard start, moet u, om sessiefouten te voorkomen, de juiste machtigingen instellen voor de directory /var/lib/php/session/. De standaard groepseigenaar is apache. Wijzig deze in nginx, zoals weergegeven.

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

16. Open nu een browser en gebruik het adres http://mail.example.com/installer (vervang het domein door de servernaam die u heeft ingesteld tijdens het maken van een Nginx-serverblok voor Roundcube) om toegang te krijgen tot het webinstallatieprogramma. Als alle PHP-versies, extensies en php.ini/.htaccess-instellingen correct zijn, ziet u de volgende schermafbeelding. Klik op Volgende om naar de configuratiepagina te gaan.

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

17. Op de configuratiepagina kunt u uw Roundcube-instantie instellen. We zullen alleen de belangrijke opties uitleggen binnen de reikwijdte van deze handleiding.

Stel onder de Algemene configuratie een productnaam in, bijvoorbeeld Example.com Webmail.

Ga naar Database-instellingen, voer de databasehost, naam, gebruiker en wachtwoord in > om verbinding te maken met de MySQL-server.

Scrol vervolgens omlaag naar de IMAP- en SMTP-instellingen en voer het IP-adres van uw IMAP- en SMTP-server in, indien van toepassing dezelfde server waarop u Roundcube draait, laat deze op “localhost” staan en geef ook andere noodzakelijke parameters op.

U kunt andere instellingen opgeven op basis van uw behoeften. Als u klaar bent, klikt u op Config maken.

18. U zou nu een bericht moeten zien met de tekst "Het configuratiebestand is met succes opgeslagen in de map /var/www/html/roundcubemail/config van uw Roundcube-installatie. " Klik op Doorgaan.

19. U kunt uw configuratie bekijken vanaf de Testconfiguratiepagina, zoals weergegeven in de volgende schermafbeelding.

20. Verwijder vervolgens de hele installatiemap (die bestanden bevat die gevoelige configuratiegegevens zoals serverwachtwoorden en coderingssleutels openbaar kunnen maken) uit de Roundcube-hoofdmap (of zorg ervoor dat de enable_installer optie in config.inc.php is uitgeschakeld).

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

21. Gebruik ten slotte de URL http://mail.example.com om toegang te krijgen tot de Roundcube-inlogpagina. Voer uw gebruikersnaam en wachtwoord in om uw e-mails te bekijken.

Samenvatting

Roundcube is een veelgebruikte, volledig uitgeruste webgebaseerde meertalige e-mailclient. In dit artikel hebben we laten zien hoe u de nieuwste stabiele versie van Roundcube Webmail installeert op een CentOS/RHEL 8/7 met de Nginx-webserver. Als u vragen heeft, kunt u het onderstaande feedbackformulier gebruiken om ons te bereiken.