Cloudové úložiště je vynikajícím způsobem, jak zabezpečit vaše soubory v případě, že se něco stane a počítač bude ztracen nebo poškozen. Může vám pomoci přistupovat k souborům na cestách nebo z práce a pomůže vám udržet vše synchronizované na všech vašich zařízeních.
Cloudové úložiště má však jednu hlavní nevýhodu. Musíte důvěřovat některé společnosti se všemi vašimi osobními soubory. Co se stane, když se dostanou do hacků? Jsou to opravdu všichni důvěryhodní, nebo procházejí vašimi věcmi, když se nedíváte? Není opravdu možné to s jistotou vědět.
Existuje i jiná možnost. S Nextcloud můžete hostovat své vlastní cloudové úložiště. Nextcloud je řešení cloudového úložiště s otevřeným zdrojovým kódem, které vám umožní být vaší vlastní společností pro ukládání cloudů. Má snadno použitelné a čisté rozhraní a doprovodné aplikace pro všechna vaše zařízení, takže se nemusíte zabývat některými hacknutými nevyžádanými.
Tato příručka se zaměří na hostování Nextcloud na VPS (Virtual Private Server), ale můžete ho také spustit lokálně ve vaší domácí síti. Jen neočekávejte, že k němu budete mít přístup zvenčí, pokud nenastavíte přeposílání portů nebo nepoužíváte VPN. Některé kroky by byly trochu jiné a nemusíte kupovat doménové jméno ani nastavovat certifikáty SSL.
Zvolte Host
Rychlé odkazy
- Zvolte Host
- Nainstalujte, co potřebujete
- Nastavte si firewall
- Nakonfigurujte SSH
- Klíče SSH
- Okna
- Mac a Linux
- Zakázat kořen a hesla
- Klíče SSH
- Konfigurace databáze
- Konfigurace PHP
- Získejte Nextcloud
- Vytvořte SSL certifikáty
- Nakonfigurujte Nginx
- Spustit Nextcloud
Za předpokladu, že se chystáte s opravdovým cloudovým řešením a chcete, aby vaše soubory byly přístupné přes web, musíte nastavit VPS, aby hostoval server Nextcloud. Existuje několik skvělých možností tam, takže vyberte, co se vám zdá nejlepší. Podívejte se na Linode, DigitalOcean a Gandi, pokud ještě nemáte hostitele na mysli.
Tato příručka bude používat operační systém Debian 9 „Stretch“. Debian je ve výchozím nastavení super stabilní a poměrně bezpečný. Je také dobře podporována většinou hostitelských platforem. Pokud jste s Ubuntu pohodlnější, většina z toho bude platit i tam, protože Ubuntu je založeno na Debianu.
Musíte také získat název domény pro svůj server. Protože se nejedná o veřejný web, můžete jej opravdu vytvořit cokoli, co se vám líbí. Proces nákupu a propojení doménového jména se u každého hostitele a poskytovatele doménového jména liší, proto si zkontrolujte dokumentaci poskytovanou vybranými službami.
Všechno zde bude zpracováno vzdáleně z příkazového řádku systému Linux. Pokud tedy používáte Mac nebo Linux, stačí otevřít terminál a použít SSH pro přístup k VPS. POKUD jste na Windows, chytněte SSH klienta, jako je PuTTY .
Nainstalujte, co potřebujete
K této hádance je spousta kusů. Nyní je můžete všechny všechny chytit, takže odtud budete muset pokračovat. Ve výchozím nastavení nemá Debian nainstalován sudo, takže ho nejprve vezměte a nastavte.
$ su -c 'apt install sudo'
Zadejte své root heslo a nainstaluje se Sudo. Poté musíte přidat uživatele do skupiny sudo.
$ su -c 'gpasswd -a uživatelské jméno sudo'
Nyní můžete použít sudo. Pokud to nepracuje okamžitě, možná se budete muset znovu přihlásit. Od této chvíle budete místo toho používat sudo, zejména proto, že z bezpečnostních důvodů vypnete root přihlášení.
Nyní uchopte vše z depozitářů Debianu.
$ sudo apt install ufw mariadb-server nginx certbot php php-mysql php-fpm php-cli php-json php-curl php-imap php-gd php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring
Nastavte si firewall
Váš server je na internetu. Neexistuje žádný způsob, jak to obejít, a to znamená, že se budete muset vypořádat s útočníky. Nastavení jednoduchého firewallu pomůže zabránit mnoha potenciálním hrozbám.
Namísto přímého použití iptables můžete k zabezpečení vašeho systému použít UFW (nekomplikovaný firewall). Má jednodušší syntaxi a je s ním mnohem snazší pracovat.
Začněte tím, že zakážete vše v bráně firewall. Tím nastavíte výchozí zásadu, která zakáže připojení ke všem službám a portům, a zajistí, aby se útočníci nemohli připojit k nějakému zapomenutému portu.
$ sudo ufw default odepřít příchozí
$ sudo ufw default deny outdo $ sudo ufw default deny forward
Dále můžete ufw říct, které služby chcete povolit. V tomto případě potřebujete pouze SSH a přístup na web. Budete také chtít povolit NTP a DNS, aby váš server mohl načíst aktualizace a nastavit hodiny.
$ sudo ufw povolit v ssh $ sudo ufw povolit ssh $ sudo ufw povolit v http $ sudo ufw povolit http $ sudo ufw povolit v https $ sudo ufw povolit https $ sudo ufw povolit v NT $ $ sudo ufw povolit ntp $ sudo ufw povolit v 53 $ sudo ufw povolit 53 $ sudo ufw povolit v 67 $ sudo ufw povolit 67
Nyní můžete spustit firewall. Dá vám varování o narušení SSH, ale SSH jste již povolili, takže budete v pořádku.
Nakonfigurujte SSH
SSH je jednou z nejčastěji napadených služeb na serverech Linux. Je to brána ke všem ostatním na serveru a obvykle je chráněna pouze heslem. Proto je důležité zajistit, aby váš server nebyl snadno přístupný útočníkům přes SSH.
Klíče SSH
Nejprve musíte nastavit mnohem bezpečnější alternativu k heslu, SSH klíč. Tento proces se u Windows liší od Macu a Linuxu, proto se řiďte pokyny, které odpovídají vaší ploše.
Okna
Stejně jako v případě systému Windows potřebujete k dokončení tohoto jednoduchého úkolu ještě další program. PuTTYgen je generátor klíčů RSA pro PuTTY. Je k dispozici na stránce stahování PuTTY . Stáhněte si ji a spusťte ji.
V okně, které se otevře, pojmenujte klíč a vytvořte pro něj heslo. Je to heslo, které budete používat k přihlášení k serveru. Ve spodní části vyberte SSH-2 RSA a nastavte velikost klíče alespoň 2048 bitů. 4096 je lepší, ale 2048 bude o něco rychlejší. Poté vygenerujte své klíče a uložte veřejné i soukromé klíče. Nakonec zkopírujte veřejný klíč, který se zobrazí v horní části okna.
Pro připojení k serveru použijte PuTTY. Otevřete soubor na ~ / .ssh / autorizované_keys a vložte klíč do.
Zpět v PuTTY vyhledejte SSH v postranním menu. Poté otevřete „Auth“. V poli pro otočný klíč vyhledejte umístění soukromého klíče, který jste právě uložili. Když je vše v PuTTY nastaveno pro váš server, uložte relaci. Vyzkoušejte to a ujistěte se, že jste se spojili s klíčem, než začnete dál.
Mac a Linux
Uživatelé počítačů Mac a Linux zde mají mnohem jednodušší cestu. Začněte generováním klíče SSH, pokud jej ještě nemáte. Máte možnost vytvořit heslo pro klíč. Je volitelný, takže je to váš hovor.
$ ssh-keygen -b 4096 -t rsa
Nyní pošlete svůj klíč na server. Nahraďte své uživatelské jméno a IP serveru.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub
A je to!
Zakázat kořen a hesla
Po nastavení klíče můžete deaktivovat hesla pro SSH. Nebojte se, pokud nastavíte klíč pomocí hesla. To je něco jiného, a to to nijak neovlivní. Otevřete konfigurační soubor SSH na / etc / ssh / sshd_config.
$ sudo nano / etc / ssh / sshd_config
Najděte řádek, který zní:
#PermitRootLogin prohibit-password
Změnit na:
PermitRootLogin no
Dále najděte dva řádky:
#PasswordAuthentication yes #PermitEmptyPasswords no
Změňte je na:
HesloAuthentication no PermitEmptyPasswords no
Nakonec najděte:
UsePAM ano
Udělej to:
UsePAM no
Uložte soubor a zavřete jej. Poté restartujte SSH. Mohlo by vás to vykopnout, takže pokud ano, znovu se připojte.
Konfigurace databáze
Další věc, kterou musíte udělat, je nakonfigurovat databázi. Opravdu tu není moc zapojeno, takže se nebojte. Pro přístup do Nextcloud stačí nastavit uživatele a prázdnou databázi.
Ve skutečnosti existuje vhodný skript pro nastavení a zabezpečení MariaDB pro vás. Spusťte to jako první.
$ sudo mysql_secure_installation
Výchozí heslo uživatele root je prázdné, takže se zobrazí dotaz „Enter“. Poté vás požádá o nastavení hesla root. Udělej to. Odpovězte „Ano“ na každou následující otázku.
Do databáze se můžete přihlásit pomocí rootova hesla, které jste právě nastavili.
$ sudo mysql -u root -p
Výzva se změní na MariaDB. Toto je konzole pro správu databázového serveru. Začněte vytvořením nové databáze. Počítá se zde velká písmena.
VYTVOŘIT DATABÁZE nextcloud;
Dále vytvořte uživatele pro tuto databázi.
VYTVOŘTE UŽIVATELE `nextcloud` @` localhost` IDENTIFIKOVANÉ „PasswordForUser“;
Poté udělte tomuto uživateli oprávnění k používání databáze.
GRANT ALL ON nextcloud. * TO `nextcloud` @` localhost`;
A je to! Databázový server můžete nyní opustit.
Konfigurace PHP
Nextcloud je napsán v PHP. Již jste nainstalovali nejnovější verzi PHP dostupnou na Debian Stretch spolu s rozšířeními PHP, které Nextcloud potřebuje, aby správně fungovaly. Stále musíte udělat pár vylepšení v konfiguraci PHP, aby to usnadnilo práci s Nginx.
Je to opravdu jen potřebuje nějaké základní bezpečnostní vylepšení. Nejedná se o nic zásadního, ale pomohou zlepšit zabezpečení vašeho serveru.
Otevřete /etc/php/7.0/fpm/php.ini pomocí sudo a vašeho oblíbeného textového editoru.
Soubor je obrovský, takže k procházení můžete použít vyhledávací funkci editora. Pokud používáte Nano, je to Ctrl + W. První možnost, kterou potřebujete najít, je disable_functions. Nakonec přidejte add phpinfo, system, mail, exec.
Poté vyhledejte sql.safe_mode a zapněte jej. Dále vypněte volbu allow_url_fopen. Na konec souboru přidejte následující řádek, uložte jej a zavřete.
Získejte Nextcloud
Nextcloud zatím není k dispozici jako balíček pro Debian, a to je v pořádku. Opravdu to nepotřebujete. Je to hodně podobné jiným předdefinovaným webovým aplikacím PHP, jako je WordPress, a přichází v komprimovaném archivu, který můžete extrahovat tam, kam chcete nainstalovat Nextcloud.
Od nynějška je nejnovější stabilní verzí Nextcloud, když ji čtete, znovu zkontrolujte, jaká je pro vás nejnovější verze. Průvodce se bude odkazovat na 12, ale použijte jakýkoli nejnovější stabilní.
Přejděte do adresáře, do kterého chcete stáhnout svůj archiv Nextcloud. Poté přejděte do / var / www a extrahujte.
$ cd ~ / Stahování $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2 $ cd / var / www $ sudo tar xjpf ~ / Downloads / nextcloud-12.0.3. tar.bz2
Pokud to čtete v budoucnu, najdete odkaz ke stažení na stránce instalace serveru Nextcloud.
Nakonec změňte vlastnictví vaší instalace Nextcloud na www-data.
$ sudo chown -R www-data: www-data / var / www / nextcloud
Vytvořte SSL certifikáty
Vytváření certifikátů SSL je díky Certbot velmi snadné. Certbot automaticky vygeneruje vaše SSL certifikáty a umístí je do webového kořenového adresáře toho webu, pro který je vytváříte. Stačí spustit jediný příkaz.
$ sudo certbot certonly - webroot -w / var / www / nextcloud -d your-domain.com -d www.your-domain.com
Protože Certbot poprvé provozuje, požádá o e-mailovou adresu. Použije tuto adresu, aby vás varoval, jakmile vyprší platnost vašich certifikátů. Můžete je snadno obnovit jediným příkazem.
Nakonfigurujte Nginx
Nginx je lehký, ale výkonný webový server. Bude sloužit rozhraní, které používáte pro přístup k Nextcloud. S Nginxem je spojeno několik konfiguračních souborů. První z nich je hlavní konfigurace umístěná na /etc/nginx/nginx.conf. To je hlavní konfigurační soubor, ale má solidní výchozí hodnoty. Můžete si s tím hrát, pokud víte, co děláte, ale můžete to nechat na pokoji a být také v pořádku.
Další konfigurace je mnohem delší a složitější. Naštěstí to nemusíte psát všechno. Nextcloud devs už to udělali. Stačí to upravit. Konfigurační soubor je umístěn na webu Nextcloud . Popadni ten pro webroot Nginxu. Vytvořte nový soubor na / etc / nginx / sites-available / nextcloud a vložte jej do.
Jakmile budete mít soubor, musíte provést několik jednoduchých změn. Nejprve najděte blok proti proudu a změňte jej tak, aby vypadal takto:
upstream php-handler {unix serveru: /run/php/php7.0-fpm.sock; }
Poté najděte kdekoli, kde se říká cloud.example.com, a změňte jej na název vaší domény.
Poslední věc, kterou musíte udělat, je nasměrovat Nginx na vaše SSL certifikáty. Změnit řádky:
ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;
Na:
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
A je to! Dále ji musíte propojit, aby ji Nginx mohl najít.
$ cd / etc / nginx / sites-enabled $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud
Odstraňte existující výchozí nastavení.
$ sudo rm default
Restartujte PHP a Nginx a budete mít přístup k Nextcloud!
$ sudo systemctl restart php7.0-fpm $ sudo systemctl restart nginx
Spustit Nextcloud
Otevřete webový prohlížeč a přejděte na své doménové jméno. Uvítá vás obrazovka nastavení Nextcloud. Vytvořte si účet správce a zadejte informace o vytvořeném účtu databáze.
Nextcloud bude trvat několik minut, než se nakonfiguruje a nainstaluje. Až skončí, budete přeskočeni do svého nového dashboardu Nextcloud. Odtud můžete vytvářet nové uživatele a umožnit tak lidem, kterým důvěřujete, do nového cloudového úložiště. Můžete také okamžitě začít nahrávat soubory.
A je to! Nyní máte svůj vlastní privátní cloud!
