StorageReview.com

Ultimátní průvodce serverem Nextcloud

Enterprise  ◇  HomeLab

Nikdo nemá rád, když mu dochází bezplatné cloudové úložiště. Upozornění z Fotek Google nebo iCloudu, že vám dochází místo, může váš výlet za pozorováním exotického lenochoda do Jižní Ameriky zhatit. Pro nás kutily a domácí labby však existuje řešení, pokud jste ochotni si do toho ušpinit ruce.

Představujeme Nextcloud

Nextcloud je bezplatná a open-source platforma pro cloudové úložiště, která vám dává sílu a flexibilitu cloudu do rukou. Podporuje několik populárních linuxových distribucí, jako je Red Hat Enterprise Linux 9 a Ubuntu 24.04 LTS. V tomto článku použijeme Ubuntu Server 24.04.1 a Nextcloud Hub 9 (30.0.0) k vytvoření vysoce výkonného a plně přizpůsobitelného cloudového úložného serveru. Některé z zde uvedených kroků mohou vyžadovat určité základní znalosti administrace linuxových serverů a rozhraní příkazového řádku, takže se zamyslete a připravte se na technické záležitosti!

Nastavení serveru

Pro zahájení instalace serveru Nextcloud budete potřebovat novou instalaci Ubuntu Serveru na systému dle vašeho výběru. Virtuální počítač na vašem hlavním počítači nebo jakýkoli jiný náhradní hardware, který máte po ruce, pravděpodobně postačí! Doporučujeme počítač s alespoň 2–4 jádry CPU, 8 GB RAM a 500 GB úložného prostoru. Jakmile budete mít systém připravený, stáhněte si Ubuntu Server na tomto odkazu: https://ubuntu.com/download/server.

Pokud jste Ubuntu Server nikdy předtím neinstalovali, podívejte se před zahájením na jejich průvodce: https://ubuntu.com/tutorials/install-ubuntu-server . Dávejte pozor, abyste na stránce s doporučeným softwarem nevybrali možnost předinstalace Nextcloudu, protože se o to postaráme sami.

Po připojení serveru k síti, přiřazení názvu hostitele a přihlášení pomocí uživatelského jména a hesla, které jste vytvořili během počátečního nastavení, si můžete stáhnout nejnovější aktualizace softwaru pro Ubuntu Server zadáním příkazu „sudo apt update && sudo apt upgrade -y“ do konzole a stisknutím klávesy Enter. Po dokončení aktualizací restartujte server pomocí příkazu „sudo reboot“.

Poznámka: Pro spuštění příkazů sudo budete možná muset znovu zadat heslo.

Instalace softwaru

Dále si musíme stáhnout potřebný software, na kterém závisí naše instance Nextcloud. Zadejte (nebo nejlépe zkopírujte a vložte) následující příkazy do příkazového řádku a stáhněte a nainstalujte webový server Apache a několik balíčků, které budete později potřebovat pro pokročilejší nastavení Nextcloudu:

sudo apt install apache2 mariadb-server php libapache2-mod-php redis-server libmagickcore-6.q16-7-extra
sudo apt install php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-ldap php-mbstring php-memcached php-mysql php-redis php-smbclient php-zip php-xml

Pokud se zobrazí výzva k zadání Y nebo N pro pokračování nebo zastavení instalace, zadejte Y a stiskněte Enter. Nakonec zadejte „wget https://download.nextcloud.com/server/releases/latest.zip„pro získání nejnovější verze Nextcloudu a její použití“ „sudo apt install rozbalit“ Pro instalaci nástroje pro rozbalování budeme muset tyto soubory extrahovat.

Nyní, když máme veškerý potřebný software pro nastavení naší instance Nextcloud, pojďme prozkoumat webový server, který jsme nainstalovali.

Konfigurace webového serveru Apache – 1. část

Než začneme experimentovat s Apache, musíme se nejprve ujistit, že se můžeme správně připojit k serveru. Chcete-li povolit připojení webového prohlížeče (HTTP a HTTPS) k instanci Nextcloud, použijte následující příkazy:

sudo ufw povolit v "Apache Full"
sudo ufw povolit

Nyní byste měli mít na svém Ubuntu serveru spuštěný a přístupný webový server! Na jiném počítači připojeném ke stejné síti jako váš počítač Nextcloud zadejte do okna prohlížeče IP adresu vašeho serveru a stiskněte klávesu Enter. Pokud si nepamatujete IP adresu serveru, použijte „název hostitele -I“ příkaz na vašem serveru pro jeho zobrazení. Pokud byla instalace úspěšná, měli byste vidět výchozí stránku Apache2 zobrazenou v celé její kráse!

I když by někteří mohli říct, že tato výchozí stránka webového serveru je docela pěkná, v druhé části ji nahradíme něčím ještě lepším. Pojďme si to rychle odbočit a nastavit MariaDB hned teď!

Konfigurace MariaDB

Náš server Nextcloud bude potřebovat databázi, která bude vždy online a bude ukládat konfiguraci serveru a informace o uživatelských profilech. Chcete-li nakonfigurovat spuštění MariaDB po restartu systému, zadejte příkaz „sudo systemctl enable mariadb“ a stiskněte klávesu Enter. Nyní jsme připraveni připravit databázi pro instalaci Nextcloudu!

Naštěstí je MariaDB dodávána s předinstalovaným nástrojem pro bezpečné nastavení, takže s ní nemusíme dělat moc práce. „sudo mysql_secure_installation“ spustit a odpovědět na otázky průvodce.

  • Zadejte aktuální heslo pro root (zadejte pro none): klikněte na tlačítko Enter
  • Přepnout na ověřování unix_socket [A/N] n
  • Změnit heslo roota? n
  • Chcete odstranit anonymní uživatele? [Y / n] y
  • Zakázat vzdáleně přihlášení do kořenového adresáře? [Y / n] y
  • Odebrat testovací databázi a přístup k ní? [A/N] y

MariaDB je nyní zabezpečená a můžeme začít vytvářet databázi pro obsluhu naší instance Nextcloud.

Zadejte „sudo mysql -u root“ a po zobrazení rozhraní příkazového řádku MySQL zadejte tyto příkazy (a nezapomeňte na konci každého řádku použít znak „;“!):

VYTVOŘIT UŽIVATELE 'nextcloud'@'localhost' IDENTIFIKOVANÉHO 'P@$$w0rd';

Poznámka: Nahraďte „nextcloud“ a „P@$$w0rd“ uživatelským jménem a heslem dle vlastního výběru.

VYTVOŘIT DATABÁZI, POKUD NEEXISTUJE nextcloud SADA ZNAKŮ utf8mb4 POŘAZENÍ utf8mb4_general_ci;
UDĚLENÍ VŠECHNA OPRÁVNĚNÍ NA nextcloud.* PRO 'nextcloud'@'localhost';

Poznámka: Znovu nahraďte „nextcloud“ před symbolem @ uživatelským jménem, ​​které jste používali dříve.

FLOW PRIVILEGES;
přestat;

Blížíme se! Nyní máme funkční (ale ne hotový) webový server a databázi.

Povolení rozšíření PHP a zlepšení výkonu PHP

Pamatujete si všechna ta PHP rozšíření, která jsme nainstalovali? Musíme je povolit, aby je Nextcloud mohl správně používat. Pomocí tohoto příkazu povolíte požadovaná PHP rozšíření:

sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml

Nyní, když jsou povolena správná rozšíření, musíme upravit některá nastavení PHP, aby lépe vyhovovala našim potřebám. Konfigurační soubor PHP, který budeme upravovat, se nachází na adrese „/etc/php/8.3/apache2/php.ini“ a lze jej upravit umístěním "sudo nano" před cestu a stisknutím klávesy Enter. Pokud máte nainstalovanou jinou verzi PHP, změňte "8.3" k hlavnímu číslu vydání vaší nainstalované verze, které lze získat zadáním „php -v“ v konzoli.

Jakmile otevřete „php.ini“ soubor pomocí nano, vestavěného textového editoru Ubuntu, podržte klávesu Ctrl a stiskněte klávesu „W“ na klávesnici. Když se zobrazí vyhledávací panel, zadejte „max_execution_time“a stiskněte Enter. Nano poté přeskočí na první nalezenou shodu se zadanou hodnotou. Pomocí kláves se šipkami pro navigaci a klávesy Backspace pro odstraňování znaků změňte „30“ na „360“. Opakujte tento trik pro změnu hodnot následujících nastavení PHP:

memory_limit = 512M
  • V případě potřeby lze volitelně zvýšit, aby PHP získalo více paměti (1024M, 2048M atd.)
post_max_size = 100G
upload_max_filesize = 100G
  • Tato a předchozí hodnota představují maximální velikost souboru, který můžete nahrát na server Nextcloud. Změňte je na požadovanou maximální velikost souboru. (1G = 1 gigabajt, 10G = 10 gigabajtů, 100G = 100 gigabajtů atd.) Dbejte na to, abyste velikosti zadávali pouze v K (kilobajtech), M (megabajtech) a G (gigabajtech).
date.timezone = Amerika/New_York
  • Odstraňte před řádkem znak „;“ a k určení správného časového pásma použijte tuto příručku: https://www.php.net/manual/en/timezones.php
opcache.enable=1
  • Odstraňte znak „;“ před řádkem.
opcache.memory_consumption=128
  • Odeberte před řádkem znak „;“. Tuto hodnotu v megabajtech lze upravit tak, aby odpovídala množství paměti, kterou máte na serveru Nextcloud (128 = 128 megabajtů, 1024 = 1024 megabajtů/1 gigabajt, 2048 = 2048 megabajtů/2 gigabajty).
opcache.interned_stringers_buffer=16
  • Odeberte znak „;“ před řádkem. Představuje množství paměti přidělené pro interní řetězce v megabajtech, doporučená hodnota je 16.
opcache.max_accelerated_files=10000
  • Odeberte znak „;“ před řádkem. Tuto hodnotu lze upravit na libovolné číslo mezi 200 a 1 000 000, aby vyhovovala možnostem mezipaměti a paměti vašeho systému.
opcache.revalidate_freq=1
  • Odstraňte znak „;“ před řádkem a změňte ho na 1.
opcache.save_comments=1
  • Odeberte znak „;“ před řádkem a ověřte, že hodnota je nastavena na 1.

Po provedení všech potřebných změn v souboru php.ini jej uložte podržením klávesy Ctrl (Ctrl) a stisknutím klávesy „O“. Stisknutím klávesy Enter potvrďte a znovu podržením klávesy Ctrl (Ctrl) a stisknutím klávesy „X“ ukončete nano.

Dále povolte další požadované moduly Apache zadáním „sudo a2enmod dir env hlavičky mime přepsat ssl“ v konzoli. V tomto okamžiku nemusíte restartovat Apache pomocí příkazu navrženého v konzolové zprávě.

Konfigurace webového serveru Apache – 2. část

Přestože jsme si stáhli Nextcloud a nastavili mnoho jeho softwarových požadavků, stále musíme nahradit výchozí webovou stránku Apache názvem Nextcloud. Do konzole zadejte „cd ~“ a stiskněte Enter, čímž se vrátíte do domovského adresáře našeho uživatele. Zde byl stažen soubor ZIP Nextcloud. Nyní zadejte „unzip latest.zip“ , stiskněte Enter a sledujte, jak utilita unzip řeve!

Jedno „nejnovější.zip“ ZIP soubor je nyní rozbalen do složky s názvem „nextcloud“ ve stejném adresáři, ze kterého byl stažen. Tato nová složka obsahuje všechny potřebné materiály pro web Nextcloud. Nyní začneme tuto složku přesouvat do jejího správného domovského umístění, „/var/www/html“.

Než bude možné složku přenést, musíme se ujistit, že vestavěný uživatel „www-data“ je vlastníkem nového adresáře. To je nesmírně důležité, protože uživatel „www-data“ zpracovává všechny operace webového serveru prováděné webovým serverem Apache a samotným Nextcloudem. Do konzole zadejte „sudo chown -R www-data:www-data ./nextcloud“ a stiskněte Enter.

Nyní, když je „www-data“ Pokud je složka vlastníkem uživatele, můžeme ji bez prodlení přesunout. Použití „sudo mv ./nextcloud /var/www/html“ přesunout složku do správného adresáře.

Nyní můžeme zakázat výchozí stránku webového serveru Apache zadáním „sudo a2dissite 000-default.conf“ do konzole. Ignorujte varování a znovu načtěte server Apache a vytvořte soubor virtuálního hostitele pro nový web zadáním "sudo nano /etc/apache2/sites-available/nextcloud.conf" a stisknutím klávesy Enter. Obsah souboru virtuálního hostitele by měl být zadán přesně takto:

Kořenový_adresář_dokumentu /var/www/html/nextcloud/ Název_serveru nextcloud-demo.moose.local Vyžadovat všechny povolené možnosti AllowOverride Všechny možnosti FollowSymLinks MultiViews Dav pryč

Nahradit „nextcloud-demo.moose.local“ s plně kvalifikovaným názvem domény (FQDN) serveru, na který jste nainstalovali Nextcloud. První část FQDN je název hostitele serveru, který jste vytvořili dříve a který lze zobrazit pomocí „název hostitele“ příkaz v konzoli. Druhá a třetí část názvu představuje doménu a doménu nejvyšší úrovně. Pokud například vaše doména byla „storagereview.com“ a název hostitele vašeho serveru byl „nextcloud“, pak by plně kvalifikované doménové jméno vašeho serveru bylo „nextcloud.storagereview.com“.

Pokud nevlastníte doménu, můžete si ji zakoupit od registrátora, jako je Cloudflare, na adrese https://www.cloudflare.com/products/registrar/ nebo použít bezplatný veřejně dostupný název hostitele z webových stránek, jako je https://www.noip.com/ . Pokud si nechcete zakoupit doménu nebo použít bezplatný název hostitele, můžete do tohoto pole umístit fiktivní FQDN s výhradou, že pro připojení k instanci Nextcloud můžete použít pouze IP adresu serveru (veřejnou i soukromou).

Poznámka: Chcete-li pro lokální přístup k instanci Nextcloud použít FQDN serveru, musíte mít ve své domácí síti správně nakonfigurovaný DNS server. V opačném případě musíte při přístupu z domácí sítě použít lokální IP adresu serveru.

Po dokončení zápisu souboru virtuálního hostitele a nahrazení vzorového FQDN FQDN vašeho serveru (legitimního či jiného), můžete konečně povolit web Nextcloud pomocí příkazů „sudo a2ensite nextcloud.conf“ a „sudo systemctl restart apache2“ k restartování webového serveru s novým webem. Přejděte na svou instanci Nextcloud pomocí webového prohlížeče na jiném počítači ve stejné síti pomocí FQDN serveru nebo jeho lokální IP adresy.

Počáteční nastavení Nextcloudu

Pokud jste předchozí kroky provedli správně, zobrazí se stránka s výzvou k vytvoření administrátorského uživatele pro web a vyplnění některých údajů o vašem serveru Nextcloud. Zadejte administrátorskému uživateli požadované jméno, například Administrátor nebo Superadmin, a silné heslo.

Počáteční nastavení NextclouduV části „Úložiště a databáze“ na stránce nastavení zadejte „/var/www/html/nextcloud/data“ do pole „Data folder“ a uživatelské jméno účtu, heslo a název databáze, které jste použili při vytváření databáze MariaDB. Do pole „Database hosting“ zadejte “místní hostitel” a po dokončení klikněte na tlačítko instalace.

Konfigurace databáze v Nextcloudu

Stránka se na chvíli načte a poté vám nabídne možnost instalace několika doporučených aplikací pro váš server Nextcloud. Upozorňujeme, že přidání dalších aplikací do vaší instance Nextcloud zvýší zátěž serveru, využití paměti a celkové využití disku. Vyberte, zda chcete doporučené aplikace nainstalovat, nebo tento krok volitelně přeskočit.

Doporučené aplikace od NextclouduPo dokončení instalace aplikací nebo zobrazení další stránky si můžete v případě potřeby přečíst úvodní nabídku.

Vypadá to, že server Nextcloud je hotový, ale zbývá nám ještě jeden krok k jeho zprovoznění: nastavení cron úlohy pro spouštění pravidelně naplánovaných úloh na serveru.

Vytvoření úlohy Cron

Úloha cron je příkaz, který se pravidelně spouští bez zásahu uživatele. Náš server Nextcloud potřebuje úlohu cron, která volá skript serveru „cron.php“ každých 5 minut, aby zajistila optimální výkon a funkčnost.

Chcete-li nastavit tuto úlohu cron, zadejte do konzole serveru příkaz „sudo crontab -u www-data -e“ .

Když „www-data“ Je-li otevřen crontab uživatele, přidejte na konec souboru následující řádek:

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

Po dokončení podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „O“ pro uložení souboru a podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „X“ pro ukončení. Na webových stránkách vašeho serveru Nextcloud přejděte do sekce „Nastavení pro správu“ kliknutím na profilový obrázek vašeho administrátora a jeho výběrem z rozbalovací nabídky. Klikněte na modul „Základní nastavení“ a ujistěte se, že je vybrána možnost „Cron (doporučeno)“. Pro uložení výběru může být nutné zadat heslo, proto jej zadejte do zobrazené rozbalovací nabídky a po zobrazení výzvy klikněte na tlačítko „Potvrdit“.

Gratulujeme! Nyní máte ve své lokální síti funkční server Nextcloud! Nyní můžete začít nahrávat a stahovat soubory na server Nextcloud ve vaší domácí síti a z něj, ale aby to zazářilo, musíme vylepšit jeho zabezpečení, přidat několik oblíbených aplikací pro domácí laboratoře, nastavit bleskově rychlý systém ukládání do mezipaměti a zpřístupnit ho z veřejného internetu.

Zlepšení zabezpečení vašeho serveru Nextcloud

Jedním z nejlepších způsobů, jak zvýšit zabezpečení vašeho webového serveru, je upgrade na HTTPS přes nešifrovaný a nezabezpečený protokol HTTP. Po povolení budou požadavky obsluhovány přes TLS 1.3, nejnovější a nejbezpečnější šifrovací standard pro webová připojení. Toto je nezbytný krok vždy, když plánujete zpřístupnit webovou stránku veřejnému internetu, a je vynikajícím prvním krokem při ochraně citlivých informací.

Jakmile se rozhodnete šifrovat provoz Nextcloudu, máte na výběr ze dvou možností nastavení HTTPS: použití certifikátu s vlastním podpisem nebo použití certifikátu od platné certifikační autority. Pokud v současné době nevlastníte doménu nebo ji nemáte v úmyslu nastavovat pro dočasnou instanci Nextcloudu, doporučujeme použít certifikát s vlastním podpisem nebo certifikát od poskytovatele názvu hostitele. Pokud plánujete trvalejší nastavení Nextcloudu, důrazně doporučujeme získat veřejně důvěryhodný certifikát od certifikační autority, jako je Let's Encrypt.

HTTPS s certifikátem s vlastním podpisem

Chcete-li povolit a vytvořit certifikát s vlastním podpisem, je třeba zadat několik jednoduchých příkazů:

sudo a2enmod ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt

Nyní, když jsme povolili modul Apache SSL (také známý jako TLS) a vytvořili certifikát s vlastním podpisem, musíme webu dát pokyn, aby zapnul TLS a používal certifikát. Zadejte "sudo nano /etc/apache2/sites-available/nextcloud.conf" a stisknutím klávesy Enter znovu spusťte úpravu souboru virtuálního hostitele.

Přidejte následující řádky na konec souboru virtuálního hostitele přesně takto, ale nahraďte pole „ServerName“ plně kvalifikovaným názvem domény vašeho serveru:

Kořenový adresář dokumentu /var/www/html/nextcloud/ Název serveru nextcloud-demo.moose.local SSLEngine na souboru SSLCertificateFile /etc/ssl/certs/nextcloud-selfsigned.crt Soubor klíče SSLCertificate /etc/ssl/private/nextcloud-selfsigned.key Vyžadovat všechny povolené možnosti AllowOverride Všechny možnosti FollowSymLinks MultiViews Dav pryč

Podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „O“ pro uložení souboru a podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „X“ pro ukončení nano. Chcete-li tyto změny použít na webový server Apache, použijte „sudo systemctl restartuje apache2“ příkaz. Nyní byste měli mít povolený HTTPS pomocí certifikátu s vlastním podpisem!

Při příští návštěvě webu zadáním plně kvalifikovaného názvu domény nebo IP adresy serveru by se mělo zobrazit varování, že certifikační autorita webu není platná. Pokračujte za touto chybou (způsob se bude lišit v závislosti na vašem webovém prohlížeči) a zobrazte si web. Webový prohlížeč se automaticky připojil pomocí HTTPS a bude odesílat data pomocí šifrování TLS.

Řídicí panel Nextcloud

HTTPS s důvěryhodným certifikátem

Abyste mohli pro Nextcloud používat důvěryhodný certifikát, musíte nejprve vlastnit doménu nebo mít podepsaný certifikát od poskytovatele hostname. Pokud jste dříve používali certifikát s vlastním podpisem a postupovali jste podle kroků v předchozí části pro povolení HTTPS, odeberte část textu přidanou na konec souboru a spusťte příkazy „sudo a2dismod ssl“ a „sudo systemctl restart apache2“ . Nezapomeňte po dokončení použít Ctrl + „O“ a Ctrl + „X“ pro uložení a ukončení nano.

Nastavení HTTPS pro majitele domén (přes Certbot)

Nyní, když je soubor virtuálního hostitele zpět ve standardní konfiguraci HTTP, můžeme začít s přípravami na použití důvěryhodného certifikátu od certifikační autority. Pokud vlastníte doménu, postupujte podle těchto kroků k získání a implementaci certifikátu. Pokud ne, přejděte k další části, která podrobně popíše použití certifikátu získaného od poskytovatele názvu hostitele. Pro získání certifikátu používaného s vaší vlastní doménou použijeme Certbot od Let's Encrypt, neziskové organizace, která poskytuje bezplatné certifikáty pro použití na webových serverech.

Chcete-li si stáhnout Certbot, nejprve nainstalujte a aktualizujte Snap pomocí příkazu „sudo snap install core && sudo snap refresh core“ . Poté zadejte „sudo snap install –classic certbot“ (dvě pomlčky za sebou před „classic“) pro instalaci balíčku.

Spusťte příkaz „sudo certbot –apache“ (opět dvě pomlčky před „apache“) pro spuštění certbotu a postupujte podle všech pokynů k vytvoření a stažení webového certifikátu.

Proces vytváření certifikátu bude vyžadovat informace, jako je e-mailová adresa použitá pro kontaktování vlastníka domény, a bude vás požádat o souhlas se smluvními podmínkami požadovanými službou Let's Encrypt. Po zobrazení výzvy zadejte nebo vyberte název domény, pro kterou certifikát získáváte, a dokončete interaktivní proces. Pokud se při používání Certbotu setkáte s chybami, budete možná muset na routeru povolit přesměrování portů 80 a 443 na soukromou IP adresu vašeho serveru Nextcloud nebo nakonfigurovat záznamy DNS vaší domény tak, aby odkazovaly na veřejnou IP adresu vašeho routeru. Proces přesměrování portů a nastavení záznamů DNS je vysoce závislý na vašem routeru, registrátorovi domény a poskytovateli internetových služeb, a proto není v této příručce zahrnut.

Po dokončení Certbotu znovu otevřete soubor virtuálního hostitele zadáním příkazu „sudo nano /etc/apache2/sites-available/nextcloud.conf“ a stisknutím klávesy Enter. Přidejte následující řádky přímo nad záhlaví </VirtualHost>, abyste povolili přepisování HTTP URL adres na HTTPS, a nahraďte „nextcloud-demo.moose.local“ plně kvalifikovaným názvem domény vašeho serveru:

RewriteEngine na RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanentní]

Hotový soubor virtuálního hostitele by měl po dokončení vypadat takto:

Nyní byste měli mít nastavený důvěryhodný certifikát od platné certifikační autority a šifrování HTTPS připravené pro web!

Nastavení HTTPS pomocí certifikátu od poskytovatele hostname

Postup pro použití certifikátu od poskytovatele názvu hostitele k povolení HTTPS na vašem serveru Nextcloud je shodný s postupem popsaným v části „HTTPS s certifikátem s vlastním podpisem“ v tomto článku, s jedinou výjimkou, že cestu k klíčům s vlastním podpisem musíte nahradit cestou ke klíčům od vašeho poskytovatele názvu hostitele. Příkazy jako „wget“ a „mv“ lze použít ke stažení a přesunutí souborů certifikátů do správných adresářů (/etc/ssl/certs pro soubor certifikátu a /etc/ssl/private pro soubor klíče). Nezapomeňte povolit modul Apache SSL pomocí „sudo a2enmod ssl“ příkaz a použití „sudo systemctl restartuje apache2“ Po dokončení se změny projeví. Hotový soubor virtuálního hostitele pro použití souborů certifikátů by měl vypadat podobně (s poli SSLCertificateFile a SSLCertificateKeyFile nahrazenými cestami k vašim vlastním souborům certifikátů a klíčů):

Instalace antivirové aplikace pro soubory

Přestože Nextcloud dokáže bezpečně přenášet data přes HTTPS, neznamená to, že vše, co vy nebo vaši uživatelé nahrajete, je bezpečné. Ať už úmyslné či neúmyslné, malwarové infekce na webových serverech mohou způsobit obrovské škody a šířit se jako požár do dalších systémů, pokud se o ně rychle nepostará. Pro další vrstvu ochrany před zlomyslnými aktéry na internetu je antivirový program nezbytností pro servery přístupné z internetu.

ClamAV je bezplatný antivirový balíček s otevřeným zdrojovým kódem, který lze integrovat s Nextcloud a skenovat soubory nahrané uživateli na přítomnost malwaru. Obchod s aplikacemi Nextcloud nabízí aplikaci s názvem „Antivirus pro soubory“, která používá ClamAV jako backend pro skenování uživatelských souborů a ochranu vašeho serveru. Tuto aplikaci si můžete stáhnout na kartě „Aplikace“ kliknutím na profilový obrázek vašeho administrátorského účtu a výběrem kategorie „Zabezpečení“.

Klikněte na tlačítko „Stáhnout a povolit“ v sekci „Antivirus pro soubory“ a nainstalujte jej do své instance Nextcloud. Dále je třeba nainstalovat ClamAV a povolit skener a systém aktualizace signatur malwaru. Použijte „sudo apt install clamav clamav-daemon“ získat všechny potřebné balíčky ClamAV.

Po instalaci balíčků spusťte „sudo dpkg-reconfigure clamav-daemon“ v konzoli pro zobrazení interaktivní konfigurační nabídky. Tuto nabídku použijeme k přizpůsobení chování skenování naší instalace ClamAV.Na níže uvedené otázky zadejte následující odpovědi:

  • Zpracovat konfigurační soubor automaticky? Ano
  • Typ zásuvky: UNIX
  • Lokální (UNIXový) socket clamd bude naslouchat na: /var/run/clamav/clamd.ctl
  • Vlastník skupiny clamd local (UNIX) socketu: clamav
  • Režim vytváření pro socket clamd local (UNIX): 666
  • Jak elegantně zpracovat zbývající soubory UNIXových socketů? Ano
  • Chcete povolit skenování pošty? Ne
  • Chcete povolit skenování archivů? Ne
  • Maximální povolená hloubka adresáře: 15
  • Chcete, aby démon sledoval běžné symbolické odkazy na soubory? Ano
  • Časový limit pro zastavení skeneru vláken (sekundy): 180
  • Počet vláken pro démona: 2
    • Odečtěte 2 od počtu jader/vCPU, které má váš server Nextcloud, a toto číslo zadejte do tohoto pole.
  • Povolený počet čekajících připojení: 15
  • Chcete používat systémový logger? Ne
  • Soubor protokolu pro clamav-daemon (pro zakázání zadejte none): /var/log/clamav.log
  • Chcete ke každé zprávě zaznamenávat časové informace? Ne
    • Pokud vysoký počet zápisů na disk není pro váš systém škodlivý, zvolte místo toho možnost „Ano“.
  • Chcete povolit rotaci protokolů? Ano
  • Prodleva v sekundách mezi autokontrolami démona: 3600
  • Uživatel, který má spustit clamav-daemon jako: clamav
  • Skupiny pro clamav-daemon (oddělené mezerami): www-data
  • Chcete načíst bytecode z databáze? Ano
  • Úroveň zabezpečení, která se má použít na bajtkód: DůvěraPodepsáno
  • Časový limit pro provedení bajtkódu v milisekundách: 60000

Páni! To byla spousta konfigurace! Naštěstí pro nás to stačí udělat jen jednou. Po spuštění systému použijte příkazy „systemctl enable clamav-freshclam“ a „systemctl enable clamav-daemon“ , aby se ClamAV spustil, a můžeme začít konfigurovat aplikaci Nextcloud „Antivirus for files“.

Pomocí webového prohlížeče na jiném počítači připojeném ke stejné síti a podsíti jako váš server Nextcloud se přihlaste do Nextcloudu a klikněte na profilový obrázek vašeho administrátora. V rozbalovací nabídce klikněte na možnost „Nastavení administrace“ a po načtení stránky vyberte část „Zabezpečení“.

Přejděte dolů do sekce „Antivirus pro soubory“ a změňte pole „Režim“ na „ClamAV Daemon (Socket)“. Změňte pole „Když jsou během skenování na pozadí nalezeny infikované soubory“ na „Smazat soubor“ a klikněte na tlačítko „Uložit“. ClamAV bude pravidelně skenovat soubory nahrané do Nextcloud na přítomnost malwaru a mazat soubory, které odpovídají známým signaturám malwaru.

Integrace a obecná vylepšení Nextcloudu

Nyní, když jsme si vytvořili funkční a bezpečný cloudový server pro ukládání dat, můžeme rozšířit jeho možnosti a přidat nové funkce. Začněme tím, že se postaráme o něco snadno proveditelného: připojení Nextcloudu k e-mailovému serveru a nastavení výchozího regionu telefonu.

Připojení e-mailového serveru

Pro odesílání e-mailových oznámení, upozornění na aktivitu a odkazů na resetování hesla (pro uživatele bez LDAP) musí být Nextcloud připojen k funkčnímu e-mailovému serveru. Pokud si e-mailový server hostujete sami, nastavení je stejně snadné jako zadání správné adresy serveru a ověřovacích údajů. Můžete také použít e-mailový server třetí strany s e-mailovou adresou, kterou již máte, například SMTP server Gmailu.

V počítači ve stejné síti a podsíti jako váš server přejděte na plně kvalifikovaný název domény nebo IP adresu vašeho serveru Nextcloud pomocí webového prohlížeče. Klikněte na profilový obrázek uživatele s oprávněními správce a v rozbalovací nabídce vyberte možnost „Nastavení pro správu“.

Na stránce „Nastavení administrace“ vyberte vlevo sekci „Základní nastavení“ a sjeďte dolů k modulu „E-mailový server“.

Na této stránce můžete nakonfigurovat nastavení šifrování, adresování a ověřování vašeho e-mailového serveru. Můžete si vybrat několik metod šifrování a ověřování, které vyhovují vašim potřebám zabezpečení nebo kompatibility.

Chcete-li používat SMTP server Gmailu s účtem Google, který již vlastníte, nejprve přejděte na stránku https://myaccount.google.com/apppasswords a vytvořte si heslo aplikace podle pokynů na webu. Zadejte heslo aplikace název přidružený k vašemu serveru Nextcloud a uložte si heslo na bezpečném místě. Upozorňujeme, že heslo se zobrazuje s mezerami každé čtyři znaky, ale ve skutečnosti tyto mezery neobsahuje. Hesla aplikací jsou řetězce šestnácti souvislých písmen.

Vyplňte následující pole e-mailového serveru, jak je uvedeno níže:

  • Režim odesílání: SMTP
  • Šifrování: Žádné/STARTTLS
  • Z adresy: johndoe @ storagereview.com
    • Zde zadejte adresu svého účtu Gmail.
  • Adresa serveru: smtp.gmail.com 587
  • Ověření: Ano (zaškrtněte políčko)
  • Pověření: johndoe@storagereview.com heslo k aplikaci zde
    • Zadejte sem adresu svého účtu Gmail a heslo aplikace, které jste si vytvořili.

Po dokončení klikněte na tlačítko „Uložit“ a pomocí tlačítka „Odeslat e-mail“ ověřte, zda je vaše konfigurace platná.

Pokud jste si pro používaný administrátorský účet ještě nenastavili e-mailovou adresu, zobrazí se vám upozornění s výzvou k jejímu provedení. Problém lze snadno vyřešit kliknutím na profilový obrázek administrátora, výběrem možnosti „Osobní nastavení“ z rozbalovací nabídky a zadáním své e-mailové adresy do pole „E-mail“. Po dokončení se vraťte do modulu „E-mailový server“ v části „Základní nastavení“ na stránce „Nastavení administrace“ a v případě potřeby znovu zadejte konfiguraci.

Nastavení výchozího regionu telefonu

Velmi rychlá, ale poměrně užitečná změna, kterou můžeme provést, aby Nextcloud lépe zpracovával telefonní čísla, je nastavení výchozího telefonního regionu pro danou instanci. Když uživatelé vyplní svůj profil v nastavení „Osobní informace“ v části „Osobní nastavení“, jsou požádáni o volitelné zadání telefonního čísla pro kontaktní účely. Bez výchozího telefonního regionu Nextcloud nutí uživatele zadat s tímto číslem předvolbu země. Nastavení výchozího telefonního regionu umožňuje uživatelům tento prefix vyloučit.

V konzoli serveru Nextcloud použijte příkaz „sudo nano /var/www/html/nextcloud/config/config.php“ k úpravě konfiguračního souboru PHP webu Nextcloud.

Přidejte do konfiguračního souboru PHP následující řádek, přičemž dodržujte mezery vytvořené předchozími řádky a vložte jej před koncovou závorku „);“:

'default_phone_region' => 'USA',

Z bezpečnostních důvodů byste nikomu neměli ukazovat obsah souboru „config.php“ vaší instance Nextcloud . Obsahuje citlivé informace, jako jsou hesla a systémové tajemství, které byste měli znát pouze vy nebo váš správce systému. Po dokončení přidání výchozího telefonního regionu do konfiguračního souboru uložte nový obsah podržením klávesy Ctrl (Ctrl) a klepnutím na „O“ a poté podržením klávesy Ctrl a klepnutím na „X“ pro ukončení. Chcete-li změny použít, zadejte do konzole příkaz „sudo systemctl restart apache2“ a stiskněte klávesu Enter.

Nastavení intervalu údržby

Dalším malým vylepšením konfiguračního souboru PHP webu Nextcloud je nastavení údržbového okna, během kterého server bude provádět náročnější úlohy, které mohou mít dopad na uživatele. Okno se nastavuje pomocí času UTC, takže budete muset požadovaný čas zahájení údržbového okna převést na ekvivalentní čas UTC (vyjádřený jako celé číslo mezi 1 a 24). Údržbové okno trvá čtyři hodiny, takže údržbové okno, které začíná ve 3:00 UTC, skončí v 7:00 UTC.

Pomocí příkazu „sudo nano /var/www/html/nextcloud/config/config.php“ znovu spusťte úpravu konfiguračního souboru PHP a přidejte tento řádek před koncovou závorku „);“ s dodržením mezer používaných řádky již v souboru:

'maintenance_window_start' => 1,
    • Nezapomeňte nahradit „1“ požadovaným časem zahájení údržbového okna převedeným do času UTC.

Po uložení souboru pomocí kláves Control (Ctrl) + „O“ a Control (Ctrl) + „X“ aplikujte okno údržby pomocí „sudo systemctl restartuje apache2“.

Integrace serveru LDAP/Active Directory

Pokud plánujete poskytnout přístup k vaší instanci Nextcloud více uživatelům, jednou z nejvýkonnějších funkcí, které můžete do Nextcloudu přidat, je možnost připojení a ověření serveru LDAP nebo Active Directory. Mnoho organizací a domácích laboratoří používá Active Directory nebo LDAP k centralizované organizaci a řízení přístupu uživatelů k síťovým prostředkům a Nextcloud není výjimkou. Díky aplikaci „LDAP user and group backend“ lze uživatele z vaší domény Active Directory nebo serveru LDAP importovat do vašeho serveru Nextcloud a přihlásit se pomocí svého uživatelského jména nebo e-mailové adresy a hesla. Tato funkce se stává ještě výkonnější v kombinaci s externím úložištěm (jako je sdílená složka SMB na NAS), které poskytuje individuální „domovské“ složky pro uživatele s oprávněními specifickými pro daného uživatele.

Chcete-li nainstalovat aplikaci „LDAP user and group backend“, nejprve klikněte na profilový obrázek po přihlášení na webovou stránku Nextcloud pomocí svého administrátorského účtu. V zobrazené rozbalovací nabídce vyberte možnost „Aplikace“ a klikněte na modul „Doporučené aplikace“. Posuňte se dolů, dokud nenajdete aplikaci „LDAP user and group backend“, a klikněte na tlačítko „Povolit“.

Nyní, když je aplikace povolena, musíme připojit Nextcloud k LDAP serveru. Ujistěte se, že máte připravený účet pro autorizaci tohoto připojení. Obvykle se doporučuje servisní účet vytvořený speciálně pro toto připojení, ale lze použít jakýkoli účet Active Directory nebo LDAP s možností vyhledávání v adresáři. Uvědomte si, že ačkoli tento příklad použije vestavěný účet domény „Administrátor“ v doméně Active Directory, není to bezpečný postup. Pokud je server Nextcloud napaden a přihlašovací údaje k účtu „Administrátor“ jsou odcizeny, útočník bude mít plná oprávnění ke čtení, úpravě a dokonce i mazání jakéhokoli objektu v doméně.

Přejděte znovu na stránku „Nastavení administrace“ kliknutím na profilový obrázek uživatele s rolí administrátora a jeho výběrem z rozbalovací nabídky. Klikněte na modul „Integrace LDAP/AD“ a začněte.

Na této stránce začněte vyplňovat požadované informace o vašem serveru LDAP/Active Directory:

  • Host: 192.168.1.102
    • Nahraďte IP adresou/názvem hostitele vašeho LDAP serveru nebo řadiče domény Active Directory.
  • Port: 389
    • Pokud používáte službu Active Directory, použijte port 389. Pokud používáte jiný typ serveru LDAP nebo jste si upravili port, na kterém server AD naslouchá požadavkům LDAP, zadejte sem konkrétní číslo.
  • Rozlišovací jméno uživatele: CN=Administrátor,CN=Uživatelé,DC=Moose,DC=Local
    • Zadejte rozlišovací název účtu, který se používá k připojení Nextcloudu k vašemu LDAP/AD serveru. Pokud používáte Active Directory, lze jej snadno zjistit spuštěním tohoto příkazu v okně CMD, kde nahradíte jméno „Administrator“ uživatelským jménem účtu, který používáte pro připojení:
      • uživatelské jméno dsquery „Administrátor“
    • Po vyplnění tohoto pole klikněte na tlačítko „Uložit přihlašovací údaje“.
  • Jedno základní DN na řádek: DC=los, DC=místní
    • Po uložení předchozích přihlašovacích údajů klikněte na tlačítko „Rozpoznat základní DN“, čímž se automaticky určí základní DN pro server LDAP/AD.
    • Volitelně můžete kliknutím na tlačítko „Test Base DN“ zkontrolovat, zda je dosavadní konfigurace platná.

Po dokončení první stránky modulu „Integrace LDAP/AD“ stiskněte tlačítko „Pokračovat“ a věnujte chvíli prohlížení a prostudování části „Uživatelé“.

Ačkoli se rozvržení stránky může zpočátku zdát matoucí, její funkcí je filtrovat uživatele dostupné pro přihlášení na server Nextcloud podle atributů, jako jsou třídy objektů a skupiny. Doporučujeme vytvořit jedinečnou skupinu pro uživatele, kteří se budou přihlašovat na server Nextcloud, aby bylo možné filtrování provádět podle členství v dané skupině. Vyberte požadované třídy objektů a/nebo skupiny, kterým chcete udělit přístup, a kliknutím na tlačítko „>“ přidejte skupinu do filtru. V tomto příkladu je použita skupina s názvem „rodina“. Kliknutím na tlačítko „Ověřit nastavení a spočítat uživatele“ zobrazíte zprávu s uvedením, kolik uživatelů odpovídá zadanému popisu. Pokud se počet zdá být nesprávný, zkontrolujte filtry tříd objektů a skupin.

Jakmile budete mít správný počet uživatelů, klikněte na tlačítko „Pokračovat“ a přejděte do sekce „Atributy přihlášení“. Zaškrtněte políčka u polí „Uživatelské jméno LDAP/AD:“ a „E-mailová adresa LDAP/AD“ a ověřte správnost atributu přihlášení zadáním uživatelského jména a e-mailové adresy (pokud chcete) do pole „Test přihlašovacího jména“ a kliknutím na tlačítko „Ověřit nastavení“.

Pokud lze uživatelské jméno/e-mailovou adresu použít k přihlášení, zobrazí se oznámení „Uživatel nalezen a nastavení ověřeno“. Naposledy stiskněte tlačítko „Pokračovat“ a přejděte na poslední stránku „Skupiny“. Podobně jako na stránce „Uživatelé“ sekce „Skupiny“ zužuje výběr uživatelů, kteří se mohou přihlásit k serveru Nextcloud, pomocí kritérií tříd objektů a skupin. Proveďte stejné výběry jako na stránce „Uživatelé“, nebo snižte počet uživatelů, kteří se mohou přihlásit, zadáním konkrétnějších kritérií do polí „Vyhledat třídy objektů“ a „Vyhledat skupiny“. V tomto příkladu je ze seznamu na stránce vybrána skupina „rodina“ a pomocí tlačítka „>“ je přístup omezen pouze na tuto skupinu. Nakonec klikněte na „Ověřit nastavení a spočítat skupiny“ a zobrazí se počet skupin platných pro přihlášení.

Nyní jste povolili přihlášení k serveru Nextcloud pro skupiny LDAP nebo Active Directory vybrané v předchozích krocích. Klikněte na profilový obrázek svého administrátorského uživatele a vyberte možnost „Odhlásit se“. Po zobrazení výzvy k zadání uživatelského jména a hesla pro opětovné přihlášení otestujte možnost přihlášení pro jednoho z uživatelů, kterým jste udělili přístup. Pokud se uživatel nemůže přihlásit, znovu se podívejte do sekcí „Uživatelé“ a „Skupiny“ na této stránce, zkontrolujte svá kritéria a vyřešte chybu.

Integrace externího úložiště

Dalším výkonným doplňkem vašeho serveru Nextcloud je možnost připojení k externím úložným fondům a jejich používání. Umisťování uživatelských souborů přímo na server může vést k problémům se správou úložiště serveru a nutností neustálého zvyšování kapacity pro uspokojení poptávky uživatelů. Pokud nejste neustále opatrní při vynucování kvót a odstraňování nepotřebných dat vytvořených uživateli, může to vést k frustraci a neočekávaným výpadkům. Oddělení webového serveru a úložných komponent v systému Nextcloud je důrazně doporučováno a zásadní, pokud chcete vytvořit škálovatelný cloudový úložný systém a příjemný uživatelský zážitek.

Aplikace „Podpora externího úložiště“ pro Nextcloud umožňuje připojovat složky z následujících typů úložišť:

  • Amazon S3
  • FTP
  • Nextcloud
    • Ano, přesně tak, můžete se připojit a používat úložiště dostupné na jiných serverech Nextcloud!
  • Úložiště objektů OpenStack
  • SFTP
  • SMB / CIFS
  • WebDAV

Jak vidíte, existuje několik různých možností připojení Nextcloudu k externím úložným polím, cloudům a dalším systémům. Jako příklad si uvedeme připojení instance Nextcloudu ke sdílené složce SMB, která řídí přístup k různým složkám pomocí oprávnění udělených uživatelům importovaným z domény Active Directory, ke které jsme se dříve připojili.

Chcete-li povolit aplikaci „Podpora externího úložiště“, klikněte po přihlášení na web na profilový obrázek správce a vyberte možnost „Aplikace“. Znovu přejděte do sekce „Doporučené aplikace“ a vyhledejte modul s označením „Podpora externího úložiště“. Kliknutím na tlačítko „Povolit“ aplikaci zpřístupníte.

Po aktivaci aplikace budete moci přidat externí úložiště. Přejděte do sekce „Nastavení pro správu“ a klikněte na modul „Externí úložiště“. Na této stránce se můžete připojit k externímu úložišti výběrem typu úložiště z rozbalovací nabídky a vyplněním konfiguračních údajů.

Chcete-li přidat sdílenou složku SMB, vyberte ze seznamu možnost „SMB/CIFS“ a vyplňte konfigurační údaje takto:

  • Ověření: Ručně zadáno, uložení do databáze
    • Chcete-li, aby uživatelé pro ověření ručně zadávali své vlastní uživatelské jméno a heslo, vyberte tuto možnost. Chcete-li k udělení přístupu uživatelům ke sdílené složce SMB použít sadu statických přihlašovacích údajů, vyberte „Přihlášení a heslo“. V opačném případě vyberte z rozbalovací nabídky možnost, která nejlépe vyhovuje vašim potřebám.
  • Název složky: rodina
    • Tento název lze nastavit na libovolný název, který chcete použít k popisu připojovaného úložiště. Příklady: „SMB“ nebo název připojované sdílené složky.
  • Host: 192.168.1.140
    • Nahraďte tuto hodnotu IP adresou nebo plně kvalifikovaným názvem domény serveru, který hostuje sdílenou složku SMB, ke které se chcete připojit.
  • Sdílet: rodina
    • Nahraďte tuto hodnotu názvem sdílené složky, kterou chcete připojit a která se nachází na serveru, a zadejte ji do pole „Hostitel“.
  • Vzdálená podsložka: \
    • Pro připojení složky nejvyšší úrovně sdílené složky (samotné sdílené složky) použijte znak „\“. Jinak zadejte cestu k podsložce uvnitř požadované sdílené složky takto:
      • \podsložka\další_podsložka\ještě_další_podsložka
  • Doména: LOS
    • Pokud je přístup ke sdílené složce řízen pomocí LDAP nebo Active Directory, nahraďte tuto hodnotu názvem NetBIOS pro doménu. Toto pole není povinné, pokud sdílená složka není řízena serverem LDAP/AD.
  • Zobrazit skryté soubory: Kontrola
    • Zaškrtněte toto políčko, pokud mají mít uživatelé možnost zobrazit skryté soubory (ty, které začínají znakem „.“).
  • Systém souborů rozlišující velká a malá písmena: Kontrola
  • Při výpisu souborů ověřte přístup k ACL: Kontrola
    • Tato možnost je nesmírně důležitá pro správné fungování řízení přístupu. V opačném případě, pokud mají dva uživatelé připojenou stejnou sdílenou složku a mají složky nakonfigurované tak, že druhý uživatel nemá přístup, budou si i nadále moci navzájem prohlížet soubory.
  • Všichni lidé: Kontrola
    • Zaškrtněte tuto možnost, pokud chcete, aby všichni uživatelé Nextcloudu mohli zadávat přihlašovací údaje pro sdílenou složku SMB a připojovat se k ní. V opačném případě vyberte lokální skupinu na instanci Nextcloudu, které chcete sdílenou složku zpřístupnit, pomocí níže uvedeného pole.
      • V době psaní tohoto textu bohužel není možné vybrat skupinu LDAP/Active Directory pomocí pole pod touto možností, pokud není vybrána.

Po zadání podrobností o konfiguraci sdílení SMB specifických pro vaši konfiguraci klikněte na tlačítko zaškrtnutí, čímž je uložíte a zpřístupníte uživatelům.

Pokud chcete, aby si uživatelé mohli připojit vlastní externí úložiště, klikněte na zaškrtávací políčko pod sekcí pro připojení úložiště na stránce. Pokud tuto možnost povolíte, můžete navíc omezit typy úložišť dostupných pro samoukládání.

Pro dokončení nastavení sdílení SMB musí uživatelé po kliknutí na svůj profilový obrázek a jeho výběru z rozbalovací nabídky přejít do modulu „Externí úložiště“ v části „Osobní nastavení“.

Na této stránce mohou uživatelé zadat své uživatelské jméno a heslo a kliknutím na tlačítko zaškrtnutí odemknout sdílenou složku SMB pro ukládání a načítání souborů.

Jakmile uživatel zadá své přihlašovací údaje, je možné ke sdílené složce přistupovat kliknutím na ikonu složky v horní části nabídky webu Nextcloud a procházením seznamu uživatelských složek a souborů.

Proměna Nextcloudu ve skutečný webový server

Vaše instance Nextcloud bohatá na funkce je nyní téměř připravena stát se veřejně dostupným a výkonným webovým serverem! Než otevřeme stavidla, musíme se ujistit, že server dokáže zpracovat intenzivní požadavky od více uživatelů přistupujících k souborům. Výkon jsme již zvýšili provedením několika klíčových úprav v konfiguraci PHP systému a přidání podpory pro ukládání do mezipaměti může tento vývoj ještě zesílit.

Nastavení ukládání do mezipaměti – APCu

ACPu je PHP cache, která pomáhá zrychlit přístup k často používaným objektům. Použijeme ji jako první cache pro naši instanci Nextcloud. Před povolením APCu cache musíme provést několik změn v souboru „php.ini“ našeho systému.

Pro zahájení úprav souboru použijte příkaz „sudo nano /etc/php/8.3/apache2/php.ini“ . Přejděte na konec souboru tak, že delší dobu podržíte klávesu se šipkou dolů. Do nového řádku na konci souboru přidejte následující řádky:

apc.enable_cli=1
apc.shm_size=128M

Přidáním těchto dvou řádků systém bude moci používat APCu jako mezipaměť a nastaví se její velikost na 128 megabajtů místo výchozí hodnoty 32. Po dokončení stiskněte klávesy Control (Ctrl) + „O“ a Control (Ctrl) + „X“ pro uložení souboru a ukončení programu nano.

Pro dokončení zapínání mezipaměti APCu použijte příkaz „sudo nano /etc/php/8.3/mods-available/apcu.ini“ a přidejte „apc.enable_cli=1“ na konec konfiguračního souboru, stejně jako jsme to udělali pro soubor „php.ini“ . Pro uložení a ukončení konfiguračního souboru použijte klávesy Control (Ctrl) + „O“ a znovu Control (Ctrl) + „X“.

Povolili jsme PHP používat APCu, ale teď musíme instruovat Nextcloud, aby ho využíval.

Do konzole napište „sudo nano /var/www/html/nextcloud/config/config.php“ a stiskněte Enter. V konfiguračním souboru PHP pro Nextcloud přidáme jeden řádek, který nastaví Nextcloud na používání APCu pro lokální ukládání do mezipaměti:

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

Vložte tento řádek před koncovou závorku „);“ a dodržujte konvence rozestupů z předchozích řádků konfiguračního souboru. Znovu podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „O“ a poté klávesy Ctrl (Ctrl) a „X“ pro uložení a ukončení.

Jakmile je konfigurační soubor PHP uložen, použijte „sudo systemctl restartuje apache2“ restartovat webový server Apache a aplikovat provedené změny.

Pokud jste provedli všechny kroky pro správné nastavení APCu pro lokální ukládání do mezipaměti, výkon vašeho serveru Nextcloud by se měl podstatně zvýšit! Pojďme to posunout o krok dál a nakonfigurujme Redis pro další výhody ukládání do mezipaměti.

Nastavení ukládání do mezipaměti – Redis

Možná si říkáte: „Proč můj webový server potřebuje dvě různé mezipaměti? Nestačí jedna?“ Odpověď na tuto otázku je ve skutečnosti docela jednoduchá. Stejně jako každý nástroj v obchodě má své vlastní využití, tak i APCu a Redis. APCu je vynikající lokální mezipaměť a v této kategorii ji výrazně překonává, zatímco Redis září v distribuovaném ukládání do mezipaměti a transakčním zamykání souborů.

Pro začátek práce s Redisem upravíme konfigurační soubor systémového Redisu zadáním
"sudo nano /etc/redis/redis.conf" do konzole a stisknutím klávesy Enter. Ve výchozím nastavení služba Redis naslouchá TCP portu pro ukládání do mezipaměti a zamykání transakčních souborů, ale pro konfiguraci s jedním serverem je preferovanou metodou komunikace unixový socket. Použití TCP portu by dávalo smysl, pokud poskytujeme službu Redis přes síť, ale unixový socket je mnohem efektivnější pro komunikaci mezi procesy webového serveru Redis a Nextcloud.

Jakmile zadáte nano, podržte klávesu Ctrl (Ctrl) a stiskněte klávesu „W“ pro aktivaci vyhledávací funkce nano. Do vyhledávacího řádku zadejte „unixsocket“ a stiskněte klávesu Enter. Nano přejde do konfigurační sekce „Unix socket“ v souboru. V sekci „Unix socket“ odstraňte znaky „#“ a mezery před textem „unixsocket /run/redis/redis-server.sock“ a „unixsocketperm 700“ . Změňte hodnotu „700“ na „770“ a posouvejte se nahoru, dokud nenajdete řádek s textem „port 6379“ . Tuto hodnotu změníme na „0“ , čímž serveru Redis fakticky řekneme, aby na portu TCP nenaslouchal pro připojení. Před použitím kombinace kláves Ctrl (Ctrl) + „O“ a Ctrl (Ctrl) + „X“ pro uložení a ukončení souboru si prohlédněte obrázky níže a ověřte konfigurační soubor.

Po těchto úpravách konfiguračního souboru systému Redis můžeme nyní v konfiguračním souboru PHP Nextcloud specifikovat, že chceme Redis používat pro distribuované ukládání do mezipaměti a zamykání transakčních souborů. Otevřete tento soubor v nano pomocí příkazu „sudo nano /var/www/html/nextcloud/config/config.php“.

Na konec konfiguračního souboru Nextcloud PHP před koncovou závorku „);“ přidejte tyto řádky a věnujte pozornost mezerám a čárkám:

'memcache.distributed' => 'OC\Memcache\Redis', 'memcache.locking' => 'OC\Memcache\Redis', 'redis' => [ 'host' => '/run/redis/redis-server.sock', 'port' => 0, ],

Pokud jste řádky zadali správně, sekce cachování paměti v konfiguračním souboru PHP by měla vypadat takto:

Před restartováním webového serveru Apache a Redisu pro použití změn použijte „sudo usermod -a -G redis www-data“ přidat „www-data“ uživatele k „redis“ skupina, která webovému serveru uděluje přístup k socketu Redis Unix. Nakonec zadejte „sudo systemctl restart apache2 && sudo systemctl restart redis-server“ do konzole a stisknutím klávesy Enter aplikujte změny a restartujte dotčené služby.

Zpřístupnění Nextcloudu internetu

Jsme tak blízko k dokončení! Posledním krokem při nasazení vašeho serveru Nextcloud je jeho zpřístupnění veřejnému internetu. Tento krok vyžaduje konfiguraci přesměrování portů na vašem routeru a může z vaší strany vyžadovat trochu průzkumu. Použijte katalog průvodců přesměrováním portů na adrese https://portforward.com/router.htm , abyste se pokusili najít výrobce vašeho routeru a přečíst si řešení. Pokud výrobce routeru v seznamu nemůžete najít nebo používáte podnikový/domácí router, možná budete muset provést nějaké vyhledávání na webu, dokud nenajdete správnou metodu.

Při konfiguraci přesměrování portů přesměrujte porty 80 a 443 ze soukromé IP adresy vašeho serveru Nextcloud (kterou lze zjistit pomocí příkazu „hostname -I“ ) na veřejnou IP adresu routeru. Pokud vám váš poskytovatel internetových služeb veřejnou IP adresu neposkytuje, musíte použít službu, jako jsou tunely Cloudflare, která vám umožňuje vytvořit zabezpečený tunel mezi vaším webovým serverem a servery Cloudflare, který přesměruje provoz od návštěvníků webových stránek zpět k vám.

Pokud vlastníte doménu nebo používáte hostname od poskytovatele hostname, ujistěte se, že vaše DNS záznamy ukazují na veřejnou IP adresu vašeho serveru. Někteří poskytovatelé služeb volitelně nabízejí možnost zcela zakrýt vaši IP adresu před návštěvníky webových stránek a bezpečně přenést tato data ze svých serverů zpět na váš.

Údržba a aktualizace Nextcloudu

Zajištění nejnovějších aktualizací a bezpečnostních záplat na vašem serveru Nextcloud je důležitou součástí udržování rychlosti a bezpečnosti vašeho cloudového úložiště. Než skončíme, pojďme si projít několik způsobů, jak udržet váš server v chodu jako nový!

Příkazy po nasazení

Po nasazení serveru Nextcloud jste si mohli všimnout varování na stránce „Přehled“ po kliknutí na „Nastavení správy“ v nabídce profilového obrázku. Tato varování občas obsahují také příkazy, které lze spustit k okamžitému vyřešení problému, kterého se varování týká. Příkazy je obvykle nutné spustit jako uživatel „www-data“ z adresáře „/var/www/html/nextcloud“ . Zadejte „cd /var/www/html/nextcloud“ a stiskněte klávesu Enter pro změnu aktuálního pracovního adresáře na příslušnou složku a před každý z příkazů vložte „sudo -u www-data“ .

Nyní můžeme spustit několik z těchto příkazů, abychom tato varování opravili dříve, než se z nich stanou problémy:

sudo -u www-data php occ db:přidat-chybějící-sloupce
sudo -u www-data php occ db:přidat-chybějící-indexy
sudo -u www-data php occ db:přidat-chybějící-primární-klíče

Tyto příkazy zajistí, že je databáze správně nastavená a nechybí jí žádné důležité informace. Šťastná databáze, šťastný život! Že?

Udržování Ubuntu Serveru v aktuálním stavu

Pravidelná aktualizace operačního systému a softwarových balíčků vašeho serveru je důležitá pro jeho bezpečnost a rychlost. Najděte si časový úsek, kdy je využití serveru nízké, každý týden nebo dva, a spusťte následující příkazy:

sudo apt update && sudo apt upgrade -y
sudo reboot

Tyto příkazy aktualizují operační systém a softwarové balíčky serveru a restartují server, aby se změny projevily při jeho opětovném spuštění.

Aktualizace Nextcloudu

Protože Nextcloud nebyl nainstalován pomocí správce balíčků, aktualizace softwarových balíčků serveru pomocí příkazu „apt“ automaticky nepřepne Nextcloud na další verzi. Chcete-li zahájit upgrade našeho serveru Nextcloud, musíme kliknout na profilový obrázek administrátora v pravém horním rohu webové stránky a v rozbalovací nabídce vybrat „Nastavení administrace“. Na stránce „Přehled“ vidíme, že je k dispozici upgrade – v tomto případě verze 30.0.1. Pokud se na stránce „Přehled“ možnost aktualizace nezobrazí, nebojte se, nejnovější verzi již máte! Pravidelně se sem vracejte, abyste zjistili, kdy bude k dispozici nová verze.

Jakmile zjistíte, že je k dispozici aktualizace a dosáhli jste vhodného okna pro upgrade, přepněte se zpět do konzole serveru a zadejte tento příkaz:

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

Tento příkaz rekurzivně nastaví uživatele „www-data“ jako vlastníka adresáře „www“ a všech podadresářů a souborů, čímž zajistí, že proces aktualizace bude mít přístup k jakémukoli souboru, který potřebuje, a bude jej moci upravovat.

Jakmile je tento příkaz dokončen, vraťte se na stránku „Přehled“ v nabídce „Nastavení správy“ a klikněte na tlačítko s označením „Otevřít aktualizační program“. Tím se dostanete do nabídky „Aktualizační program“.

Odtud můžete kliknout na tlačítko „Spustit aktualizaci“ a zahájit proces ověření a stahování aktualizací Nextcloud. Pokud vše funguje správně, měli byste vidět zelené zaškrtnutí vedle každého kroku před „Pokračovat s webovou aktualizací“.

Poznámka: Pokud proces aktualizace selže v kroku „Stahování“, zkuste stahování opakovat, dokud nebude fungovat. Může to trvat několik pokusů.

Jakmile se v nabídce „Aktualizace“ objeví všechny zelené značky zaškrtnutí, klikněte na tlačítko s označením „Zakázat režim údržby a pokračovat ve webové aktualizaci“. Na zobrazené obrazovce klikněte na „Spustit aktualizaci“ pro dokončení procesu aktualizace a zahájení jejího použití.

Alternativně, jak je navrženo na stránce pro větší nebo pomalejší servery, můžete přejít do adresáře „nextcloud“ a spustit upgrade ručně pomocí následujících příkazů:

cd /var/www/html/nextcloud
sudo -u www-data php occ upgrade

Po dokončení aktualizace budete přesměrováni na stránku „Dashboard“ na webových stránkách vašeho serveru Nextcloud. Váš server nyní používá nejnovější a nejlepší verzi Nextcloudu!

Gratuluji! Zvládli jste to!

Nyní jste hrdým majitelem a provozovatelem plně funkčního, odolného a vysoce výkonného serveru Nextcloud. Nyní můžete pozvat členy rodiny nebo přátele, aby váš server používali jako cloudové úložiště, pokud si to přejete. Nezapomeňte, že Nextcloud je vysoce modulární platforma, takže se nebojte vyzkoušet nové aplikace nebo změnit konfiguraci podle svých potřeb! Nezapomeňte co nejdříve nastavit pravidelné zálohy serveru a sledujte, zda vše funguje správně.

Prohlídka autorova nastavení Nextcloudu

Páni, zvládli jste to všechno a stále si chcete přečíst další? Považujte nás za ohromené! Pokud hledáte trochu inspirace, zde je rychlá prohlídka a několik obrázků autorova nastavení Nextcloudu:

  • hardware:
    • Virtualizační server:
      • OS: Virtualizační prostředí Proxmox
      • Šasi: Supermicro SC216 s volitelnou zadní redundantní klecí pro bootovací disk
      • Procesor: Intel Xeon E5-2683
      • RAM: 4x 32 GB DDR4 2400 MHz ECC RDIMM
      • Základní deska: Gigabyte MU70-SU0 (LGA 2011-3)
      • HBA: Broadcom SAS 9305-24i
      • Síťová karta: Adaptér Intel X520-DA2 se 2 porty 10 GbE SFP+
      • Grafická karta: NVIDIA Quadro K1200
      • Bootovací disky: 2x Samsung 850 EVO 120 GB SATA SSD
      • Datové disky: 24x Samsung 860 EVO 250 GB SATA SSD
    • NAS:
      • OS: TrueNAS SCALE
      • Šasi: HPE ProLiant MicroServer Gen10 Plus
      • Procesor: Intel Xeon E-2224
      • RAM: 2x 16 GB DDR4 2666 MHz ECC UDIMM
      • HBA: Vestavěný řadič HPE Smart Array E208i-p SR Gen10
      • Síťová karta: Adaptér HPE Ethernet 560SFP+ se 2 porty 10 GbE SFP+
      • Bootovací disk: Micron M600 256 GB SATA SSD (připojeno přes USB)
      • Mezipaměť: 2x Samsung 860 EVO 250 GB SATA SSD (připojeno přes USB)
      • Datové disky: 4x WD Red Plus 4 TB 5400 ot./min. HDD
      • Zálohovací disk: WD Red Pro 14 TB 7200 ot./min. HDD (připojeno přes USB)
    • Modem:
      • Netgear CM1200
      • DOCSIS 3.1
      • 4x 1 GbE RJ45 WAN porty (kompatibilní s 2portovou agregací linek)
    • router:
      • OS: pfSense
      • Šasi: Dell OptiPlex 7040 SFF
      • CPU: Intel Core i5 6500
      • RAM: 8 GB DDR4
      • Síťová karta: Adaptér Intel E1G44ET se 4 porty 1 GbE RJ45
      • Bootovací disky: 2x Samsung 860 EVO 250 GB SATA SSD
    • Jádrový přepínač:
      • Síťová karta Dell N4032F
      • 24x 10GbE SFP+ porty
      • 2x 40GbE QSFP+ porty
      • 1 port pro správu GbE
    • Přístupový spínač:
      • Síťová karta Dell X1052
      • 48 portů 1 GbE RJ45
      • 4x 10GbE SFP+ porty
    • Přístupový bod:
      • OS: OpenWRT
      • Linksys EA8300 Max-Stream
      • AC2200
      • MU-MIMO
      • Wi-Fi 5 (802.11ac)
      • 1x 1 GbE RJ45 LAN port
      • 4x 1 GbE RJ45 LAN porty
    • UPS:
      • CyberPower CP1500AVRLCD3
      • 1500VA
      • 900W
  • Virtuální stroje:
    • Virtualizační prostředí Proxmox:
      • 2x řadiče domény Windows Server 2022 Datacenter
      • Webový server Nextcloud od Ubuntu Serveru 24.04.1
      • Herní server Windows Server 2022
    • MĚŘÍTKO TrueNAS:
      • Cíl zálohy serveru Proxmox Backup Server

Andrew využívá svůj server Nextcloud k hostování služeb ukládání dat pro své blízké. Pomocí kombinace domény Active Directory s redundantními řadiči domény, NAS pro ukládání všech uživatelských dat a virtualizačního serveru Andrew optimalizoval své nastavení tak, aby poskytovalo vysoce výkonné úložné služby doma i kdekoli s připojením k internetu.

Páteří jeho sestavy je síťová karta Dell N4032F, která poskytuje připojení s rychlostí 10 gigabitů za sekundu mezi jeho serverem Proxmox VE a úložným polem TrueNAS SCALE. Datový, správní a úložný provoz byl rozdělen do tří sítí VLAN, což poskytuje dodatečné zabezpečení v případě narušení bezpečnosti. Jeho přístupový přepínač poskytuje standardní připojení s rychlostí 1 gigabit za sekundu k jeho hernímu počítači, přístupovým bodům a dalším různým zařízením. Všechny servery a virtuální počítače jsou monitorovány Raspberry Pi Model 3B+ s operačním systémem Ubuntu Server a instancí Uptime Kuma. Jakmile server/virtuální počítač dojde k výpadku, Andrew je informován e-mailem a v případě výpadku napájení se servery elegantně vypnou, jakmile UPS ohlásí nízkou úroveň nabití.

Andrew si také na míru sestavil svůj virtualizační server s použitím 2U šasi Supermicro s 24 šachtami a dílů získaných z eBay a dalších „pochybných“ zdrojů. V uspořádání ZFS RAIDZ2 může toto pole 24 SSD disků na úrovni spotřebitelů poskytnout propustnost přibližně 8.2 gigabajtů za sekundu pro operace čtení a 2.7 gigabajtů za sekundu pro operace zápisu do virtuálních strojů, jak je zde naměřeno na virtuálním počítači s Windows Serverem 2022:

Skutečnou hvězdou této přehlídky datových úložišť je Andrewův HPE ProLiant MicroServer Gen10 Plus, který pojme čtyři pevné disky WD Red Plus s kapacitou 4 TB a je náhodně připojen přes USB 3.2 Gen2 (10 Gb/s) a Gen1 (5 Gb/s) k SSD disku Micron pro bootování TrueNAS, k disku WD Red Pro s kapacitou 14 TB pro zálohování a ke dvěma dalším SSD diskům Samsung 860 EVO pro ukládání do mezipaměti. Aby bylo jasno, Andrew to nedoporučuje, ale rád posouvá hranice možností hardwaru, který vlastní. Spolehlivost na pět devítek zde rozhodně není za žádných okolností zaručena.

Mezi další pozoruhodná zařízení patří upravený počítač Dell OptiPlex 7040 SFF, na kterém běží pfSense a poskytuje směrovací služby pro různé podsítě jeho domácí laboratoře, a modem Netgear CM1200, který z nějakého důvodu překvapivě podporuje agregaci linek. Zmínili jsme se, že každé datové připojení k serveru, 1 nebo 10 GB/s, je redundantní z hlediska chyb? To by Andrewovu úložnému systému teoreticky umožnilo sdílet data obousměrně rychlostí 20 Gb/s, za určitých podmínek, s více připojeními současně. Kéž by měl ty správné disky, aby se k tomu alespoň přiblížil!

Závěr

Doufáme, že jste v tomto zdlouhavém, ale podrobném návodu k nastavení Nextcloudu našli něco užitečného. Dělat věci těžším způsobem má často své výhody a vědět více o fungování cloudového úložiště je vždy dobré. Pokud jste tak ještě neučinili, přihlaste se k odběru newsletteru StorageReview a získejte další články o serverech, úložných systémech a domácích laboratořích. Sledujte nás na YouTube, TikToku, X (dříve Twitter) nebo Instagramu!

Zdroje/Reference:

Zapojte se do StorageReview

Zpravodaj | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | RSS kanál

Andrew Waag

Andrew Waag je správce distribuovaných systémů ve společnosti Linde plc, jehož zájmy zahrnují serverový hardware, podnikové úložné systémy a síťová zařízení. Neustále hledá nové aktivity pro svou domácí laboratoř a experimentuje s virtualizačními a úložnými technologiemi.