Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Nextcloud na VPS: instalacja, Nginx, PHP 8.2, Redis i OnlyOffice

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS / Aplikacje

Nextcloud to open source platforma do prywatnej chmury — alternatywa dla Google Drive czy Dropbox, którą hostujesz sam. Na VPS z Nginx, PHP-FPM 8.2 i Redis uzyskasz szybką i bezpieczną instalację dla kilku do kilkudziesięciu użytkowników. Ten przewodnik przeprowadzi Cię przez kompletną instalację na Ubuntu 24.04.

Instalacja zależności — Nginx, PHP 8.2, MariaDB, Redis

Zacznij od instalacji wszystkich wymaganych pakietów. Nextcloud działa najlepiej z PHP-FPM (FastCGI Process Manager) zamiast mod_php — lepsza izolacja procesów i łatwiejsze zarządzanie wersjami PHP.

# Aktualizacja systemu
apt update && apt upgrade -y

# Nginx
apt install -y nginx

# PHP 8.2 + rozszerzenia wymagane przez Nextcloud
apt install -y php8.2-fpm php8.2-cli php8.2-mysql php8.2-pgsql \
  php8.2-gd php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip \
  php8.2-intl php8.2-bcmath php8.2-gmp php8.2-imagick \
  php8.2-redis php8.2-apcu php8.2-ldap

# MariaDB
apt install -y mariadb-server

# Redis
apt install -y redis-server

# Certbot dla SSL
apt install -y certbot python3-certbot-nginx

Konfiguracja PHP-FPM dla Nextcloud

PHP-FPM wymaga dostosowania limitów pamięci i czasu wykonania dla Nextcloud. Edytuj plik konfiguracyjny pool-a www.

# Edytuj /etc/php/8.2/fpm/php.ini
# Kluczowe ustawienia dla Nextcloud:

memory_limit = 512M
upload_max_filesize = 16G
post_max_size = 16G
max_execution_time = 3600
max_input_time = 3600
output_buffering = Off

# Opcache — wymagane przez Nextcloud
opcache.enable = 1
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1

# APCu — local cache
apc.enable_cli = 1

# Zastosuj zmiany
systemctl restart php8.2-fpm

Baza danych i pobranie Nextcloud

# Konfiguracja MariaDB
mysql_secure_installation

# Utwórz bazę danych i użytkownika Nextcloud
mysql -u root -p <<EOF
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'silnehaslo123';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
EOF

# Pobierz Nextcloud (sprawdz aktualna wersje na nextcloud.com/install)
cd /var/www/
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
rm latest.zip
chown -R www-data:www-data nextcloud/
chmod -R 750 nextcloud/

Konfiguracja Nginx dla Nextcloud

Nextcloud wymaga specyficznej konfiguracji Nginx — obsługi .well-known (WebDAV, CalDAV, CardDAV), nagłówków bezpieczeństwa i przekierowania requestów do PHP-FPM.

# /etc/nginx/sites-available/nextcloud
server {
    listen 80;
    server_name cloud.twojadomena.pl;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name cloud.twojadomena.pl;

    ssl_certificate /etc/letsencrypt/live/cloud.twojadomena.pl/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.twojadomena.pl/privkey.pem;

    root /var/www/nextcloud;
    index index.php;

    client_max_body_size 16G;
    client_body_timeout 3600s;

    # Nagłówki bezpieczeństwa
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header Referrer-Policy "no-referrer" always;

    # .well-known dla CalDAV/CardDAV
    location = /.well-known/carddav {
        return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
        return 301 $scheme://$host/remote.php/dav;
    }

    location / {
        rewrite ^ /index.php;
    }

    location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
        deny all;
    }

    location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+)\.php(?:$|\/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(\/.*)?$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
        fastcgi_read_timeout 3600;
    }

    location ~ \.php$ {
        return 404;
    }

    location ~* \.(?:css|js|woff|woff2|ttf|svg|ico)$ {
        expires 6M;
        add_header Cache-Control "public";
    }
}
# Aktywuj konfigurację
ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

# SSL z Let's Encrypt
certbot --nginx -d cloud.twojadomena.pl

Redis — cache sesji i distributed locking

Redis znacząco przyspiesza Nextcloud — eliminuje operacje dyskowe dla sesji i zapewnia poprawne blokady przy synchronizacji z wielu urządzeń jednocześnie. Konfiguracja w config/config.php:

# /var/www/nextcloud/config/config.php — dodaj/edytuj:
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 3.0,
    'password' => '',     // zostaw puste jesli brak hasła Redis
    'dbindex' => 0,
),

# Opcjonalnie — zabezpiecz Redis hasłem w /etc/redis/redis.conf:
requirepass "silnehasloredis"

# Zrestartuj Redis po zmianie konfiguracji
systemctl restart redis-server

OnlyOffice Document Server — edycja dokumentów online

OnlyOffice pozwala edytować dokumenty Word, Excel i PowerPoint bezpośrednio w przeglądarce, podobnie jak Google Docs. Wymaga osobnego serwera (minimum 4 GB RAM) lub Docker. Najprostszy sposób instalacji to Community Document Server przez Docker:

# Instalacja Docker (jesli nie masz)
apt install -y docker.io docker-compose

# Uruchom OnlyOffice Community Server
docker run -i -t -d -p 8080:80 \
  --restart=always \
  --name onlyoffice-document-server \
  onlyoffice/documentserver

# W Nextcloud — zainstaluj aplikację ONLYOFFICE przez web UI:
# Apps → Office & Text → ONLYOFFICE → Install

# Konfiguracja w Nextcloud:
# Settings → ONLYOFFICE → Document Editing Service address:
# http://IP_TWOJEGO_VPS:8080

# Sprawdz czy Document Server działa
curl http://localhost:8080/healthcheck

Wymagania systemowe — tabela

Komponent Minimalne Zalecane (10 użytk.)
RAM 512 MB 2 GB (4 GB z OnlyOffice)
CPU 1 vCPU 2 vCPU
Dysk (system) 10 GB 20 GB SSD/NVMe
PHP 8.1 8.2 (najszybszy)
Baza danych MySQL / MariaDB / PostgreSQL MariaDB 10.6+ lub PostgreSQL 14+

Najczęstsze pytania

Ile RAM potrzebuje Nextcloud na VPS? +
Minimalne wymagania Nextcloud to 512 MB RAM, ale w praktyce potrzebujesz co najmniej 2 GB dla komfortowej pracy. Przy 5–10 użytkownikach jednocześnie plan z 2 GB RAM jest wystarczający. OnlyOffice Document Server (do edycji dokumentów online) potrzebuje minimum 4 GB RAM — uruchamia Chromium w tle. Jeśli chcesz tylko przechowywania plików bez edycji online, 2 GB w zupełności wystarczy.
Dlaczego Redis jest potrzebny dla Nextcloud? +
Redis w Nextcloud pełni dwie role: (1) cache sesji PHP — zamiast plików na dysku sesje są przechowywane w RAM, co przyspiesza logowanie i operacje wymagające autoryzacji, (2) distributed locking — zapobiega konfliktom podczas jednoczesnego dostępu do tego samego pliku z wielu połączeń. Bez Redis przy synchronizacji wielu urządzeń naraz (np. Nextcloud Client + przeglądarka + aplikacja mobilna) mogą wystąpić błędy blokad i uszkodzenia danych.
Jak skonfigurować domenę dla Nextcloud z SSL? +
Potrzebujesz: domeny wskazującej A-rekordem na IP VPS-a, Nginx jako reverse proxy z konfiguracją dla Nextcloud (plik .well-known, upload limity, nagłówki bezpieczeństwa) oraz certyfikatu Let's Encrypt przez Certbot. Nextcloud ma własny wbudowany serwer (Nextcloud AIO), ale dla produkcji zalecany jest Nginx jako front-end z PHP-FPM. Po instalacji dodaj domenę do trusted_domains w config.php.
Czy mogę migrować Nextcloud między serwerami? +
Tak. Procedura migracji: (1) włącz tryb maintenance na starym serwerze (php occ maintenance:mode --on), (2) zrób dump bazy MySQL/PostgreSQL, (3) zsynchronizuj katalog danych (rsync -avz /var/www/nextcloud/data/), (4) zsynchronizuj config.php, (5) na nowym serwerze przywróć bazę i dane, (6) zaktualizuj trusted_domains i datadirectory w config.php, (7) uruchom php occ maintenance:mode --off. Certbot wymaga ponownego wystawienia certyfikatu na nowym serwerze.

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.