Kennisbank › Email › Roundcube webmail instellen
email gemiddeld 27 September 2026

Roundcube webmail instellen

Roundcube 1.6 draait op PHP 8.1 of hoger, en dat is precies waar de eerste keuze zit: welke versie van PHP je draait bepaalt of je de nieuwste Roundcube kunt

Roundcube 1.6 draait op PHP 8.1 of hoger, en dat is precies waar de eerste keuze zit: welke versie van PHP je draait bepaalt of je de nieuwste Roundcube kunt gebruiken of moet terugvallen op een oudere release.

Roundcube is een webmailclient. Hij leest en schrijft geen mail zelf — hij praat met een IMAP-server voor het ophalen en met een SMTP-server voor het versturen. Dat betekent dat je e-mailserver er al moet staan voordat je hier begint. Postfix, Dovecot, Exim, wat je ook draait. Roundcube is de voorkant, niet de motor.

De simpele route is je distro-pakket. Op Debian 12 is dat `roundcube` uit de standaard repositories, op Ubuntu 24.04 hetzelfde. Eén commando, klaar. Het nadeel: je zit vast aan de versie die je distro meelevert, en die loopt vaak een jaar of wat achter. Voor een simpele setup is dat prima. Voor nieuwe features of security patches moet je wachten tot de maintainer ze terugport.

De andere route is handmatig. Roundcube downloaden, uitpakken in je webroot, composer dependencies installeren, database aanmaken. Meer werk, meer controle, en je kunt upgraden wanneer je wilt. Reken op een uur als je het vaker hebt gedaan, een middag als het de eerste keer is.

Wat je nodig hebt: een webserver (Apache 2.4 of Nginx 1.24), PHP met de extensies `intl`, `mbstring`, `openssl`, `pdo` en de driver voor je database, en een database — MySQL 8, MariaDB 10.11 of PostgreSQL 15. SQLite kan ook, maar dan zit je vast aan één server en dat wil je op productie niet.

Begin met de database. Roundcube slaat contacten, sessies en instellingen op, niet je mail zelf.

```sql CREATE DATABASE roundcube CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'kies-een-sterk-wachtwoord'; GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost'; FLUSH PRIVILEGES; ```

Daarna het schema importeren. In de Roundcube-map zit `SQL/mysql/initial.sql` voor MySQL en MariaDB, `SQL/postgres/initial.sql` voor PostgreSQL. Kies de juiste.

```bash mysql -u roundcube -p roundcube < SQL/mysql/initial.sql ```

Nu de configuratie. Kopieer `config/config.inc.php.sample` naar `config/config.inc.php` en pas aan. De database-credentials zijn de eerste stap.

```php $config['db_dsnw'] = 'mysql://roundcube:jouwwachtwoord@localhost/roundcube'; $config['imap_host'] = 'ssl://mail.jouwdomein.nl:993'; $config['smtp_host'] = 'ssl://mail.jouwdomein.nl:465'; $config['smtp_user'] = '%u'; $config['smtp_pass'] = '%p'; ```

Die `%u` en `%p` betekenen: gebruik de gebruikersnaam en het wachtwoord waarmee de gebruiker inlogt. Zo hoef je geen aparte SMTP-credentials per account in te stellen.

De `des_key` in de config is verplicht en moet uniek zijn. Genereer er een met `openssl rand -base64 24` en plak hem in `$config['des_key']`. Verlies je die sleutel, dan zijn opgeslagen wachtwoorden in de sessies onbruikbaar. Bewaar hem dus ergens veilig, niet alleen in het bestand.

Wat je hiermee koopt: volledige controle over de interface, plugins, thema's, en welke IMAP-server erachter zit. Wat het kost: jij bent degene die upgradet als er een CVE uitkomt. Roundcube heeft er in het verleden een paar gehad die niet grappig waren.

De derde optie is de makkelijkste en de minst flexibele: Roundcube laten draaien door je hostingpartij of mailprovider. Veel providers hebben het al staan. Je logt in, klaar. Geen database, geen PHP-versie, geen upgrade-verantwoordelijkheid. De prijs is dat je niets kunt aanpassen — geen plugins, geen thema, geen eigen authenticatie tegen je eigen LDAP.

Voor de meeste mensen met een handvol mailboxen is dat de juiste afweging. Je wilt mail lezen, niet een webapplicatie onderhouden die één keer per maand een security update nodig heeft.

Zit je achter een reverse proxy, dan moet je `$config['proxy_whitelist']` instellen. Zonder dat ziet Roundcube het IP-adres van de proxy in plaats van dat van de bezoeker, en dan werkt de sessiebeveiliging niet goed.

```php $config['proxy_whitelist'] = ['10.0.0.1', '192.168.1.0/24']; ```

Voor de webserver: bij Apache 2.4 wil je `AllowOverride All` in de vhost, anders werken de `.htaccess`-bestanden in de Roundcube-map niet en ligt je config bloot. Bij Nginx zet je een `location ~ ^/(config|temp|logs)/ { deny all; }` blok neer. Beide zijn geen detail — een verkeerd geconfigureerde Roundcube is een open deur naar je configuratiebestand met database-wachtwoorden erin.

PHP-versie is de andere valkuil. Roundcube 1.6 eist PHP 8.1. Draai je nog 7.4, dan moet je eerst PHP upgraden of terug naar Roundcube 1.5. Dat is geen kwestie van een vlag omzetten.

Sessies opslaan in Redis in plaats van op schijf scheelt je een hoop als je meerdere webservers achter een load balancer hebt. Zonder dat moet je sticky sessions configureren, en dat is meer werk dan Redis installeren.

```php $config['session_storage'] = 'redis'; $config['redis_hosts'] = ['localhost:6379']; ```

Twee dingen die mensen vaak vergeten. De `temp/` en `logs/` mappen moeten schrijfbaar zijn voor de webserver-gebruiker, anders start Roundcube niet eens op. En de installer in `installer/` moet je na de setup verwijderen — die geeft iedereen toegang tot je configuratie zolang hij er staat.

```bash rm -rf /var/www/roundcube/installer ```

Of je Roundcube zelf installeert of bij je provider laat staan, hangt af van hoeveel mailboxen je beheert en hoeveel je wilt aanpassen. Bij twee accounts is de rekensom snel gemaakt. Bij tweehonderd gebruikers met eigen authenticatie en plugins is het een ander verhaal.

Wat je ook kiest: test het met een echt account voordat je het aan gebruikers geeft. Een webmail die mail kan lezen maar niet versturen merk je pas als iemand een deadline heeft.

← Terug naar kennisbank
← Terug naar kennisbank