Samotný projekt je úzce spojený s operačním systémem Linux (lépe GNU/Linux, dále jen Linux). Linux je svobodný a otevřený operační systém, který nabízí mnoho výhod pro tento projekt. Jako konkrétní distribuci zvolíme Debian.
Pro hostování našeho vlastního cloud úložiště využijeme z níže uvedených důvodů aplikaci Nextcloud.
Pro projekt samozřejmě potřebujeme vhodné zařízení. Tedy nějaký starší nevyužitý notebook, či stolní počítač. Uvedu příklad notebooku, který je pro tento projekt ideální. Přitom Vám uvedu podmínky, které zařízení musí splňovat a další užitečné vlastnosti.
Představuji Vám Lenovo Thinkpad T430.
Tento notebok je ideální pro tento projekt, neboť obsahuje nutné součásti:
Má i další výhody. Jeho CD mechanika se dá vyměnit za další prostor pro disk (zde) a je místo ještě na mSATA disk (zde a zde).
Jako další budeme potřebovat internetový kabel, kterým připojíme notebook k našemu routeru.
Také potřebujeme prázdný USB flash disk, který použijeme k instalaci Debianu. bug-Velikost
Nakonec samozřejmě potřebuje náš pevný disk, na který budeme instalovat, vložený do notebooku.
Nejdříve si musíme připravit takzvané live-usb, to znamená usb flash disk, z kterého můžeme nabootovat a poté nainstalovat Debian.
V tomto návodu popíšu postup u operačního systému windows, neboť se bude vztahovat na největší procento lidí.
Osobně doporučuji aplikaci Rufus, kterou i budu používat v tomto návodu. Jiná možnost, se kterou mám zkušenosti je balenaEtcher.
Nainstalujte aplikaci Rufus na windows tak, jak jste zvyklí. (přímý odkaz na instalační soubor zde)
Stáhněte instalační soubor Debianu ze stránky zde. V době tvorby tohoto návodu je jeho název debian-12.0.0-amd64-netinst.iso, číslo reprezentující verzi se může v budoucnu lišit.
Otevřete aplikaci Rufus a zapojte Váš usb flash disk (!! o data na flash disku tímto procesem přijdete, proto prosím použijte disk prázdný, nebo s daty, která nepotřebujete!!)
Nyní bude probíhat samotná tvorba live-usb, může to nějakou dobu trvat…
Naše live-usb je připravené.
Vaše zařízení s vloženým diskem zapojte do zdroje, připojte ho k Vašemu routeru internetovým kabelem a připojte naše live-usb.
Při zapínání zařízení musíme vybrat jako zdroj bootování naše live-usb.
Proto se musíme dostat do boot menu při zapínání počítače.
Toho se docílí různě, záleží na modelu vašeho zařízení, pro zjištění hledejte instrukce přímo k vašemu zařízení nebo aspoň výrobci na internetu, ale většinou vidíte nějaké instrukce na obrazovce již při zapínání počítače.
Na mém thinkpadu stačí po zmáčknutí tlačítka napájení mačkat tlačítko f12.
Vyberte jako zdroj bootování USB disk.
bug- Secure boot? Bios lock?
Nyní musíme provést samotnou instalaci debianu, naštěstí má celá instalace velmi příjemné uživatelské prostředí, zvolte jazyk podle vašeho výběru a instalaci projděte krok po kroku. Pro pomoc přikládám fotografie z takové probíhající instalace.
Během restartování zařízení po úspěšné instalaci nezapomeňte vypojit live-usb.
Po restartu byste měli vidět tmavou obrazovku a na ní napsáno něco podobného:
Debian GNU/Linux 12 server tty1
server login: _
Gratuluji k úspěšné instalaci debianu!
Nyní musíme dát našemu účtu práva administrátora, abychom mohli provádět změny a instalovat programy. K tomu využijeme program sudo.
Nejdříve se však musíme přihlásit pomocí root účtu, nainstalovat a nastavit program sudo.
Debian GNU/Linux 12 server tty1
server login: root
Password:
Linux server 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) X86_64
The programs included with the Debian GNU/Linux system are free software:
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO HARRANTY, to the extent
permitted by applicable law.
root@server:~$ _
apt update
(pokud chcete rozumět příkazu apt a tomu, o čem je tu vlastně řeč:)
(zde je obecný linux guide linux-learning-guide-for-beginners)
Hit:1 http://security.debian.org/debian-security bookworm-security InRelease
Hit:2 http://deb.debian.org/debian bookworm InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@server:/# _
apt install sudo
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
sudo
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,889 kB of archives.
After this operation, 6,199 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 sudo amd64 1.9.13p3-1 [1,889 kB]
Fetched 1,889 kB in 0s (5,655 kB/s)
Selecting previously unselected package sudo.
(Reading database ... 34758 files and directories currently installed.)
Preparing to unpack .../sudo_1.9.13p3-1_amd64.deb ...
Unpacking sudo (1.9.13p3-1) ...
Setting up sudo (1.9.13p3-1) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9) ...
root@server:/# _
usermod -aG sudo uzivatel
Na příkaz nebudete mít od terminálu žádnou odezvu, pokud je vše správně.
exit
V mém případě:
Debian GNU/Linux 12 server tty1
server login: jh
Password:
Linux server 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) X86_64
The programs included with the Debian GNU/Linux system are free software:
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO HARRANTY, to the extent
permitted by applicable law.
Last login: Wed Jul 5 15:54:03 CEST 2023 from 192.168.0.104 on pts/0
jh@server:~$ _
sudo apt update
Budete vyzváni o zadání hesla:
Last login: Wed Jul 5 15:54:03 CEST 2023 from 192.168.0.104 on pts/0 jh@server:"$ sudo apt update [sudo] password for jh:
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://security.debian.org/debian-security bookworm-security InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information...Done
All packages are up to date.
jh@server:"$ _
Náš uživatel má nyní práva administrátora.
Nyní jste schopni pokračovat dále v návodu v tomto terminálu, pro pohodlnější přístup a možnost kopírování příkazů čtěte ssh.
K pohodlnějšímu přístupu k Vašemu serveru je nyní příhodné nainstalovat ssh a naučit se s ním. Tento návod se dá zvládnout i bez tohoto kroku, ale já ho silně doporučuji i pro pozdější případnou vzdálenou správu serveru.
SSH (Secure Shell) je zabezpečený protokol pro vzdálenou správu a přenos dat mezi dvěma zařízeními. Pomocí SSH můžete přistupovat ke vzdáleným serverům z jiných zařízení a provádět různé úkony, jako je ovládání serveru, kopírování souborů nebo spuštění příkazů pomocí příkazové řádky.
SSH server jsme již nainstalovali na Debian serveru během grafické instalace.
Na windowsu budeme jako terminál využívat windows powershell. Pogram spustíte tak, že jej normálně vyhledáte v nabídce start.
Chcete-li používat SSH v PowerShellu ve Windows, musíte povolit funkci OpenSSH Client. Zde je návod, jak to udělat:
Jakmile je funkce OpenSSH Client nainstalována, můžete v PowerShellu ve Windows použít příkaz ssh pro připojení k vzdáleným serverům pomocí SSH.
Pokud používáte starší verzi Windows, která neobsahuje vestavěný klient OpenSSH, stále můžete nainstalovat SSH klienty třetích stran, jako je PuTTY.
Na Debianu zadejte následující příkaz:
ip addr
Výpis zobrazí seznam síťových rozhraní. Najděte rozhraní, které je připojeno k internetu (v mém případě “2: enpos25”).
jh@server:"$ ip addr
1: 10: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 :1/128 scope host
valid_lft forever preferred_lft forever
2: enpos25: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:21:cc:c3:db:9c brd ff:ff:ff:ff:ff:ff
inet 192.168.0.164/24 brd 192.168.0.255 scope global dynamic enpes25
valid_lft 7173sec preferred_lft 7173sec
inet6 fe80::221:ccff:fec3:db9c/64 scope link
valid_lft forever preferred_1ft forever
3: wwx0215e0ec0100: mtu 1500 qdisc noop state DOHN group default qlen 1000
link/ether 02:15:e0:ec:01:00 brd ff:ff:ff:ff:ff:ff
4: wlp3s0: mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 9c:4e:36:36:b7:d8 brd ff:ff:ff:ff:ff:ff
jh@server:"$ _
Vedle položky “inet” u tohoto rozhraní se nachází IP adresa serveru. Zaznamenejte si tuto IP adresu, protože ji budete potřebovat pro připojení.
V mém případě: inet 192.168.0.164
Připojení k Debian serveru ze systému Windows:
Na Windows počítači otevřete windows powershell.
Zadejte následující příkaz pro vytvoření SSH připojení:
ssh uživatelské_jméno@ip_adresa
uživatelské_jméno: Zadejte uživatelské jméno, které jste vytvořili při instalaci Debian serveru.
ip_adresa: Zadejte ip adresu, kterou jste zjistili v předchozím kroku.
V mém případě:
ssh jh@192.168.0.164
Po zadání příkazu budete muset potvrdit fingeprint (yes) a přihlásit se zadáním hesla pro uživatele na Debian serveru.
Pokud je vše správně, jste připojeni k Debian serveru přes SSH a můžete provádět různé úkony pomocí příkazového řádku vzdáleně.
Poznámka 1: Nepoužívám windows, proto moje screenshoty vypadají takto, nenechte se tím zmást. Pokud jste windows uživatel, vystačíte si s powershellem. Do programu můžete vkládat příkazy, které zkopírujete z tohoto návodu (pomocí ctrl+c), následně je vložíte kliknutím pravým tlačítkem myši.
Poznámka 2: Vaše IP adresa nejspíš bude vypadat nějak podobně jako moje, bude se pravděpodobně lišit jen posledním číslem, je to proto, že jsme zatím náš server nevystavili zevnímu internetu, proto je dostupný jen z vaší domácí sítě a to i pomocí ssh. Prozatím musíte být připojeni ke stejné síti, abyste se k serveru mohli připojit.
Připojte se k vašemu serveru přes ssh nebo přistupte k Vašemu zařízení a přihlašte se.
Nyní budeme instalovat Nginx (čti Engine X) webový server, který budeme potřebovat pro Nextcloud a můžeme na něm i hostovat webové stránky.
Poznámka: Nyní budeme provádět mnoho adminstorských příkazů, proto abychom všude nemuseli psát sudo, můžeme se stát na chvíli root účtem, toho docílíte takto:
sudo su
Aktualizujte repozitáře:
apt update
Instalujte NginX:
apt install nginx
Potvrďte Y, pokud třeba.
Základní konfigurační soubory pro Nginx se nacházejí ve složce /etc/nginx, kam se nyní přesuneme, proto:
cd /etc/nginx
cd jako change directory
Podívejme se, co se nachází v této složce:
ls
ls jako list
root@debianserver:/etc/nginx# ls
conf.d koi-utf modules-available proxy_params sites-enabled win-utf
fastcgi.conf koi-win modules-enabled scgi_params snippets
fastcgi_params mime.types nginx.conf sites-available uwsgi_params
root@debianserver:/etc/nginx# _
Nejvíce nás budou zajímat složky sites-available a sites-enabled. V adresáři sites-available se nachází konfigurační soubory pro jednotlivé webové stránky, které mohou být aktivovány. V adresáři sites-enabled jsou symbolické odkazy na aktivované webové stránky, které jsou používány Nginxem.
conf.d: Tento adresář obsahuje další konfigurační soubory, které mohou být použity pro různá nastavení serveru. Můžete do tohoto adresáře umístit vlastní konfigurační soubory pro specifické webové aplikace nebo rozšíření.
modules-available a modules-enabled: Tyto adresáře obsahují moduly Nginx, které mohou být povoleny nebo zakázány. V adresáři modules-available jsou k dispozici všechny dostupné moduly, zatímco v adresáři modules-enabled jsou symbolické odkazy na moduly, které jsou aktuálně povoleny.
snippets: Tento adresář obsahuje krátké konfigurační kousky (snippety), které lze použít v jiných konfiguračních souborech. Tyto snippety usnadňují opakované používání konfiguračního kódu a usnadňují údržbu.
nginx.conf: Tento soubor je hlavním konfiguračním souborem Nginx. Obsahuje globální nastavení a také odkazy na další konfigurační soubory, které se používají pro specifická nastavení.