Zamknij menu
    Nowe
    Programiści tworzący kody na swoich komputerach

    Co to jest systemd i jak zarządzać usługami w systemie Linux?

    2026-03-23
    Bezpieczeństwo linux

    VPN Linux – kompletny przewodnik po bezpiecznym korzystaniu z sieci w systemie Linux

    2026-03-12
    Bizneswoman siedzi przy biurku, pokazując tablet na tle spadających niebieskich niewyraźnych liter

    Jak zainstalować i skonfigurować Nextcloud na własnym serwerze Linux

    2026-03-10
    Facebook X (Twitter) Instagram
    Linuksowo
    • Główna
    • Dystrybucje
    • Tematy
      • Administracja
      • Bezpieczeństwo
      • Instalacja
      • Oprogramowanie
      • Podstawy
      • Wybór systemu
      • Rozszerzenia plików
    • Pozostałe
    Linuksowo
    Główna»Administracja»Jak zainstalować i skonfigurować Nextcloud na własnym serwerze Linux
    Administracja

    Jak zainstalować i skonfigurować Nextcloud na własnym serwerze Linux

    Norbert BarwickiNorbert BarwickiBrak komentarzy10 min. czyt.
    Bizneswoman siedzi przy biurku, pokazując tablet na tle spadających niebieskich niewyraźnych liter
    Udostępnij
    Facebook Twitter LinkedIn Pinterest E-mail

    Nextcloud to wydajne, otwartoźródłowe rozwiązanie do samodzielnie hostowanego udostępniania plików i współpracy, dające pełną kontrolę nad infrastrukturą danych. Ten przewodnik prowadzi przez instalację i konfigurację Nextcloud na serwerze Linux: wymagania, bazę danych, serwer WWW, strojenie PHP, wdrożenie SSL/TLS oraz optymalizację po instalacji. Dzięki temu administratorzy i zaawansowani użytkownicy szybko uruchomią stabilną, bezpieczną i wydajną instancję Nextcloud, spełniającą wymagania organizacji w zakresie prywatności, dostępności i skalowalności. Wszystkie współzależne komponenty — Linux, baza, serwer WWW, PHP i usługi pomocnicze — muszą być poprawnie skonfigurowane, aby zapewnić pełną funkcjonalność i bezpieczeństwo.

    Spis treści pokaż
    1 Wymagania systemowe i przygotowanie środowiska
    2 Wymagane moduły PHP i zależności
    3 Przygotowanie infrastruktury bazy danych
    4 Konfiguracja serwera www Apache
    5 Konfiguracja i optymalizacja PHP
    6 Instalacja Nextcloud i uruchomienie kreatora
    7 Wdrożenie szyfrowania SSL/TLS z Let’s Encrypt
    8 Konfiguracja po instalacji i optymalizacja wydajności
    9 Wzmocnienie bezpieczeństwa i kontrola dostępu
    10 Utrzymanie, monitorowanie i rozwiązywanie problemów
    11 Alternatywne sposoby wdrożenia i konfiguracje zaawansowane

    Wymagania systemowe i przygotowanie środowiska

    Przed instalacją oceń infrastrukturę względem wymagań. Nextcloud wymaga 64‑bitowego CPU, systemu operacyjnego i środowiska PHP; platformy 32‑bitowe mają istotne ograniczenia (np. daty ≥ 2038). Zalecane systemy to Ubuntu 24.04 LTS/22.04 LTS oraz Red Hat Enterprise Linux 9/8.

    Zużycie pamięci zależy od liczby użytkowników i obciążenia, ale przyjmij minimum 128 MB RAM na proces (zalecane ≥ 512 MB na proces). Jeśli używasz wbudowanych aktualizacji, zarezerwuj co najmniej 256 MB pamięci na proces aktualizatora.

    Wybór bazy danych wprost wpływa na stabilność i wydajność. Do produkcji preferowane są MySQL lub MariaDB. Obsługiwane są też PostgreSQL i Oracle; MySQL/MariaDB zwykle zapewniają najlepszy balans wydajności, wsparcia i funkcji. W MySQL/MariaDB używaj InnoDB, ustaw poziom izolacji READ-COMMITTED oraz (jeśli aktywny binlog) BINLOG_FORMAT=ROW.

    Jako serwer WWW rekomendowany jest Apache 2.4 (najszersza kompatybilność). Alternatywą jest NGINX — lżejszy i szybki, lecz wymagający poprawnej konfiguracji FastCGI dla PHP. Na Apache włącz mod_rewrite, mod_env i mod_headers.

    Używaj wspieranej, aktualnej wersji PHP, planując aktualizacje z wyprzedzeniem. Oprócz samego PHP zainstaluj niezbędne rozszerzenia, które zapewniają integralną funkcjonalność Nextcloud.

    Wymagane moduły PHP i zależności

    Poniżej zebrano kluczowe rozszerzenia PHP wymagane do obsługi plików, przetwarzania danych i kryptografii:

    • ctype – obsługa typów znaków i walidacji znakowej;
    • curl – wykonywanie żądań HTTP(S) i komunikacja z usługami zewnętrznymi;
    • dom – operacje na XML i parsowanie strukturalne;
    • fileinfo – rozpoznawanie typów MIME i właściwości plików;
    • filter – filtrowanie oraz walidacja danych wejściowych;
    • gd – przetwarzanie obrazów (miniatury, skalowanie);
    • hash – funkcje kryptograficzne i sumy kontrolne;
    • json – serializacja i deserializacja struktur danych JSON;
    • libxml – podstawowe wsparcie dla operacji XML;
    • mbstring – obsługa wielobajtowych łańcuchów znaków (np. UTF‑8);
    • openssl – kryptografia i transport TLS/SSL;
    • posix – funkcje POSIX (uprawnienia, użytkownicy);
    • session – zarządzanie sesjami użytkowników;
    • SimpleXML – uproszczone operacje na XML;
    • XMLReader – strumieniowe czytanie XML;
    • XMLWriter – generowanie dokumentów XML;
    • zip – kompresja/dekompresja archiwów ZIP;
    • zlib – kompresja danych w locie.

    Dostęp do bazy wymaga sterownika PDO: pdo_mysql dla MySQL/MariaDB lub pdo_pgsql dla PostgreSQL. Zalecane (opcjonalne) rozszerzenia to intl (lokalizacja, sortowanie) oraz sodium (m.in. Argon2; awaryjnie bcrypt).

    Opcjonalne moduły dla wybranych integracji obejmują:

    • ldap,
    • smbclient,
    • ftp,
    • imap,
    • bcmath,
    • gmp.

    Pamięci podręczne i blokady warto dobrać do architektury:

    • APCu – szybki cache lokalny dla pojedynczego serwera;
    • Redis – rozproszony cache oraz blokady transakcyjne w klastrach (wymaga php-redis ≥ 2.2.6);
    • Memcached – alternatywny cache rozproszony.

    Narzędzia dodatkowe i podglądy plików ułatwiają pracę i wyszukiwanie:

    • imagick – generowanie podglądów obrazów i grafik;
    • avconv/ffmpeg – miniatury i metadane wideo;
    • OpenOffice/LibreOffice – przetwarzanie dokumentów;
    • Elasticsearch – pełnotekstowe wyszukiwanie (wymaga Javy);
    • pcntl – obsługa procesów i sygnałów w CLI;
    • phar – wsparcie aktualizatora CLI.

    Przygotowanie infrastruktury bazy danych

    Rozpocznij od utworzenia bazy i dedykowanego konta o ograniczonych uprawnieniach. Minimalizacja uprawnień ogranicza skutki ewentualnego wycieku poświadczeń.

    W MySQL/MariaDB zweryfikuj kluczowe ustawienia, aby uniknąć konfliktów współbieżności i zapewnić odpowiedni format tabel:

    Parametr Zalecenie Uwagi
    transaction-isolation READ-COMMITTED redukuje blokady i konflikty przy współbieżnym dostępie
    binlog_format ROW (lub wyłączony binlog) precyzyjne replikowanie zmian
    innodb_file_per_table ON oddzielne pliki tabel ułatwiają zarządzanie przestrzenią
    innodb_file_format Barracuda obsługa dużych indeksów; w nowszych wersjach domyślne
    innodb_large_prefix ON dla starszych wersji; w nowszych ignorowany

    Ustaw globalnie zestaw znaków na utf8mb4 dla pełnego Unicode (w tym emoji): character_set_server=utf8mb4, collation_server=utf8mb4_general_ci. Upewnij się, że sterownik PDO używa utf8mb4.

    Przykładowe polecenia SQL (uruchom w kliencie bazy):

    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

    CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';

    W PHP sprawdź, czy pdo_mysql jest aktywne oraz czy ścieżka gniazda jest poprawna. Do weryfikacji użyj:

    php -m | grep -i pdo_mysql

    Jeśli korzystasz z lokalnego socketu MySQL/MariaDB, dopasuj ścieżkę np. do /var/run/mysqld/mysqld.sock.

    Konfiguracja serwera www Apache

    Poprawna konfiguracja Apache warunkuje obsługę żądań, czyste URL-e i nagłówki bezpieczeństwa. Upewnij się, że włączone są: mod_rewrite, mod_env, mod_headers, mod_setenvif, mod_ssl.

    Na Debianie/Ubuntu skorzystaj z wygodnych poleceń do aktywacji modułów:

    sudo a2enmod rewrite

    sudo a2enmod ssl

    sudo a2enmod headers

    Utwórz plik vhosta, np. /etc/apache2/sites-available/nextcloud.conf. Jeśli Nextcloud działa w podkatalogu (np. /var/www/nextcloud/), użyj Alias zamiast VirtualHost, aby współdzielić jedną instancję Apache z innymi aplikacjami.

    W bloku Directory ustaw: Require all granted, AllowOverride All, Options FollowSymLinks MultiViews. Wyłącz WebDAV Apache (Dav off) — Nextcloud używa własnego mechanizmu WebDAV.

    Routing Nextcloud opiera się na mod_rewrite oraz regułach .htaccess; zweryfikuj poprawność m.in. na punktach CalDAV/CardDAV. Nie stosuj dodatkowego uwierzytelniania HTTP w katalogu Nextcloud, aby nie kolidowało z mechanizmami aplikacji.

    Konfiguracja i optymalizacja PHP

    Strojenie PHP wykonuj spójnie w konfiguracji dla Apache i CLI (cron/occ), zwykle w: /etc/php/[wersja]/apache2/php.ini oraz /etc/php/[wersja]/cli/php.ini. Wprowadzaj zmiany równolegle w obu plikach.

    Najważniejsze parametry i sugerowane wartości przedstawiono w tabeli:

    Parametr (php.ini) Zalecenie Cel
    memory_limit 1024M operacje na dużych plikach, indeksacja i synchronizacja
    max_execution_time 3600–7200 wgrywanie dużych plików i długie operacje
    max_input_time ≥ max_execution_time pełna obsługa długich żądań wejściowych
    upload_max_filesize np. 16G wymiar dopasowany do potrzeb organizacji
    post_max_size ≥ upload_max_filesize przyjmowanie dużych formularzy/plików
    output_buffering 0 mniejsze zużycie pamięci przy strumieniowaniu
    opcache.enable 1 aktywacja OPcache
    opcache.memory_consumption 256 wystarczająca przestrzeń na skompilowany kod
    opcache.revalidate_freq 60 rzadsze sprawdzanie znaczników czasu w produkcji

    W środowiskach o bardzo wysokim ruchu można rozważyć opcache.validate_timestamps = 0 i ręczne czyszczenie cache przy wdrożeniach.

    Przy PHP-FPM (zamiast mod_php) dostrój plik www.conf, dopasowując parametry do dostępnej pamięci i współbieżności: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers. Zdefiniuj też zmienne środowiskowe (np. PATH, TMP/TMPDIR, TEMP), aby zapewnić dostęp do narzędzi systemowych i katalogów tymczasowych.

    Instalacja Nextcloud i uruchomienie kreatora

    Pobierz oficjalny pakiet z witryny Nextcloud i zweryfikuj autentyczność (sumy SHA256 i/lub podpis PGP). Dostępne metody: archiwum, kontenery Docker, pakiet Snap (Ubuntu) oraz instalator webowy.

    W wariancie z archiwum pobierz najnowsze stabilne wydanie (.tar.bz2 lub .zip) i sprawdź integralność:

    sha256sum nextcloud-[version].tar.bz2

    Rozpakuj i ustaw poprawne uprawnienia oraz właściciela:

    tar -xjf nextcloud-[version].tar.bz2

    unzip nextcloud-[version].zip

    sudo chown -R www-data:www-data /var/www/nextcloud/

    Rekomendowane uprawnienia: pliki 640, katalogi 750.

    Przed startem kreatora upewnij się, że: baza działa (utworzono bazę i użytkownika), serwer WWW ma aktywne moduły, PHP ma wymagane rozszerzenia, a certyfikaty SSL/TLS są gotowe.

    Uruchom kreator, wchodząc pod adres instancji (np. http://localhost/nextcloud lub Twoja domena). Ustaw silne hasło administratora i wskaż lokalizację katalogu danych. Dla wdrożeń produkcyjnych umieść katalog danych poza katalogiem WWW.

    Wybierz bazę: SQLite tylko do testów/solo; w produkcji użyj MySQL/MariaDB i podaj dane połączenia. Konfiguracja zostanie zapisana w config.php. Po zakończeniu kreatora instancja jest gotowa do pracy.

    Wdrożenie szyfrowania SSL/TLS z Let’s Encrypt

    HTTPS jest obowiązkowe w produkcji — chroni loginy, pliki i sesje. Skorzystaj z darmowych certyfikatów Let’s Encrypt i automatycznych odnowień.

    Zainstaluj Certbot i moduł integracji z Apache (Debian/Ubuntu):

    sudo apt install certbot python3-certbot-apache

    Wydaj certyfikat i zainstaluj go automatycznie w Apache:

    sudo certbot --apache -d cloud.example.com

    Gdy port 80 jest niedostępny publicznie, użyj wyzwania DNS:

    sudo certbot certonly --manual --preferred-challenges dns -d cloud.example.com

    Skonfiguruj vhosty na port 80 i 443; na 80 zastosuj stałe przekierowanie 301 na HTTPS. W vhoście 443 wskaż ścieżki certyfikatów, np.:

    SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem

    SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem

    W config.php dodaj zaufane domeny w tablicy trusted_domains (np. 'localhost', 'cloud.example.com', '192.168.1.50'), aby zapobiec atakom typu Host Header Injection.

    Dla wymuszania HTTPS skonfiguruj HSTS (np. 6 miesięcy, także subdomeny):

    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

    Przeładuj Apache i przetestuj automatyczne odnowienie:

    sudo systemctl restart apache2

    sudo certbot renew --dry-run

    Konfiguracja po instalacji i optymalizacja wydajności

    Po wstępnej konfiguracji przeprowadź systematyczne strojenie, aby zapewnić stabilność i szybkość w produkcji.

    Dostępne są trzy metody uruchamiania zadań w tle; wybierz rozwiązanie dopasowane do środowiska:

    • AJAX – zadania wyzwalane przez ruch użytkowników; niewydajne i zawodne przy niskim ruchu;
    • Web Cron – wywołania z zewnętrznego harmonogramu HTTP; lepsze, lecz zależne od dostępności endpointu;
    • System Cron – niezależny od ruchu, najbardziej niezawodny w produkcji.

    Przykładowy wpis cron co 15 minut:

    */15 * * * * php -f /var/www/nextcloud/cron.php

    Pamięć podręczna znacząco przyspiesza Nextcloud. Dla pojedynczego serwera użyj APCu w config.php:

    'memcache.local' => '\OC\Memcache\APCu',

    W środowiskach rozproszonych skonfiguruj Redis jako cache rozproszony i mechanizm blokad:

    'memcache.distributed' => '\OC\Memcache\Redis',

    'memcache.locking' => '\OC\Memcache\Redis',

    'redis' => ['host' => 'localhost', 'port' => 6379],

    Limity pamięci i timeouty dopasuj do rozmiaru plików i profilu obciążenia (memory_limit ≥ 512M, zalecane 1G+).

    Dla okna konserwacji ustaw porę niskiej aktywności, np.:

    'maintenance_window_start' => '02:00'

    Gdy Nextcloud działa za reverse proxy, skonfiguruj następujące parametry:

    • trusted_proxies – adresy IP zaufanych proxy;
    • overwritehost – wymuszony host żądań widoczny dla aplikacji;
    • overwriteprotocol – wymuszony protokół (https za TLS offloadem);
    • overwritewebroot – ustaw, gdy aplikacja działa w podkatalogu.

    Dla pełnotekstowego wyszukiwania zainstaluj aplikacje „Full-Text Search” i „Full-Text Search – Elasticsearch” i wskaż endpoint (np. http://localhost:9200) oraz nazwę indeksu. Elasticsearch istotnie podnosi jakość wyszukiwania względem samej bazy.

    Wzmocnienie bezpieczeństwa i kontrola dostępu

    Warstwowe zabezpieczenia utrudniają nieautoryzowany dostęp, wyciek danych i nadużycia — bez utraty użyteczności.

    Dostępne są różne formy uwierzytelniania dwuskładnikowego (2FA):

    • TOTP – kody jednorazowe w aplikacji (np. Google Authenticator);
    • powiadomienia Nextcloud – zatwierdzanie logowania na urządzeniu;
    • kody zapasowe – dostępy awaryjne przy utracie drugiego czynnika.

    Ogranicz administrację do zaufanych sieci przez allowed_admin_ranges w config.php (np. '127.0.0.1/8', '192.168.0.0/16', '::1/128'). Nawet przy wykradzionych hasłach utrudnia to przejęcie panelu spoza zaufanych adresów.

    Skonfiguruj Fail2ban z filtrem dla logów Nextcloud (/etc/fail2ban/filter.d/nextcloud.conf) oraz polityką blokad (/etc/fail2ban/jail.d/nextcloud.local), np. ban na 24h po 3 próbach w 12h.

    W produkcji wyłącz tryb debug ('debug' => false), a poziom logowania ustaw na 'loglevel' => 2. Dla ograniczenia ataku BREACH rozważ wyłączenie kompresji wrażliwych odpowiedzi (mod_deflate) lub pozostawienie jej wyłącznie przy TLS 1.3.

    Dla środowisk o najwyższych wymaganiach możesz wyłączyć podglądy plików ('enable_previews' => false) lub ograniczyć dostawców ('enabledPreviewProviders'). Na Red Hat/CentOS skonfiguruj SELinux (konteksty i polityki) tak, aby Apache miał właściwy dostęp do plików Nextcloud.

    Utrzymanie, monitorowanie i rozwiązywanie problemów

    Ciągłe utrzymanie i monitoring utrzymują bezpieczeństwo, wydajność i niezawodność instancji.

    Monitoruj logi: data/nextcloud.log (także w panelu administracyjnym). Zwracaj uwagę na tempo błędów (WARNING/ERROR/CRITICAL) — to zwykle wskazuje na problemy konfiguracyjne, braki zasobów, niekompatybilne aplikacje lub incydenty bezpieczeństwa.

    Aktualizacje przeprowadzaj planowo, bez przeskakiwania wersji głównych. Przed każdą wykonaj pełną kopię bazy i katalogu danych.

    Wbudowany aktualizator web automatyzuje większość kroków; aktualizacja z CLI daje większą kontrolę i eliminuje ograniczenia czasu w przeglądarce:

    sudo -u www-data php occ upgrade

    Kopie zapasowe wykonuj regularnie, obejmując katalog instalacji, katalog danych i bazę:

    tar -czf nextcloud-backup.tar.gz /var/www/nextcloud /var/www/nextcloud-data

    mysqldump -u username -p database_name > nextcloud-sqlbkp.sql

    Przy odtwarzaniu zaimportuj dump bazy, przywróć pliki i w razie potrzeby zsynchronizuj metadane:

    sudo -u www-data php occ maintenance:data-fingerprint

    Alternatywne sposoby wdrożenia i konfiguracje zaawansowane

    Ręczna instalacja daje pełną kontrolę, ale alternatywy mogą uprościć wdrożenie lub skalowanie.

    Docker dostarcza Nextcloud w kontenerze wraz z zależnościami (obrazy z Apache lub FPM). Docker Compose pozwala podnieść zestaw Nextcloud + baza + Redis + sieć + wolumeny jednym poleceniem.

    Snap na Ubuntu (sudo snap install nextcloud) oferuje prostą instalację, automatyczne aktualizacje i wsparcie Let’s Encrypt oraz wygodne polecenia nextcloud.occ.

    NextcloudPi to prekonfigurowane obrazy (Raspberry Pi, x86, VM) z optymalizacjami wydajności, zabezpieczeniami i backupami.

    All‑in‑One (AIO) to oficjalny wariant kontenerowy łączący Nextcloud, MariaDB, Redis, nginx i usługi towarzyszące z panelem WWW. AIO znacząco redukuje złożoność wdrożenia.

    Norbert Barwicki
    • WWW

    Norbert Barwicki pracuje z systemami Linux od 2007 roku, kiedy to zainstalował swoją pierwszą dystrybucję Ubuntu 7.04. Przez lata eksperymentował z ponad 15 różnymi dystrybucjami, w tym Fedora, Debian, Arch Linux i Gentoo, a od 2015 roku specjalizuje się w administracji serwerami opartymi na CentOS i Red Hat Enterprise Linux. Jako certyfikowany administrator Linux (RHCSA od 2018 roku) dzieli się swoją wiedzą na Linuksowo.pl, gdzie opublikował już ponad 100 artykułów pomagających użytkownikom w przejściu na świat open source.

    Pozostałe poradniki

    Jak zainstalować system zarządzania treścią Joomla! na Debianie?

    3 min. czyt.

    Jak zainstalować i skonfigurować serwer WWW w systemie Linux?

    4 min. czyt.

    Jak zainstalować i skonfigurować serwer LAMP na Ubuntu?

    3 min. czyt.

    Jak wygenerować certyfikat TLS/SSL? Poradnik

    3 min. czyt.

    Jak zainstalować system CMS Concrete5 na serwerze Debian 9?

    3 min. czyt.

    Jak zainstalować PHP 5 i PHP 7 na jednym serwerze Ubuntu?

    2 min. czyt.
    Dodaj komentarz
    Odpowiedz Anuluj


    Poradniki
    Programiści tworzący kody na swoich komputerach

    Co to jest systemd i jak zarządzać usługami w systemie Linux?

    2026-03-23
    Bezpieczeństwo linux

    VPN Linux – kompletny przewodnik po bezpiecznym korzystaniu z sieci w systemie Linux

    2026-03-12
    Bizneswoman siedzi przy biurku, pokazując tablet na tle spadających niebieskich niewyraźnych liter

    Jak zainstalować i skonfigurować Nextcloud na własnym serwerze Linux

    2026-03-10
    Digital Representation of CO2 and Energy Icons on Computer Screen

    Jak zainstalować i skonfigurować PostgreSQL na serwerze Ubuntu

    2026-03-04
    Artykuły
    Kobieta używa telefonu do internetowego przelewu płatności bankowych na laptopie Aplikacja biznesowa Zakupy online

    Jak zainstalować i skonfigurować Nginx jako serwer WWW i reverse proxy na Ubuntu

    2026-02-26
    Kobiece dłonie z manicure na klawiaturze laptopa i ostrzeżeniem na ekranie komputera zhakowane Zdjęcie wysokiej jakości

    Jak zainstalować i skonfigurować Fail2Ban do ochrony serwera Linux przed atakami

    2026-02-23
    Koncepcja protokołu sieci prywatnej wirtualnej (VPN) Ręka człowieka używająca tabletu cyfrowego z ikoną vpn na ekranie VR

    Jak skonfigurować zaporę sieciową UFW w Ubuntu – reguły, porty i zabezpieczenia

    2026-02-19
    O Linuksowo

    Linuksowo.pl to kompendium wiedzy dla wszystkich zainteresowanych systemami operacyjnymi opartymi na jądrze Linux. Oferujemy eksperckie artykuły obejmujące dystrybucje, instalację, bezpieczeństwo oraz oprogramowanie open source. Naszym celem jest dostarczanie praktycznych porad zarówno dla początkujących, jak i zaawansowanych użytkowników.

    © 2026 Linuksowo – Wszelkie prawa zastrzeżone.
    • Strona główna
    • O Linuksowo
    • Polityka prywatności i cookies
    • RSS
    • Kontakt

    Type above and press Enter to search. Press Esc to cancel.