Postavte si vlastné online úložisko

Ukladanie súborov v cloude, privátne video hovory, zdieľanie obrazovky a upravovanie dokumentov online už dávno nie je výsadou služieb veľkých spoločností.

Bezpečne zašifrované dáta a komunikácia nemusia opustiť vaše servery. Ak by ich niekto ukradol, ostane mu v rukách len železo.

V predchádzajúcich článkoch je krok po kroku rozpísané, ako nainštalovať LAMP server. Nemá to nič spoločné s osvetlením. Je to základ pre webové aplikácie, ktorou je aj online úložisko. Ak máte na svojom Linux servery Apache, MySQL a PHP, ste pripravený nainštalovať NextCloud.

Nie je to ďalšia online služba, ale sada PHP skriptov, ktorú môžte nainštalovať na svojom servery a mať všetko pod kontrolou.

Stiahnite si inštalačné skripty NextCloud na stránke https://nextcloud.com/install/#instructions-server

Skopírujte aktuálnu adresu do schránky kliknutím na vyznačenú linku pravým tlačidlom myši.

Web NextCloud na stiahnutie inštalačných skriptov

Pripojte sa k linuxu a prejdite do adresára pre dočasné súbory /tmp

Pomocou príkazu wget stiahnite inštalačné skripty NextCloud priamo v Linuxe.

Ak kliknete pravým tlačidlom myši do PuTTY doplníte začatý príkaz wget.

cd /tmp

wget https://download.nextcloud.com/server/releases/nextcloud-19.0.0.zip

Stiahntie inštalačných súborov NextCloud v programe PuTTY

Nainštalujte program unzip na rozbaľovanie komprimovaných súborov zip

Najprv aktualizujte manažér balíčkov. Zadajte príkazy:

sudo apt update

sudo apt install unzip

Po prvom použití sudo alebo po dlhšom čase budete musieť zadať ROOT heslo.

inštalácia programu unzip

Rozpakujte balíček NextCloud a pre kopírujte ho do adresára Apache:

unzip nextcloud-19.0.0.zip

sudo mv nextcloud /var/www/nextcloud

Nastavte správne práva pre web adresár NextCloud:

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

sudo chmod -R 755 /var/www/nextcloud/

chown a chmod v PuTTY

Nainštalujte knižnice php, ktoré NextCloud potrebuje:

sudo apt install php-imagick

sudo apt install php7.4-common

sudo apt install php7.4-mysql

sudo apt install php7.4-fpm

sudo apt install php7.4-gd

sudo apt install php7.4-json

sudo apt install php7.4-curl

sudo apt install php7.4-zip

sudo apt install php7.4-xml

sudo apt install php7.4-mbstring

sudo apt install php7.4-bz2

sudo apt install php7.4-intl

Inštaláciu potvrďte tlačidlom Y na klávesnici a stlačte Enter.

priebeh inštalácie v PuTTY

Čo budete potrebovať na prístup zvonka?

Ak chcete svoje online úložisko využívať plnohodnotne, budete sa naň chcieť pripojiť z ktoréhokoľvek miesta na svete.

K tomu potrebujete verejnú statickú (pevnú) IPv4 adresu. Zistite u vášho providera internetu, či má vaše pripojenie verejnú statickú IPv4 adresu.

Operátori si za to účtujú poplatok. V Telekome je to pomerne lacné – zaplatíte okolo 4 Eur mesačne. V rokoch 2005 až 2016 boli takmer všetky IP adresy veľkých operátorov verejné a menili sa zriedka.

Po roku 2016 niektorí operátori pri nových zmluvách začali používať rôzne neverejné adresy IPv6 bez možnosti presmerovania portov. Tieto fungovať nebudú. Budete preto možno pre váš server hľadať server hosting alebo si postaviť server vo verejnom cloude. Existujú ešte iné riešenia, o tých budem písať neskôr.

Pravdepodobne nebudete chcieť pristupovať k svojmu úložisku cez IP adresu, ale zvolíte si doménu. Tie sú dnes veľmi lacné a zaplatíte za ňu okolo 5 Eur ročne. Môj obľúbený registrátor je Active24.sk

K svojej vybranej doméne priraďte v DNS vašu verejnú IP adresu. Urobíte to vo web rozhraní registrátora domény alebo ho o to požiadajte.

Ako zistíte vašu verejnú IP adresu?

Nainštalujte program curl:

sudo apt install curl

zadajte príkaz:

curl http://icanhazip.com

Zobrazí sa vaša verejná IP adresa, ktorú môžte v DNS prideliť k zvolenej doméne.

curl http://icanhazip.com v programe PuTTY

Presmerujte porty 80 a 443

Ak ste postupovali podľa článku: “Nainštalujte si Linux server” už máte na routery nastavenú IP adresu vášho Linux servera tak, aby bola vždy rovnaká.

Na túto lokálnu IP adresu rezervovanú pre váš Linux server presmerujte všetku TCP komunikáciu, ktorá prichádza na porty 80 a 443.

Práve tieto porty sa používajú na WEB hosting.

Nastavenia sú pre každý router iné. Hľadajte vo vašom menu položku port forwarding.

Ukážka:

Vytvorte virtual host v Apache pre vašu doménu

Prejdite do adresára, kde sú uložené konfiguračné súbory virtualhostov.

Obsah adresára môžte vylistovať príkazom ls -la

Skopírujte výchdozí súbor nastavenia virtual hostu a premenujte ho podľa vašej domény. Časť príkazu vyznačenú červenou zmeňte podľa názvu vašej domény.

cd /etc/apache2/sites-available/

sudo cp 000-default.conf nextcloud.tatrabell.sk.conf

adresár apache virtualhostov v programe PuTTY

Zmeňte nastavenia pre váš server v konfiguračnom súbore vyznačené červenou.

ServerName – meno vašej domény

ServerAdmin – váš e-mail ako správcu web stránky

DocumentRoot – adresár, kde ste nainštalovali ownloud v predchádzajúcich krokoch

sudo nano nextcloud.tatrabell.sk.conf

ServerName nextcloud.tatrabell.sk

ServerAdmin tatrabell@tatrabell.sk

DocumentRoot /var/www/nextcloud

Konfiguračný súbor uložíte stlačením tlačidiel CTRL + O na klávesnici.

Potvrďe, že chcete uložiť súbor tlačidlom ENTER.

Vyjdite z programu nano stlačením tlačidiel CTRL + X na klávesnici.

Skontrolujte či konfiguračný súbor, ktorý ste práve vytvorili nemá syntaktické chyby.

sudo apachectl configtest

Ak vám príkaz vráti výsledok “Syntax OK” je súbor v poriadku.

Pridajte novú konfiguráciu pre vašu stránku do Apache servera. Červený text zmeňte na na názov vášho konfiguračného súboru.

sudo a2ensite nextcloud.tatrabell.sk.conf

Znovu načítajte Apache a skontrolujte či beží. Na obrazovke by ste mali vidieť zeleným active (running).

sudo systemctl reload apache2

sudo systemctl status apache2

stav služby Apache v programe PuTTY

Pre ukončenie výstupu (na predchádzajúcom obrázku) stlačte tlačidlo na klávesnici.

Teraz sa môžte pripojiť k vašej doméne. V našom príklade nextcloud.tatrabell.sk

Pripojenie však nie je bezpečné, preto treba nastaviť šifrované spojenie HTTPS a certifikát.

nezabezpečené pripojenie vo web rozhraní

Zapnite šifrovanie HTTPS

K šifrovanému spojeniu HTTPS budete potrebovať certifikát. Postará sa o to program certbot. Pomocou neho zapnete šifrovanie a získate bezplatný bezpečný certifikát Let’s Encrypt. Aktivujte zdroj inštalačných balíčkov “universe”:

sudo apt-get update

sudo apt-get install software-properties-common

sudo add-apt-repository universe

sudo apt-get update

Nainštalujte Certbot:

sudo apt-get install certbot python3-certbot-apache

Inštaláciu potvrďte tlačidlom Y na klávesnici a stlačte Enter.

Aktivujte HTTPS a získajte certifikát:

sudo certbot --apache

Zadajte e-mailovú adresu administrátora a potvrďte povolenie zasielať e-maily. Let’s Encrypt vás upozorní na prípadné nutné zmeny v službe alebo ak sa objavia problémy s automatickým obnovovaním certifikátu.

certbot v programe PuTTY

Potvrďte vašu doménu, pre ktorú sa má vytvoriť certifikát (stlačte ENTER alebo vyberte správne číslo ak máte domén viac).

Vyberte voľbu 2, aby vaša stránka používala len HTTPS.

výber domény a voľba HTTPS

Vytvorte databázu

Posledný krok pred inštaláciou NextCloud-u vo web rozhraní je vytvorenie databázy.

Pripojte sa k svojmu MySQL serveru na Linuxe.

sudo mysql

V tomto kroku si treba dať pozor na rozdiel medzi dvoma kontami.

Ak ste si počas inštalácie urobili prestávku, po dlhšom čase budete musieť zadať ROOT heslo pre Linux. Nezamieňajte si ho s databázovým používateľom ROOT.

Až potom, ak budete vyzvaný zadáte root heslo pre MySQL!

Je možné, že heslo root do databázového servera nebudete musieť zadávať. Závisí to od nastavení, ktorými vás teraz nechcem zaťažovať.

Obrazovka PuTTY s prihlásením sa do databázového servera

Vytvorte novú databázu pre NextCloud. Časti príkazu vyznačené červenou si zvoľte podľa seba. Najmä heslo #2silne@HESLO!, ktoré by malo byť bezpečné.

V príklade na obrázku:

  • nextcloud je meno databázy
  • nextclouduser je používateľ databázy
  • #2silne@HESLO! je heslo pre používateľa nextclouduser – zmeňte ho podľa seba

Príkazy zadávajte riadok po riadku.

CREATE DATABASE nextcloud;

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '#2silne@HESLO!';

GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' WITH GRANT OPTION;

FLUSH PRIVILEGES;

EXIT;

Príkazy pre MySQL server v PuTTY

Dokončite inštaláciu vo web rozhraní

Otvorte vašu zvolenú doménu v prehliadači a dokončite inštaláciu vo web rozhraní. Všimnite si zámok vedľa domény – pripojenie je zabezpečené cez HTTPS.

Vytvorte administrátorské konto napríklad admin, ako na obrázku a zvoľte heslo.

Doplňte údaje databázy, ktoré ste si zvolili v predchádzajúcom kroku.

  • používateľa databázy
  • heslo
  • meno databázy

Po vyplnení stlačte tlačidlo “Finish”.

inštalačné web rozhranie Nextcloud

NextCloud sa začne inštalovať

Inštalácia NextCloud vo web rozhraní

Po inštalácií preklikajte úvod a zobrazí sa hlavné okno NextCloud. Ovládanie je veľmi intuitívne a ľahko naň prídete.

NextCloud ponúka užitočné funkcie, ktoré potrebujete na fungovanie tímu online.

Všetko sa deje na vašom servery a nič neputuje do iných spoločností. Komunikáciu aj dáta bezpečne zašifrujte!

V ďalšom článku vám ukážem, ako spojazdniť server Collabora, aby ste mohli editovať dokumenty online priamo cez NextCloud.

Našli ste chybu alebo máte otázky? Ozvite sa prosím!

2020-09-11T11:43:48+00:00