Anonim

Cloudové úložisko je vynikajúci spôsob, ako chrániť vaše súbory v prípade, že sa niečo stane a počítač sa stratí alebo poškodí. Môže vám pomôcť pristupovať k svojim súborom na cestách alebo z práce a pomáha vám udržiavať všetko synchronizované na všetkých vašich zariadeniach.

Cloudové úložisko má však jednu zásadnú nevýhodu. Musíte dôverovať niektorej spoločnosti so všetkými vašimi osobnými súbormi. Čo sa stane, ak sa dostanú hackeri? Sú skutočne všetci dôveryhodní, alebo prechádzajú vašimi vecami, keď sa nepozeráte? To nie je možné vedieť s istotou.

Existuje aj iná možnosť. S Nextcloud môžete hostiť svoje vlastné cloudové úložisko. Nextcloud je riešenie cloudového úložiska s otvoreným zdrojovým kódom, ktoré vám umožní byť vašou vlastnou spoločnosťou v oblasti cloudových úložísk. Má ľahko použiteľné a čisté rozhranie a sprievodné aplikácie pre všetky vaše zariadenia, takže sa nemusíte zaoberať niektorými hacknutými nevyžiadanými.

Táto príručka sa zameria na hosting servera Nextcloud na serveri VPS (Virtual Private Server), ale môžete ho spustiť aj lokálne vo svojej domácej sieti. Nečakajte, že k nemu získate prístup zvonka, pokiaľ nenastavíte presmerovanie portov alebo nepoužívate VPN. Niektoré z týchto krokov by boli trochu iné a nemusíte kupovať názov domény ani nastavovať certifikáty SSL.

Vyberte Hosť

Rýchle odkazy

  • Vyberte Hosť
  • Nainštalujte, čo potrebujete
  • Nastavte firewall
  • Konfigurovať SSH
    • Kľúče SSH
      • windows
      • Mac a Linux
    • Zakážte root a heslá
  • Nakonfigurujte svoju databázu
  • Konfigurácia PHP
  • Získajte Nextcloud
  • Vytvorte certifikáty SSL
  • Konfigurovať Nginx
  • Spustite program Nextcloud

Za predpokladu, že idete so skutočným cloudovým riešením a chcete, aby boli vaše súbory prístupné na webe, musíte nastaviť VPS, aby hostil server Nextcloud. Existuje niekoľko skvelých možností, takže si vyberte, čo sa vám zdá najlepšie. Pozrite sa na Linode, DigitalOcean a Gandi, ak ešte nemáte hostiteľa na mysli.

Táto príručka bude používať operačný systém servera Debian 9 „Stretch“. Debian je v predvolenom nastavení super stabilný a pomerne bezpečný. Je tiež dobre podporovaná väčšinou hostingových platforiem. Ak vám vyhovuje Ubuntu, väčšina z toho sa bude uplatňovať aj tam, pretože Ubuntu je založené na Debiane.

Musíte tiež získať názov domény pre svoj server. Keďže sa nejedná o verejnú stránku, môžete si ju naozaj vytvoriť podľa svojho želania. Proces nákupu a prepojenia názvu domény je odlišný pre každého hostiteľa a poskytovateľa názvu domény, preto si skontrolujte dokumentáciu poskytovanú službami, ktoré vyberiete.

Všetko tu bude spracované na diaľku z príkazového riadka systému Linux. Takže, ak ste na Mac alebo Linux, stačí otvoriť terminál a použiť SSH na prístup k VPS. Ak ste v systéme Windows, zoberte klienta SSH, ako je napríklad PuTTY .

Nainštalujte, čo potrebujete

Existuje veľa kusov tejto hádanky. Môžete ich všetky aj teraz chytiť, takže odtiaľto budete musieť pokračovať. Debian zvyčajne nemá nainštalované sudo, takže ho najprv vezmite a nastavte.

$ su -c 'apt install sudo'

Zadajte svoje root heslo a nainštaluje sa Sudo. Potom musíte pridať používateľa do skupiny sudo.

$ su -c 'gpasswd -a užívateľské meno sudo'

Teraz môžete použiť sudo. Ak to nefunguje okamžite, možno sa budete musieť znova prihlásiť. Od tejto chvíle budete namiesto toho používať sudo, najmä preto, že z bezpečnostných dôvodov vypnete root root.

Teraz uchopte všetko z úložísk 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 firewall

Váš server je na internete. Neexistuje žiadny spôsob, ako to obísť, a to znamená, že sa budete musieť vysporiadať s útočníkmi. Nastavenie jednoduchého brány firewall pomôže predchádzať mnohým potenciálnym hrozbám.

Namiesto priameho použitia iptables môžete na zabezpečenie vášho systému použiť UFW (nekomplikovaný firewall). Má jednoduchšiu syntax a práca s ním je omnoho jednoduchšia.

Začnite vypnutím všetkého vo firewalle. Toto nastaví predvolenú politiku na odmietnutie pripojení ku všetkým službám a portom, čím sa zabezpečí, aby sa útočníci nemohli pripojiť na nejaký zabudnutý port.

$ sudo ufw default zamietnuť prichádzajúce

$ sudo ufw default deny outdo $ sudo ufw default deny forward

Ďalej môžete povedať, ufw, ktoré služby chcete povoliť. V takom prípade potrebujete iba SSH a prístup na web. Budete tiež chcieť povoliť NTP a DNS, aby váš server mohol získavať aktualizácie a nastavovať svoje hodiny.

$ sudo ufw povoliť v ssh $ sudo ufw povoliť ssh $ sudo ufw povoliť v http $ sudo ufw povoliť http $ sudo ufw povoliť v https $ sudo ufw povoliť https $ sudo ufw povoliť v NT $ $ sudo ufw povoliť ntp $ sudo ufw povoliť v 53 $ sudo ufw povoliť 53 $ sudo ufw povoliť v 67 $ sudo ufw povoliť 67

Teraz môžete spustiť bránu firewall. Dá vám varovanie pred prerušením SSH, ale SSH ste už povolili, takže budete v poriadku.

$ sudo ufw povoliť

Konfigurovať SSH

SSH je jednou z najčastejšie napadnutých služieb na serveroch Linux. Je to brána do všetkého ostatného na serveri a zvyčajne je chránená iba heslom. Preto je dôležité uistiť sa, že váš server nie je pre útočníkov ľahko prístupný cez SSH.

Kľúče SSH

Najprv musíte nastaviť oveľa bezpečnejšiu alternatívu k heslu, kľúču SSH. Tento proces je iný v systéme Windows ako v systéme Mac a Linux, preto postupujte podľa pokynov, ktoré sa hodia pre vašu pracovnú plochu.

windows

Rovnako ako v prípade systému Windows, na dokončenie tejto jednoduchej úlohy potrebujete ďalší program. PuTTYgen je generátor kľúčov RSA pre PuTTY. Je k dispozícii na stránke na stiahnutie PuTTY . Stiahnite si ho a spustite ho.

V okne, ktoré sa otvorí, pomenujte kľúč a vytvorte preň heslo. Je to heslo, ktoré budete používať na prihlásenie na server. V spodnej časti vyberte SSH-2 RSA a nastavte veľkosť kľúča najmenej 2048 bitov. 4096 je lepšie, ale 2048 bude o niečo rýchlejší. Potom vygenerujte svoje kľúče a uložte verejné aj súkromné ​​kľúče. Nakoniec skopírujte verejný kľúč, ktorý sa zobrazuje v hornej časti okna.

Na pripojenie k serveru použite PuTTY. Otvorte súbor na ~ / .ssh / autorizované_keys a vložte kľúč do.

Späť v PuTTY nájdete SSH v bočnom menu. Potom otvorte „Auth“. V poli pre otočný kľúč prejdite na umiestnenie súkromného kľúča, ktorý ste práve uložili. Keď je všetko v PuTTY nastavené pre váš server, uložte reláciu. Skôr ako začnete, vyskúšajte si to, či sa pripájate pomocou kľúča.

Mac a Linux

Používatelia počítačov Mac a Linux tu majú oveľa jednoduchšiu cestu. Začnite vygenerovaním kľúča SSH, ak ho ešte nemáte. Máte možnosť vytvoriť heslo pre kľúč. Je voliteľný, takže je to váš hovor.

$ ssh-keygen -b 4096 -t rsa

Teraz stačí poslať svoj kľúč na server. Zadajte svoje používateľské meno a IP servera.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub

To je všetko!

Zakážte root a heslá

Po nastavení kľúča môžete deaktivovať heslá pre SSH. Nebojte sa, ak nastavíte kľúč pomocou hesla. To je niečo iné a to na to vôbec nebude mať vplyv. Otvorte konfiguračný súbor SSH na / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Nájdite riadok, ktorý znie:

#PermitRootLogin prohibit-password

Zmeniť na:

PermitRootLogin no

Ďalej nájdite dva riadky:

#PasswordAuthentication yes #PermitEmptyPasswords no

Zmeňte ich na:

HesloAuthentication no PermitEmptyPasswords no

Nakoniec nájdite:

UsePAM áno

Urobiť to:

UsePAM no

Uložte súbor a zatvorte ho. Potom reštartujte SSH. Mohlo by vás to vykopnúť, takže ak sa tak stane, znova sa pripojte.

$ sudo systemctl reštart sshd

Nakonfigurujte svoju databázu

Ďalšiu vec, ktorú musíte urobiť, je nakonfigurovať svoju databázu. Naozaj tu nie je veľa, takže sa nemusíte príliš obávať. Na prístup do Nextcloud stačí nastaviť užívateľskú a prázdnu databázu.

V skutočnosti existuje vhodný skript na nastavenie a zabezpečenie MariaDB pre vás. Spustite ho ako prvý.

$ sudo mysql_secure_installation

Predvolené heslo root je prázdne, takže sa zobrazí výzva „Enter“. Potom vás požiada o nastavenie hesla root. Urob to. Odpovedzte „Áno“ na každú nasledujúcu otázku.

Do databázy sa môžete prihlásiť pomocou root hesla, ktoré ste práve nastavili.

$ sudo mysql -u root -p

Výzva sa zmení na MariaDB. Toto je konzola pre správu databázového servera. Začnite vytvorením novej databázy. Počíta sa tu kapitalizácia.

CREATE DATABASE nextcloud;

Potom vytvorte používateľa pre túto databázu.

VYTVORTE UŽÍVATEĽA `nextcloud` @` localhost` IDENTIFIKOVANÉ PODĽA „PasswordForUser“;

Potom tomuto používateľovi udelte povolenie na používanie databázy.

GRANT ALL ON nextcloud. * TO `nextcloud` @` localhost`;

To je všetko! Databázový server môžete teraz opustiť.

q

Konfigurácia PHP

Nextcloud je napísaný v PHP. Nainštalovali ste už najnovšiu verziu PHP dostupnú v systéme Debian Stretch spolu s rozšíreniami PHP, ktoré musí Nextcloud správne fungovať. Stále musíte urobiť pár vylepšení v konfigurácii PHP, aby to uľahčilo prácu s Nginx.

Naozaj potrebuje iba niekoľko základných bezpečnostných vylepšení. Nejde o nič zásadné, ale pomôžu vám zlepšiť bezpečnosť vášho servera.

Otvorte /etc/php/7.0/fpm/php.ini pomocou sudo a vášho obľúbeného textového editora.

Súbor je rozsiahly, takže na navigáciu v okolí použite funkciu prehľadávania vášho editora. Ak ste používali Nano, je to Ctrl + W. Prvá voľba, ktorú musíte nájsť, je vypnúť_funkcie. Na konci pridajte add phpinfo, system, mail, exec.

Potom vyhľadajte sql.safe_mode a zapnite ho. Ďalej vypnite funkciu allow_url_fopen. Na koniec súboru pridajte nasledujúci riadok, uložte ho a zatvorte ho.

register_globals = Off

Získajte Nextcloud

Nextcloud zatiaľ nie je k dispozícii ako balíček pre Debian, a to je v poriadku. Naozaj to nepotrebujete. Je to podobné ako iné preddefinované webové aplikácie PHP, napríklad WordPress, a prichádza v komprimovanom archíve, ktorý môžete extrahovať tam, kam chcete nainštalovať Nextcloud.

Od tohto momentu je najnovšou stabilnou verziou Nextcloud, keď ju čítate, znova skontrolujte, aká je pre vás najnovšia verzia. Sprievodca sa bude vzťahovať na 12, ale použite to, čo je posledné stabilné.

Prejdite do adresára, do ktorého chcete stiahnuť archív Nextcloud. Potom ho zmeňte na / var / www.

$ cd ~ / Downloads $ 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

Ak to čítate v budúcnosti, nájdete odkaz na stiahnutie na stránke inštalácie servera Nextcloud.

Nakoniec zmeňte vlastníctvo svojej inštalácie Nextcloud na www-data.

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

Vytvorte certifikáty SSL

Vytvorenie certifikátov SSL je vďaka Certbot veľmi jednoduché. Certbot pre vás automaticky vygeneruje vaše certifikáty SSL a umiestni ich do webového koreňa ktorejkoľvek stránky, pre ktorú ich vytvárate. Stačí spustiť jediný príkaz.

$ sudo certbot certonly - webroot -w / var / www / nextcloud -d your-domain.com -d www.your-domain.com

Keďže je to váš prvý spustený program Certbot, požiada o e-mailovú adresu. Použije túto adresu, aby vás upozornil, keď platnosť vašich certifikátov vyprší. Ľahko ich môžete obnoviť aj jediným príkazom.

Obnovenie sudo $ sudo

Konfigurovať Nginx

Nginx je ľahký, ale výkonný webový server. Bude slúžiť rozhraniu, ktoré používate na prístup k Nextcloud. K Nginxu je priradených niekoľko konfiguračných súborov. Prvou je hlavná konfigurácia umiestnená na /etc/nginx/nginx.conf. Toto je hlavný konfiguračný súbor, má však solídne predvolené hodnoty. Môžete si s tým zahrať, ak viete, čo robíte, ale môžete to nechať na pokoji a byť v poriadku.

Ďalšia konfigurácia je oveľa dlhšia a zložitejšia. Našťastie to nemusíte písať všetko. Nextcloud devs to už urobil. Musíte ju iba upraviť. Konfiguračný súbor sa nachádza na lokalite Nextcloud . Chopte sa toho pre webroot Nginxu. Vytvorte nový súbor na / etc / nginx / sites-available / nextcloud a vložte ho do.

Akonáhle budete mať súbor, musíte urobiť niekoľko jednoduchých zmien. Najprv nájdite blok proti prúdu a zmeňte ho tak, aby vyzeral takto:

upstream php-handler {unix servera: /run/php/php7.0-fpm.sock; }

Potom vyhľadajte kdekoľvek, kde sa hovorí cloud.example.com, a zmeňte ho na názov svojej domény.

Posledné, čo musíte urobiť, je poukázať Nginx na vaše SSL certifikáty. Zmeňte riadky:

ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

Ak chcete:

ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

To je všetko! Ďalej ho musíte prepojiť, aby ho Nginx mohol nájsť.

$ cd / etc / nginx / sites-enabled $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud

Odstráňte existujúce predvolené nastavenie.

Predvolené $ sudo rm

Reštartujte PHP a Nginx a budete mať prístup k Nextcloud!

$ sudo systemctl reštart php7.0-fpm $ sudo systemctl reštart nginx

Spustite program Nextcloud

Otvorte webový prehľadávač a prejdite na názov svojej domény. Uvítame vás obrazovka nastavenia Nextcloud. Vytvorte si účet správcu a zadajte informácie pre databázový účet, ktorý ste vytvorili.

Konfigurácia a inštalácia systému Nextcloud bude trvať niekoľko minút. Po dokončení budete presmerovaní na nový hlavný panel Nextcloud. Odtiaľ môžete vytvárať nových používateľov a umožniť tak ľuďom, ktorým dôverujete, nové úložisko cloud. Môžete tiež začať okamžite nahrávať súbory.

To je všetko! Teraz máte svoj vlastný súkromný cloud!

Vytvorte si svoj vlastný súkromný cloud pomocou nextcloud