Jak si vytvořit vlastní synchronizaci cloudových souborů s Nextcloud

Služby jako Dropbox usnadňují přístup k vašim datům na mnoha zařízeních. Pokud ale toužíte po větší kontrole nad svými soubory, existuje řešení. Za necelou půlhodinu můžete zprovoznit vlastní cloudovou synchronizační službu na serveru, který budete plně ovládat, a to díky platformě Nextcloud.

Co je to Nextcloud?

Nextcloud je softwarové řešení s otevřeným zdrojovým kódem, které vám umožňuje synchronizovat soubory mezi vaším počítačem a dalšími zařízeními, podobně jako to umí Dropbox, OneDrive nebo Google Disk. Navíc Nextcloud nabízí bohatý ekosystém aplikací, díky kterým můžete dělat mnohem více než jen synchronizovat soubory. S Nextcloudem můžete spravovat svůj kalendář, kontakty nebo dokonce spustit webového e-mailového klienta s protokolem IMAP. Můžete si také vytvořit chatovací platformu výhradně pro sebe a osoby, které mají přístup k vašemu serveru.

Než se ale pustíme do detailů, je nutné zmínit jedno varování. Jakmile začnete používat Nextcloud, zodpovědnost za údržbu serveru přechází na vás. To znamená, že kromě správy samotného softwaru Nextcloud budete muset dbát na to, aby byl operační systém serveru aktuální a zabezpečený. Servery s Nextcloudem jsou obvykle stabilní, ale pokud dojde k problému, je na vás, abyste ho vyřešili.

Dobrou zprávou je, že existuje spousta blogů, fór a stránek s nápovědou, které vám mohou pomoci při řešení problémů. Pokud narazíte na nějaký problém, je velmi pravděpodobné, že se s ním již setkal někdo jiný a existuje pro něj řešení.

Co budete potřebovat

Základní webové rozhraní Nextcloud.

Pro zahájení práce s Nextcloudem budete potřebovat tyto tři věci:

Virtuální server s operačním systémem Ubuntu 18.04
Shell Bash na vašem počítači.
Registrační doménu.

Pro naše ukázky si vytvoříme několik uživatelských jmen a hesel, včetně následujících:

Uživatelské jméno a heslo root pro váš server.
Běžné uživatelské jméno a heslo pro server s administrátorskými právy.
Uživatelské jméno a heslo pro Nextcloud.

V tomto návodu budeme používat virtuální server s Ubuntu 18.04 od společnosti DigitalOcean. Můžete však využít i jiného poskytovatele, jako je Linode nebo AWS. Ať už zvolíte jakoukoli službu, důležité je, aby na serveru běželo Ubuntu 18.04 (aktuální verze s dlouhodobou podporou v době psaní tohoto textu), abyste se vyhnuli případným potížím.

Každý poskytovatel virtuálních serverů se liší, ale obecně je jejich cílem zprovoznit server během několika kliknutí. Pro začátek doporučujeme používat testovací server základní úrovně, dokud si na Nextcloud nezvyknete. DigitalOcean nabízí droplet za 5 dolarů, který zahrnuje 1 GB RAM, 1 CPU jádro, 1 TB datového přenosu a 25 GB úložného prostoru. Linode nabízí podobný VPS za stejnou cenu.

Pokud si nejste jisti s SSH klíči, požádejte svého poskytovatele o přihlašovací údaje root na základě hesla, abyste mohli začít. Až bude váš server funkční a budete se cítit komfortně v příkazovém řádku, můžete se podívat do nápovědy svého poskytovatele, jak přidat SSH klíče pro bezpečnější přihlašování.

Pokud používáte Windows 10, budete muset nainstalovat subsystém Windows pro Linux a získat prostředí Bash s nástroji pro Linux, abyste mohli pokračovat. Uživatelé Linuxu nebo macOS mohou použít aplikaci Terminál. Většina terminálů Bash má SSH již nainstalované, ale pokud ne, stačí v terminálu zadat `sudo apt-get install ssh` a nainstalovat jej.

Při nákupu doménového jména se nemusíte omezovat pouze na koncovku .COM. Budete ho používat jen vy a vaši blízcí přátelé a rodina. Například my jsme našli doménu s koncovkou .XYZ za pouhý 1 dolar ročně, která bude naprosto vyhovující.

Příprava vašeho serveru

Před spuštěním serveru je nezbytné vytvořit běžný uživatelský účet s administrátorskými právy. Přihlašovat se jako uživatel root po počáteční konfiguraci je velmi špatný nápad.

V tuto chvíli byste od poskytovatele serveru měli mít IP adresu a root heslo. IP adresa je způsob, jak se k serveru připojit, a heslo vám umožní přihlásit se.

Začněte tím, že zadáte následující (nahraďte X IP adresou vašeho serveru) a stiskněte Enter:

`ssh [email protected]`

Naše IP adresa je 165.22.81.172, takže jsme ji zadali do našeho příkazu. Pokud vše půjde podle plánu, vzdálený server (kde bude Nextcloud) vás požádá o heslo. Zadejte heslo, které vám dal poskytovatel serveru.

Následně budete požádáni o nastavení nového hesla pro uživatele root. Vyberte si takové, které si budete pamatovat!

Nyní jste přihlášeni na vzdáleném serveru a je čas začít pracovat. Pro spuštění každého příkazu v tomto článku stiskněte po jeho zadání klávesu Enter.

Nejprve zadáme následující pro přidání nového uživatele na server:

`adduser ian`

Nahraďte „ian“ uživatelským jménem, které chcete používat. Po zadání tohoto příkazu budete vyzváni k zadání hesla pro nového uživatele. Poté, co tak učiníte, jsou ostatní údaje, které server vyžaduje, volitelné; pokud je nechcete poskytnout, pokračujte stisknutím klávesy Enter.

Dále zadáme následující pro udělení administrátorských práv našemu novému uživateli:

`usermod -aG sudo ian`

Opět nahraďte „ian“ uživatelským jménem, které jste si zvolili dříve.

Nyní otevřete druhé okno terminálu a zadejte následující, abyste se ujistili, že nové uživatelské účty fungují:

`ssh [email protected]`

Opět nahraďte výše uvedené svým uživatelským jménem a IP adresou vašeho serveru. Po zobrazení výzvy zadejte heslo, které jste si vytvořili pro tento uživatelský účet. Pokud to funguje, vraťte se do okna terminálu, kde jste přihlášeni jako root.

Nyní zadáme následující, abychom se ujistili, že firewall Ubuntu funguje správně:

`ufw povolit OpenSSH`
`ufw povolit`
`ufw stav`

Tento poslední příkaz `stav` by měl vrátit něco podobného obrázku níže a potvrdit, že firewall neblokuje SSH.

Část „80, 443/tcp“ ještě neuvidíte, ale k tomu se dostaneme později. Nyní zavřeme okno s uživatelem root a vrátíme se do druhého okna terminálu s běžným uživatelem.

Instalace Nextcloud

Bývaly doby, kdy jste museli konfigurovat a instalovat software Nextcloud, PHP, software webového serveru a databázi samostatně.

Mnohem jednodušší je používat oficiální balíček Snap, který se o všechno postará jedním jediným příkazem. Nemusíte se starat o databázi ani o to, zda váš web obsluhuje Apache nebo Nginx.

Pokud chcete vidět přesně, co balíček Snap nainstaluje (spoiler: je to zbytek zásobníku LAMP plus Redis), podívejte se na úložiště snapů Nextcloud na GitHubu.

Zadáme následující:

`sudo snap install nextcloud`

„Sudo“ na začátku povýší běžný uživatelský účet, takže má dočasná administrátorská práva. Budete vyzváni k zadání hesla. Pokud vše půjde dobře, za minutu nebo dvě bude Nextcloud nainstalován a (téměř) připraven k použití.

Dále zadáme následující pro vytvoření nového uživatelského účtu Nextcloud, který se bude moci přihlásit na naše stránky:

`sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple`

Místo „ianpaul“ zadejte uživatelské jméno, které chcete používat pro přihlášení do Nextcloud. Část „correctHorseBatteryStaple“ je naše heslo. Nepoužívejte ho – je převzato ze známého komiksu XKCD a je to jen příklad.

Práce s doménami

Abychom si ulehčili práci, nebudeme pro přístup k našemu serveru neustále používat IP adresu. Místo toho použijeme doménové jméno, které můžete opět získat za pouhý 1 dolar ročně. V našem příkladu budeme používat doménu wdzwdzTest.xyz.

Jakmile máte doménu, budete chtít spravovat nastavení DNS u vašeho registrátora domény (kde jste ji zakoupili) a nasměrovat je na poskytovatele serveru. Pokud si například vyberete DigitalOcean, tato nastavení budou ns1.digitalocean.com, ns2.digitalocean.com a ns3.digitalocean.com.

Dále přejděte na stránky svého poskytovatele serveru (například DigitalOcean, Linode nebo cokoli jste si vybrali) a přidejte novou doménu do svého účtu. Budete muset přidat záznam A, který ukazuje na vaši IP adresu, záznam CNAME, pokud nechcete neustále používat „www“, a záznamy NS, pokud nebyly přidány automaticky.

Obrázek níže ukazuje příklad z DigitalOcean.

Technicky může trvat až 24 hodin, než bude vaše doména dostupná, ale obvykle začne fungovat během několika minut.

Zpět k Nextcloudu

S nastavenou doménou se můžeme vrátit k dokončení konfigurace Nextcloudu v terminálu. Pokud jste se odhlásili ze serveru pomocí svého běžného uživatelského účtu ([email protected] v našem případě), přihlaste se zpět.

Nyní zadáme následující pro přidání naší nové domény do Nextcloud:

`sudo nextcloud.occ config:system:set trusted_domains 1 –value=wdzwdztest.xyz`

Za „–value=“ zadejte svou doménu, nikoli naši (wdzwdztest.xyz).

Dále zadáme následující, abychom se ujistili, že naše nová doména byla přidána správně:

`sudo nextcloud.occ config:system:get trusted_domains`

Terminál by měl vypsat něco podobného obrázku níže.

Dále zadáme následující, abychom se ujistili, že můžeme používat požadované porty tím, že je povolíme v bráně firewall:

`sudo ufw allow 80 443/tcp`

Port 80 se používá pro nešifrovaný HTTP provoz, zatímco port 443 je pro SSL/TLS.

Když už jsme u toho, budeme potřebovat bezplatný SSL/TLS certifikát od Let’s Encrypt, takže zadáme následující:

`sudo nextcloud.enable-https lets-encrypt`

Jakmile se spustí generátor Let’s Encrypt, požádá vás o e-mailovou adresu a název vaší domény Nextcloud. Postupujte podle pokynů a během chvilky byste měli mít zabezpečený certifikát pro vaši webovou stránku. Pokud Let’s Encrypt fungoval, je čas otestovat nastavení.

Přejděte na svou novou doménu (například naši wdzwdztest.xyz). Měli byste vidět přihlašovací stránku Nextcloud (viz obrázek níže) s ikonou zámku v adresním řádku.

Pokud vidíte přihlašovací stránku, jste připraveni. Pokud ne, počkejte několik hodin a zkuste to znovu. Pokud chcete problém vyřešit okamžitě, můžete zjistit, zda server odpovídá prostřednictvím IP adresy.

Aby to fungovalo, musíme zadat následující pro přidání IP adresy do našich důvěryhodných domén:

`sudo nextcloud.occ config:system:set trusted_domains 2 –value=165.22.81.172`

Všimněte si, že jsme použili „trusted_domains 2“, a nikoli „trusted_domains 1“. Pokud zopakujete pouze „trusted_domains 1“, přepíšete svůj skutečný název domény v seznamu důvěryhodných domén a nebudete ji moci používat.

Jakmile to provedete, zadejte IP adresu do adresního řádku prohlížeče a měla by se zobrazit přihlašovací stránka. Pokud se tak nestane, něco se při instalaci pokazilo.

Vzhledem k tomu, že pro IP adresu nemáme certifikát SSL, nebude možné se bezpečně přihlásit. Z tohoto důvodu doporučujeme odstranit IP adresu ze seznamu důvěryhodných domén poté, co se ujistíte, že server funguje. Chcete-li to provést, zadejte následující příkaz:

`sudo nextcloud.occ config:system:delete trusted_domains 2`

Zvýšení výkonu

Pokud váš server Nextcloud nepracuje dobře, možná budete muset zvýšit limit paměti. Ve výchozím nastavení je to 128 MB. Chcete-li ho zvýšit na 512 MB, přihlaste se na server pomocí terminálu a zadejte následující:

`sudo snap set nextcloud php.memory-limit=512M`.

Nyní, když je Nextcloud spuštěn, můžete se přihlásit, prohlížet dostupné aplikace, sdílet soubory s ostatními a nainstalovat Nextcloud na svůj počítač a mobilní zařízení pro synchronizaci mezi více zařízeními. Nextcloud nabízí synchronizační nástroje pro počítače a mobilní aplikace pro Windows, Mac, Linux, iPhone, iPad a Android.

Vítejte ve svém osobním cloudovém úložišti!