 Autor: [Tomasz Nowosielski](/autorzy/tomasz-nowosielski) Redaktor naczelny, analityk hostingu · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Roundcube webmail — instalacja

# Roundcube webmail — instalacja i konfiguracja

Opublikowano: 10 kwietnia 2026 · Kategoria: Hosting / Poczta

Roundcube to jeden z najpopularniejszych webmaili open-source — elegancki interfejs AJAX, obsługa wielu kont, filtry, kontakty i szerokie możliwości rozszerzenia przez pluginy. Jeśli stawiasz własny serwer pocztowy (Postfix + Dovecot), Roundcube jest naturalnym wyborem jako interfejs webowy. Można go też podpiąć do zewnętrznych serwerów IMAP (Gmail, O365, własny hosting). Ten artykuł pokazuje instalację, konfigurację i podstawowe zabezpieczenia.

## Instalacja — Ubuntu z Nginx i PHP-FPM

\# Zaleznosci
sudo apt update
sudo apt install nginx php8.1-fpm php8.1-mysql php8.1-intl \\
  php8.1-json php8.1-mbstring php8.1-iconv php8.1-curl \\
  php8.1-zip php8.1-xml mariadb-server -y

# Pobierz Roundcube (wersja stabilna)
cd /var/www/html
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.6/roundcubemail-1.6.6-complete.tar.gz
tar -xzf roundcubemail-1.6.6-complete.tar.gz
mv roundcubemail-1.6.6 roundcube
chown -R www-data:www-data roundcube/

# Baza danych
sudo mysql -u root <<SQLEOF
CREATE DATABASE roundcube CHARACTER SET utf8mb4 COLLATE utf8mb4\_unicode\_ci;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'BezpieczneHaslo2026!';
GRANT ALL PRIVILEGES ON roundcube.\* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
SQLEOF

# Import schematu
mysql -u roundcube -p roundcube < /var/www/html/roundcube/SQL/mysql.initial.sql

## Konfiguracja Nginx z HTTPS

\# /etc/nginx/sites-available/roundcube
server {
    listen 80;
    server\_name webmail.twojadomena.pl;
    return 301 https://$host$request\_uri;
}

server {
    listen 443 ssl http2;
    server\_name webmail.twojadomena.pl;
    ssl\_certificate /etc/letsencrypt/live/webmail.twojadomena.pl/fullchain.pem;
    ssl\_certificate\_key /etc/letsencrypt/live/webmail.twojadomena.pl/privkey.pem;
    root /var/www/html/roundcube;
    index index.php;

    # Ukryj wrazliwe katalogi
    location ~ ^/(config|temp|logs)/ { deny all; }
    location ~ /\\. { deny all; }

    location / {
        try\_files $uri $uri/ /index.php?$query\_string;
    }

    location ~ \\.php$ {
        fastcgi\_pass unix:/run/php/php8.1-fpm.sock;
        include fastcgi\_params;
        fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;
    }

    # Limit uploadow (zalaczniki)
    client\_max\_body\_size 25m;
}

sudo ln -s /etc/nginx/sites-available/roundcube /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

## Konfiguracja — config.inc.php

Skopiuj przykładowy plik konfiguracyjny i dostosuj kluczowe parametry:

cd /var/www/html/roundcube/config
cp config.inc.php.sample config.inc.php
nano config.inc.php

\# Kluczowe ustawienia w config.inc.php

# DSN bazy danych
$config\['db\_dsnw'\] = 'mysql://roundcube:BezpieczneHaslo2026!@localhost/roundcube';

# Serwer IMAP — Dovecot SSL (port 993)
$config\['default\_host'\] = 'ssl://localhost';
$config\['default\_port'\] = 993;

# Serwer SMTP — Postfix SUBMISSION z TLS (port 587)
$config\['smtp\_server'\] = 'tls://localhost';
$config\['smtp\_port'\] = 587;
$config\['smtp\_user'\] = '%u';   # uzytkownik z sesji IMAP
$config\['smtp\_pass'\] = '%p';   # haslo z sesji IMAP

# Unikalny klucz szyfrowania sesji (wygeneruj: openssl rand -base64 18)
$config\['des\_key'\] = 'TwojeUnikalneHaslo24znaki!';

# Bezpieczenstwo
$config\['ip\_check'\] = true;
$config\['session\_lifetime'\] = 10;
$config\['force\_https'\] = true;

# Wyglad
$config\['skin'\] = 'elastic';
$config\['language'\] = 'pl\_PL';
$config\['product\_name'\] = 'Webmail';

# Maksymalny rozmiar zalacznikow
$config\['max\_message\_size'\] = '25M';

# Wlaczone pluginy
$config\['plugins'\] = \['archive', 'zipdownload', 'managesieve'\];

## Konfiguracja Postfix i Dovecot dla Roundcube

Roundcube łączy się do Dovecot przez IMAP (SSL port 993) i do Postfix przez SMTP SUBMISSION (TLS port 587). Kluczowe ustawienia po stronie serwera pocztowego:

\# /etc/postfix/main.cf — upewnij sie ze submission jest wlaczony
# /etc/postfix/master.cf — port 587 z SASL auth
submission inet n - y - - smtpd
  -o syslog\_name=postfix/submission
  -o smtpd\_tls\_security\_level=encrypt
  -o smtpd\_sasl\_auth\_enable=yes
  -o smtpd\_sasl\_type=dovecot
  -o smtpd\_sasl\_path=private/auth
  -o smtpd\_relay\_restrictions=permit\_sasl\_authenticated,reject

# /etc/dovecot/conf.d/10-master.conf
# Unix socket dla SASL (Postfix laczy sie tutaj)
service auth {
  unix\_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

# Restart obu uslug po zmianach
sudo systemctl restart postfix dovecot

## Pluginy — CardDAV i Calendar

\# Plugin CardDAV (synchronizacja kontaktow z Nextcloud/Baikal)
# Pobierz rcmcarddav z GitHub
cd /var/www/html/roundcube/plugins
git clone https://github.com/mstilkerich/rcmcarddav.git carddav
cd carddav && composer install --no-dev

# Dodaj 'carddav' do $config\['plugins'\] w config.inc.php

# Po zalogowaniu uzytkownik konfiguruje CardDAV server w:
# Ustawienia > Kontakty > Dodaj ksiazke adresowa CardDAV
# URL: https://nextcloud.twojadomena.pl/remote.php/dav/addressbooks/users/LOGIN/contacts/

# Plugin Managesieve (filtry wiadomosci Sieve/Dovecot)
# Juz wbudowany — wymaga Dovecot z wtyczka sieve
sudo apt install dovecot-sieve dovecot-managesieved -y

# W /etc/dovecot/conf.d/20-managesieve.conf
# service managesieve-login { ... } — zwykle juz skonfigurowany
sudo systemctl restart dovecot

# Dodaj 'managesieve' do $config\['plugins'\] i ustaw port:
# $config\['managesieve\_port'\] = 4190;

## Skórki (skins) — Elastic i Classic

Skórka

Wygląd

Responsywna

Zalecana dla

**elastic**

Nowoczesna, Material Design

Tak (mobile-first)

Produkcja — domyślna od RC 1.4

**classic**

Tradycyjna, 3-kolumnowa

Częściowo

Użytkownicy przyzwyczajeni do starego UI

**larry**

Nowoczesna (starsza)

Nie

Znikająca — migruj do elastic

## Zabezpieczenia i fail2ban

-   **Usuń instalator** po zakończeniu konfiguracji: `rm -rf /var/www/html/roundcube/installer/` — zostawienie go to krytyczna luka.
-   **fail2ban** — utwórz regułę dla Roundcube loginów: filtruj `/var/log/roundcube/errors.log` na frazy `IMAP Error: Login failed` — ban po 5 próbach w 10 min.
-   **CSP header** w Nginx: `add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";`
-   **Aktualizacje** — Roundcube jest aktywnie rozwijany. Sprawdzaj nowe wersje i aktualizuj przed publikacją exploitów. Obs: w 2023 odkryto CVE-2023-5631 (stored XSS).
-   **Ograniczenie dostępu do IP** — jeśli webmail jest tylko dla pracowników, rozważ ograniczenie dostępu do znanych sieci przez Nginx (`allow IP; deny all;`).

## Najczęstsze pytania

Czym jest Roundcube i jakie ma wymagania systemowe? +

Roundcube to popularny webmail open-source napisany w PHP. Działa jako przeglądarkowy klient poczty łączący się przez IMAP (odczyt poczty) i SMTP (wysyłka). Wymagania: PHP 7.4+ (zalecane 8.1), rozszerzenia PHP: pdo\_mysql lub pdo\_pgsql, intl, json, mcrypt lub openssl, mbstring, iconv. Baza danych: MySQL/MariaDB lub PostgreSQL (przechowuje ustawienia, kontakty, sygnatury — nie samą pocztę, ta jest na serwerze IMAP). Serwer webowy: Apache lub Nginx z PHP-FPM.

Jak skonfigurować Roundcube do pracy z własnym serwerem Postfix i Dovecot? +

W config/config.inc.php ustaw: $config\["default\_host"\] = "ssl://localhost" (lub "tls://localhost" dla STARTTLS) i $config\["default\_port"\] = 993 dla IMAP Dovecot. Dla SMTP: $config\["smtp\_server"\] = "tls://localhost" i $config\["smtp\_port"\] = 587 (SUBMISSION) lub 465 (SMTPS). Jeśli chcesz żeby Roundcube uwierzytelniał się u Postfix przez SASL tak samo jak normalny klient, ustaw $config\["smtp\_user"\] = "%u" i $config\["smtp\_pass"\] = "%p" — przekaże dane logowania z sesji IMAP do SMTP.

Jakie pluginy warto zainstalować w Roundcube? +

Wbudowane pluginy: archive (przenoszenie do archiwum), managesieve (filtry Sieve/Dovecot), zipdownload (pobieranie załączników jako ZIP), markasjunk2 (oznaczanie spamu). Zewnętrzne: CardDAV (synchronizacja kontaktów z zewnętrznym serwerem CalDAV/CardDAV — np. Nextcloud), rcmcarddav (kontakty CardDAV), calendar (integracja kalendarza przez CalDAV). Instalacja: skopiuj plugin do plugins/, dodaj nazwę do tablicy $config\["plugins"\] w config.inc.php.

Jak zabezpieczyć Roundcube przed atakami? +

Kluczowe zabezpieczenia: (1) $config\["des\_key"\] — ustaw unikalny 24-znakowy klucz szyfrowania sesji, (2) $config\["ip\_check"\] = true — wiąże sesję do IP (blokuje session hijacking), (3) Ogranicz dostęp do /installer/ (usuń po instalacji) i /logs/. (4) fail2ban z regułą dla Roundcube (blokuje brute force na login). (5) Wymuszaj HTTPS na całym webserwerze (nginx: return 301 https). (6) Content-Security-Policy header: skrypt tylko ze swojej domeny. (7) $config\["session\_lifetime"\] = 10 (minuty — krótka sesja).

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z rootem do postawienia własnego serwera pocztowego Postfix + Dovecot + Roundcube

Własny mailserver

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

Mikr.us

Budżetowy VPS do testów konfiguracji Roundcube z własnym SMTP

Dev/Test

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

LH.pl

Hosting z webmailem w chmurze — gotowy interfejs bez konfiguracji

Managed webmail

[Aktywuj rabat →](/out/lh-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

## Powiązane strony

-   [Postfix MTA — konfiguracja serwera pocztowego](/baza-wiedzy/postfix-konfiguracja-vps)
-   [Dovecot IMAP/POP3 — konfiguracja](/baza-wiedzy/dovecot-imap-konfiguracja)
-   [SPF, DKIM i DMARC — konfiguracja](/baza-wiedzy/spf-dkim-dmarc-konfiguracja)
-   [Wszystkie artykuły](/baza-wiedzy/)