Mnoho lidí se odklání od mainstreamových služeb jako Google Drive nebo Dropbox ve prospěch vlastních řešení, která vám umožňují spravovat data podle vašich potřeb. Jednou z těchto řešení je Nextcloud.
Tento článek vás provede kompletním návodem krok za krokem, jak nainstalovat Nextcloud Docker na systémy Ubuntu a Debian. Pokryje vše od aktualizace vašeho systému a instalace závislostí, konfiguraci webového serveru a PHP, nastavení databáze, až po finalizaci instalace pomocí Nextcloud Docker Compose.
Proč si hostovat vlastní Nextcloud?
Vlastní hostování Nextcloud znamená převzetí kontroly nad vaším vlastním řešením cloudového úložiště místo spoléhání se na mainstreamové služby jako Google Drive nebo Dropbox. Díky Nextcloud máte svobodu ukládat a sdílet soubory na svých vlastních podmínkách, čímž si zachováte plné vlastnictví svých dat a úplnou kontrolu nad nastavením soukromí.
Mnoha uživatelům se líbí, že si mohou platform přizpůsobit a rozšiřovat prostřednictvím pluginů a integrací. S Nextcloud docker a Nextcloud docker compose můžete rychle nasadit spolehlivý a bezpečný systém sdílení souborů na populárních systémech, protože jsou dostupné obě verze Nextcloud Ubuntu a Nextcloud Debian.
Toto řešení má smysl, pokud chcete Nextcloud nainstalovat bez závislosti na omezeních služeb třetích stran. Instalace Nextcloud docker je navržena tak, aby byla přímočará, takže se do self-hostingu může pustit i ten, kdo není zkušený správce systému.
Nasazení instalace Nextcloud Docker vám také ušetří peníze ve srovnání s komerčními cloudovými řešeními, protože platíte především za vlastní hardware nebo instanci serveru. Navíc vám dostupné možnosti přizpůsobení, například úprava nastavení PHP nebo integrace databáze MySQL, umožňují přizpůsobit prostředí svým specifickým potřebám.
Pokud vás zajímá, jak nainstalovat Nextcloud docker, najdete spoustu podpory od komunity a zdrojů, které nabízejí příklady souborů Nextcloud docker compose. Celý proces je tak na jednu stranu vzdělávací a na druhou samotnému řešení.
Předpoklady
Než se do instalace pustíte, ujistěte se, že je vaše prostředí připraveno. Tato část pokrývá základy, od systémových požadavků a nastavení serveru až po softwarové závislosti pro hladkou instalaci Nextcloud docker:
| Součást | Požadavky/Možnosti | Poznámky |
| Operační systém | Ubuntu (22.04 LTS velmi doporučeno, 24.04 LTS), Red Hat Enterprise Linux 9/8, Debian 12 (Bookworm), SUSE Linux Enterprise Server 15, openSUSE Leap 15.5, CentOS Stream, Alpine Linux | Nextcloud Ubuntu je populární |
| CPU a architektura operačního systému | 64bitový | Zajistěte, aby CPU, OS a PHP byly 64bitové |
| PHP | PHP 8.3 (nebo jiné verze) | Použijte 64bitovou verzi, abyste se vyhnuli problémům s kompatibilitou |
| Paměť | Minimum: 128MB RAM na proces. Doporučeno: 512MB na proces. Aktualizátor: 256MB | Upravte podle využití |
| Přístup | Přístup jako root nebo sudo | Vyžadováno pro úpravy na úrovni systému |
| Nástroje kontejnerů | Docker, Docker Compose | Zjednoduší instalaci a správu |
| Webový server | Apache 2.4 (s mod_php nebo php-fpm doporučeno) nebo nginx s php-fpm | Vyberte si podle osobních nebo organizačních potřeb |
| Databáze | MySQL (8.0/8.4), MariaDB (doporučeno 10.6/10.11 nebo 11.4), nebo PostgreSQL | Musí podporovat InnoDB a úroveň izolace READ COMMITTED |
Krok 1: Aktualizujte a připravte váš systém
Než si připravíte instanci Nextcloud Docker, chvíli si vezměte na to, aby byl váš systém aktuální a měli jste nainstalované všechny potřebné nástroje. Představte si to jako přípravu pracovního prostoru před zajímavým projektem. Na vašem serveru Nextcloud Ubuntu spusťte následující příkazy:
Obnovte seznam balíčků a aktualizujte balíčky:
Aktualizujte repozitáře balíčků a upgradujte nainstalované balíčky pomocí těchto příkazů:
| sudo apt update sudo apt upgrade -y |
Instalace Docker, Docker Compose a užitečných nástrojů:
Nainstalujte Docker, Docker Compose a další praktické nástroje jako curl, wget a build-essential spuštěním:
| sudo apt install docker.io docker-compose curl wget build-essential -y |
(Volitelné) Přidejte svého uživatele do skupiny Docker:
Tento krok vám umožní spouštět příkazy Docker bez sudo na začátku každého příkazu:
| sudo usermod -aG docker $USER |
Po spuštění tohoto příkazu se odhlaste a znovu přihlaste, aby se změny projevily.
Ověření instalace:
Zkontrolujte, že jsou Docker a Docker Compose správně nainstalovány:
| docker --version docker-compose --version |
Důrazně se také doporučuje sledovat Docker logy kvůli řešení problémů, která si můžete ověřit a spravovat podle tyto kroky.
Teď, když je váš systém aktualizován a všechny závislosti jsou na místě, volba spolehlivého hostingového řešení je nezbytná. Cloudzy nabízí ultra-rychlé VPS služby s úložištěm až 240 GB NVMe SSD (až 2 TB s našimi GPU VPS) a 99,95% dostupností, což je výborná volba pro hosting vaší instance Nextcloud.
Dále nakonfigurujeme váš webový server a nastavíme PHP tak, aby vše bezproblémově fungovalo s vaší instancí Nextcloud Docker.
Krok 2: Konfigurace Apache/Nginx a PHP
Teď, když je váš systém připraven, je čas nakonfigurovat webový server a PHP. Tato sekce vás provede nastavením Apache a Nginx spolu s nastavením PHP, které zajistí hladký chod Nextcloud v Docker.
Konfigurace Apache
Pokud používáte Apache, postupujte podle těchto kroků:
Vytvoření konfiguračního souboru:
- Otevřete nový soubor pro Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- Do tohoto souboru přidejte něco jako:
| Alias /Nextcloud "/var/www/Nextcloud/"
<Directory /var/www/Nextcloud/> <IfModule mod_dav.c> |
Aktivace webu:
- Povolte novou konfiguraci:
| sudo a2ensite Nextcloud.conf |
Povolení požadovaných modulů Apache:
- Spusťte tyto příkazy k aktivaci potřebných modulů:
| sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime |
Pokud plánujete používat PHP-FPM s Apache (pomocí mod_fcgi), aktivujte také:
| sudo a2enmod setenvif |
Povolení SSL (volitelné):
- Pro zabezpečené připojení aktivujte SSL pomocí:
| sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload |
Konfigurace Nginx
- Pro uživatele Nginx konfiguraci provádíte vytvořením bloku serveru:
Vytvoření souboru bloku serveru:
- Otevřete nový soubor:
| sudo nano /etc/nginx/sites-available/Nextcloud |
- Vložte ukázkovou konfiguraci podobně jako:
| server { listen 80; server_name your-server-ip or cloud.example.com;root /var/www/Nextcloud/; index index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
Aktivace konfigurace:
- Vytvořte symbolický odkaz k povolení webu:
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Testování a restartování Nginx:
- Zkontrolujte konfiguraci a znovu ji načtěte:
| sudo nginx -t sudo systemctl reload nginx |
Nastavení PHP
Nextcloud vyžaduje PHP s určitými nastaveními. Upravte je editací příslušného konfiguračního souboru PHP:
Pro Apache s PHP:
| sudo nano /etc/php/8.3/apache2/php.ini |
Pro Nginx s PHP-FPM:
| sudo nano /etc/php/8.3/fpm/php.ini |
V souboru upravte nastavení jako:
- memory_limit (například 512M)
- upload_max_filesize (například 100M)
- post_max_size (například 100M)
- max_execution_time (například 360)
Po provedení změn restartujte příslušné služby:
- Apache:
| sudo service apache2 restart |
- PHP-FPM:
| sudo systemctl restart php8.3-fpm |
S nakonfigurovaným webovým serverem a vyladěným PHP jste připraveni na další fázi: nastavení databáze pro všechna vaše data Nextcloud.
Krok 3: Nastavení databáze
S nakonfigurovaným systémem a webovým serverem je dalším krokem nastavit databázi pro vaši instalaci Nextcloud. Zahrnuje to vytvoření databáze a vyhrazeného uživatele s příslušnými právy. Zde je návod:
1. Instalace serveru MariaDB
Nejprve nainstalujte balíček serveru MariaDB:
| sudo apt install mariadb-server -y |
2. Zabezpečení instalace MariaDB
Spusťte skript zabezpečení, aby se odstranil výchozí insecure nastavení:
| sudo mysql_secure_installation |
Budete vyzváni k nastavení hesla root a dalším volbám souvisejícím se zabezpečením. Doporučujeme odpovědět "Y" (ano) na všechny výzvy.
3. Přihlášení do shell MariaDB
Přistupte ke shell MariaDB jako uživatel root:
| sudo mysql -u root -p |
Zadejte heslo root, které jste nastavili během procesu bezpečné instalace.
4. Vytvoření nové databáze pro Nextcloud
V prostředí MariaDB spusťte následující příkaz pro vytvoření databáze s názvem Nextcloud:
| CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
5. Vytvoření vyhrazeného uživatele databáze
Vytvořte nového uživatele Nextclouduser se silným heslem. Nahraďte your_password_here bezpečným heslem podle vašeho výběru:
| CREATE USER 'Nextclouduser'@'localhost' IDENTIFIED BY 'your_password_here'; |
6. Udělení potřebných práv uživateli
Udělte všechna práva na databázi Nextcloud uživateli Nextclouduser:
| GRANT ALL PRIVILEGES ON Nextcloud.* TO 'Nextclouduser'@'localhost'; |
7. Aplikování změn
Obnovte práva, aby se všechny změny projevily:
| FLUSH PRIVILEGES; |
8. Ukončení prostředí MariaDB
Ukončete prostředí MariaDB napsáním:
| EXIT; |
Nyní máte databázi nastavenu a nakonfigurovánu. Jste připraveni přejít na další krok: instalaci Nextcloud. Bude nutné stáhnout soubory Nextcloud a nakonfigurovat je pro připojení k databázi, kterou jste právě vytvořili.
Krok 4: Stažení a instalace Nextcloud
Tento krok zahrnuje instalaci nejnovější verze Nextcloud na váš systém a její nastavení. Máte zde dvě možnosti: jednu s použitím Docker (ideální pro kontejnerizované nasazení) a druhou s tradičnější, ruční instalací.
Metoda 1: Použití oficiální image Docker
Pokud dáváte přednost kontejnerizovanému přístupu, postupujte podle těchto příkazů:
Stažení image Nextcloud Docker:
Stáhněte nejnovější image Nextcloud Docker z Docker Hub:
| docker pull Nextcloud |
Vytvoření souboru Docker Compose:
Pro snadnější správu vytvořte soubor docker-compose.yml s následujícím obsahem:
| version: '3'
services: volumes: |
Spusťte kontejnery:
Spusťte tento příkaz pro spuštění vašich kontejnerů Nextcloud a databáze na pozadí:
| docker-compose up -d |
Metoda 2: Ruční instalace z archivu Nextcloud
Pokud chcete pracovat se soubory přímo, postupujte takto:
Stáhněte nejnovější verzi:
Stáhněte nejnovější archiv Nextcloud tar:
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
Rozbalte archiv:
Rozbalte stažený soubor:
| tar -xjf latest.tar.bz2 |
Přesuňte složku Nextcloud:
Přesuňte rozbalenou složku do vašeho webového adresáře:
| sudo mv Nextcloud /var/www/Nextcloud |
Nastavte správná oprávnění:
Upravte vlastnictví tak, aby webový server mohl přistupovat k souborům:
| sudo chown -R www-data:www-data /var/www/Nextcloud |
Zvolte metodu, která vám vyhovuje. Přístup Docker nabízí snadnou instalaci pomocí docker compose Nextcloud, zatímco ruční metoda vám dává přímou kontrolu nad soubory. Ještě lepší je použití Cloudzy Docker VPS plánů, které vytváří efektivní platformu pro nasazení Nextcloud přes Docker a usnadňují celý proces instalace.
Dále se podíváme na konfiguraci samotného Nextcloud - nastavení virtuálního hostitele, aktivaci SSL a další kroky - abyste dokončili vaši samoobslužnou cloudovou službu.
Krok 5: Konfigurace Nextcloud
Nyní, když jste si Nextcloud stáhli a nainstalovali, je čas nastavit virtuální hostitel Apache a zabezpečit váš web pomocí SSL, abyste mohli přistupovat ke své samoobslužné cloudové úložišti přes dedikovanou doménu.
Vytvoření konfiguračního souboru virtuálního hostitele Apache
Vytvořte konfigurační soubor pro Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
Vložte následující konfiguraci:
Upravte DocumentRoot a ServerName tak, aby odpovídaly vašemu nastavení (například nahraďte cloud.example.com vaší doménou nebo IP adresou serveru):
| <VirtualHost *:80> DocumentRoot /var/www/Nextcloud/ ServerName cloud.example.com<Directory /var/www/Nextcloud/> Vyžadovat všechna udělená oprávnění Povolit Přepsání Všem Options FollowSymLinks MultiViews<IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> |
Aktivace nové konfigurace
Informujte Apache o vaší nové konfiguraci:
| sudo a2ensite Nextcloud.conf |
Znovu načíst Apache:
Aplikujte změny reloadem Apache:
| sudo systemctl reload apache2 |
Zabezpečení webu pomocí SSL
Chcete-li zabezpečit přístup, můžete nastavit SSL. Existují dva běžné přístupy: použití certifikátu podepsaného sami sebou nebo získání certifikátu přes Let's Encrypt.
Možnost 1: Certifikát podepsaný sami sebou
Aktivujte modul SSL:
| sudo a2enmod ssl |
Aktivujte výchozí web SSL:
| sudo a2ensite default-ssl |
Znovu načíst Apache:
| sudo systemctl reload apache2 |
Možnost 2: Certifikát od Let's Encrypt (doporučeno pro veřejné servery)
Nainstalujte Certbot a plugin Apache:
| sudo apt install certbot python3-certbot-apache -y |
- Získejte a nainstalujte certifikát:
Nahraďte cloud.example.com vaší vlastní doménou:
| sudo certbot –apache -d cloud.example.com |
Postupujte podle pokynů k dokončení procesu.
S nakonfigurovaným virtuálním hostem Apache a aktivním SSL je vaše Nextcloud připravena obsluhovat zabezpečená spojení z vaší domény. Dále se budeme zabývat nastavením databáze pro uložení vašich dat v Nextcloud, což vše spojí dohromady a vytvoří bezproblémové prostředí pro vlastní cloudový server.
Krok 6: Dokončení nastavení
Když je váš webový server a PHP nakonfigurován, je čas dokončit instalaci. Tento krok je jako přidání posledních dotiků k vašemu projektu před jeho spuštěním.
Úprava oprávnění souborů:
Před spuštěním průvodce instalací spusťte následující příkaz, abyste zajistili, že webový server bude mít přístup ke všem souborům Nextcloud:
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
Přístup k Nextcloud přes prohlížeč:
Otevřete prohlížeč a zadejte URL pro vaši instanci Nextcloud, například:
| http://your-server-ip/Nextcloud |
Tím se otevře průvodce instalací Nextcloud - přívětivé rozhraní, které vás provede finálním nastavením.
Dokončete průvodce instalací:
Průvodce vás požádá o zadání:
- Údajů vaší databáze (hostitel, název, uživatel a heslo). V nastavení Docker se hostitel databáze často nastavuje jako název kontejneru nebo localhost.
- Administrátorského jména a hesla pro vaši instanci Nextcloud.
Postupujte podle pokynů na obrazovce a po dokončení klikněte na tlačítko "Dokončit nastavení".
Jakmile průvodce dokončíte, váš Nextcloud server zvládne zbývající nastavení a powitá vás vaš zcela nový dashboard Nextcloud. Dále se podíváme na konfiguraci nastavení po instalaci, jako jsou plánované úkoly, cacheování a bezpečnostní vylepšení, aby vaše instance běžela hladce.
Krok 7: Konfigurace po instalaci
Po dokončení webového průvodce instalací Nextcloud vám několik posledních nastavení pomůže vyladit plánované úkoly, výkon a bezpečnost. Tato část se týká nastavení úloh na pozadí, integrace cacheování s Redis a posílení bezpečnosti vaší instance Nextcloud.
Aktivace plánovaných úloh (cron jobs)
Aby vaše Nextcloud běžela hladce, je dobré naplánovat úkoly na pozadí. Nastavte cron job pro spuštění skriptu Nextcloud cron každých pět minut. Otevřete crontab pro uživatele webového serveru (obvykle www-data):
| sudo crontab -u www-data -e |
Pak přidejte na konec souboru tento řádek:
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
Uložte a zavřete editor. Tato úloha bude spravovat úkoly jako čištění dočasných souborů, odesílání notifikací a další rutinní údržbu.
Instalace a konfigurace Redis pro cacheování
Používání Redis může zrychlit vaši instanci Nextcloud tím, že data cachuje a zlepšuje výkon uzamykání souborů. Nejdřív nainstalujte Redis a rozšíření PHP pro Redis:
| sudo apt install redis-server php-redis -y |
Dále aktualizujte konfigurační soubor Nextcloud (obvykle umístěný na /var/www/Nextcloud/config/config.php) tak, aby obsahoval nastavení cacheování. Přidejte tyto řádky do pole $CONFIG:
| 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.locking' => '\\OC\\Memcache\\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ), |
Tato konfigurace řekne Nextcloud, aby používala APCu pro místní cacheování a Redis pro uzamykání souborů, čímž se zlepší výkon i spolehlivost.
Zpřísnění bezpečnostních nastavení Nextcloud
Pár dalších opatření zlepší bezpečnost vaší instalace:
- Nastavte správná oprávnění souborů:
Upravte vlastnictví a oprávnění adresáře Nextcloud tak, aby byl přístup omezen:
| sudo chown -R www-data:www-data /var/www/Nextcloud sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \; sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \; |
- Spusťte příkazy režimu údržby:
Dočasně aktivujte režim údržby, abyste mohli provést dodatečné kontroly bezpečnosti nebo aktualizace konfigurace:
| sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --on # (Proveďte zde potřebné úkoly údržby) sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --off |
- Zkontrolujte konfiguraci webového serveru:
Ověřte, že nastavení Apache nebo Nginx vynucují HTTPS a omezují neoprávněný přístup podle potřeby.
S těmito finálními kroky bude vaše instance Nextcloud efektivně zpracovávat úlohy na pozadí, bude mít lepší výkon díky cachování a bude lépe chráněna před potenciálními bezpečnostními hrozbami.
Závěrečné myšlenky
Váš docker setup Nextcloud je nyní připraven na produkční nasazení. S aktualizovaným systémem, nainstalovanými závislostmi a doladěným webovým serverem a PHP je vaše prostředí Nextcloud Ubuntu připraveno sloužit jako váš osobní cloud pro sdílení souborů.
Při dalším vylaďování nastavení, experimentování s pokročilými konfiguracemi nebo zkoumání nových aplikací Nextcloud stojí za zvážení volba poskytovatele hostingu. Spolehlivý poskytovatel cenově dostupný VPS jako Cloudzy zajistí, že vaše instance Nextcloud zůstane zabezpečená a responsivní, čímž se stane solidním základem pro vaše potřeby cloud storage.
Pro větší jistotu si prohlédněte oficiální pokyny k bezpečnosti na Zpevnění zabezpečení Nextcloud a doporučení pro zálohování na Průvodce zálohováním Nextcloud. Tyto zdroje vám pomohou chránit vaše data a udržet server v dobré kondici.