Domácí server: Ovládáme linuxový server z webového prohlížeče
Seznam kapitol
Nainstalovali jste si linux systém bez grafického rozhraní a někde bokem zapojili, ať si plní svoji úlohu. Ovládáte ho vzdáleně pomocí příkazové řádky. Ale přesto si někdy říkáte, nešlo by to ovládat graficky? Ať už z pohodlnosti, nebo proto, že se na správě podílí i začátečník. Ano, jsou možnosti, jak server ovládat přes webový prohlížeč.
V tomto článku se podíváme na programy, které vám vytvoří ovládací panel pro operační systém Linux ve vašem webovém prohlížeči, abyste jej mohli ovládat vzdáleně přes grafického rozhraní. Do výběru jsem zahrnul aktuální produkty, které mají svoji verzi i pro současné vydání distribucí Linuxu. Jako bonus jsou přidány ovládací panely speciálně pro databáze. Panely pro webhostingové služby jsem nezařadil. V závěru jsou přesto zmíněny dvě možnosti, které bych mohl doporučit.
V první kapitole se podíváme na program Cockpit. Jde o jednoduchý základní webový panel s moderním vzhledem. Možnosti ovládání jsou omezenější, proto je ale tento panel vhodný pro začátečníky. Některé distribuce ho obsahují již v základní instalaci, u ostatních je přítomen v repozitářích distribuce. Pokud ho chceme použít, stačí nainstalovat balíček cockpit
. Po nainstalování se můžeme v prostředí webového prohlížeče přihlásit. V příkladu opravte ip adresu počítače za svoji vlastní.
http://10.0.0.50:9090
Přihlašujeme se nezabezpečeně. Musíme potvrdit varování ve webovém prohlížeči. Dále se dostáváme do přihlašovací obrazovky. Přihlašte se pomocí uživatele, která má možnost správy systému.
Pokud vlastníte doménu a potřebný certifikát, umístěte do tohoto adresáře soubory certifikátu a klíče. Více na této webové adrese. https://cockpit-project.org/guide/latest/https
/etc/cockpit/ws-certs.d
Po přihlášení se dostaneme do přehledového zobrazení ve skupině Systém. Zde máme možnost přímo provést i některé administrační úpravy.
V případě aktualizací je zde přímý odkaz k jejímu provedení. Z dalších je možnost zobrazení historie přihlášení vašeho profilu, provozu počítače a informací o hardwaru. Další volbou je možnost připojení k doméně. Vpravo nahoře máme pro náš server možnost vypnutí a restartování. Pro plné zobrazení provozu je potřeba doinstalovat balíček cockpit-pcp
.
- Záznam událostí – po přepnutí na volbu Záznamy události se dostaneme do nástroje pro zobrazování logů. Máme zde možnost filtrovat zobrazení pouze na závažnější hlášení. Součástí je i možnost omezení doby, že které jsou hlášky zobrazeny.
- Úložiště – volba Úložiště nás dostane do jednoduché správce diskových oddílů. Pozor, jsou zde zastoupeny i dočasné oddíly.
- Síť – volba Síť zajistí informace a některé možnosti konfigurace sítí. Ovšem ne všechny způsoby nastavení jsou plně podporovány. Například síť nakonfigurovanou pomocí Netplan není možno spravovat, pouze zobrazit informace.
- Účty – volba Účty nám umožní správu uživatelů. Dále zde vidíme i statistiku uživatele.
- Služby – centrum správy běžících služeb v systému, Možnost zastavovat, spouštět a povolovat jednotlivé služby.
Nástroje
Ještě jsou zde k dispozici některé nástroje
- Aktualizace software – aktualizace nainstalovaných balíčků v systému.
- Aplikace – soupis nainstalovaných doplňku pro Cockpit. Seznam doplňků najdete zde. Při instalaci se řiďte souborem
README
, který je součástí instalačního balíčku.
- Terminál – možnost použít terminál ovládaného stroje pro příkazy v příkazovém řádku.
Zhodnocení
Jde o jednoduchý produkt, který se ovšem dá upravit pomocí rozšiřujících modulů. Rozsah nastavení v základu je vhodný pro začátečníky. Nejsou přítomny funkce lákající ke zkoušení bez patřičných znalostí.
Webmin je distribuován v balíčcích deb, rpm, tar.gz. Můžete jej stáhnout z jeho oficiálních stránek.
Pro uživatele distribucí DEB je k dispozici neoficiální repozitář pro snadnou instalaci. Podíváme se na současný doporučovaný způsob přidání repozitáře. Pro vzor použijeme nejnovější Ubuntu 22.04. Před začátkem aktualizujeme. Prvním krokem je stažení podpisu repozitáře.
|
Dále si otevřeme soubor sources.list ve vašem oblíbeném editoru. Přidávám příklad pro použití Editoru Nano.
sudo nano /etc/apt/sources.list
Na konec souboru přidáme řádek pro definici našeho nového repozitáře. V hranatých závorkách je odkaz na místo umístění souboru s digitálním podpisem repozitáře.
|
Máme přidáno a zbývá pouze instalace samotného Webminu
sudo apt-get update
sudo apt-get install webmin
Uvedl jsem zde momentálně doporučovaný způsob, jak podepsat repozitář DEB balíčků. Starý způsob vše společně v souboru trusted.gpg v adresáři apt přestal být považován za dostatečně bezpečný. Při kompromitaci jednoho klíče hrozí nebezpečí pro všechny přidané repozitáře. Je ještě umožněno použití starého způsobu, ale například Ubuntu již hází při načítání takového repozitáře varování. Pro použití v distribucích založených na Debianu vynechte sudo
a pracujte pod uživatelem root.
Přihlásíme se ve webovém prohlížeči. Použijeme adresu stroje na kterou se přihlašujeme a doplníme port 10000. Takže to může vypadat například takto 10.0.0.50:10000
. Potom budeme muset povolit nezabezpečenou webovou stránku. Nakonec se dostaneme na tuto přihlašovací stránku.
V případě přístupu z venku doporučuji zajistit si doménu a potřebný certifikát. Umístění certifikátu nastavíme přímo v nastavení Webminu.
Po přihlášení se dostáváme na úvodní stránku, takzvanou palubní desku. Zde je k dispozici maximum informací o systému.
Vlevo máme menu. Jako první se podíváme na konfiguraci Webminu. Základní údaje nastavíme pomocí ikonového menu v prvním odkazu.
A první krok bude pro většinu z nás změna jazyka. Lze zde nastavit Češtinu. A to jak pro konkrétního uživatele, tak i pro celý Webmin hromadně. Pro uživatele pokračuje vlevo na volbu Změna jazyka a vzhledu. Pro celý Webmin použijte aktuální ikonové menu.
Pokud připravujeme ke svému serveru přístup i z venkovního internetu, potřebujeme co nejlepší zajištění. Kromě volby silných hesel, popřípadě certifikátů, je vhodné změnit výchozí port 10000 pro rozhraní Webminu.
Dále je důležité přidat uživatele serveru, kteří budou mít možnost Webmin používat.
Probrali jsme to absolutně nejdůležitější v základním nastavení. Projděte si veškeré možnosti ikonového konfiguračního menu a nastavte si další věci které potřebujete. Po nastavení je potřeba nezapomenout na zálohování konfigurace. Může se hodit.
Nyní se rozhlédneme jaké možnosti máme pro ovládání počítače s Webminem. Jak hluboko můžeme jít a jak je systém odolný proti začátečníkům.
Systém
První skupina nástrojů má označení Systém. Po rozkliknutí rozbalovacího menu je bohužel první věcí co si všimnete pokud máte nastavenou češtinu problém se zobrazením znaků u volby Cron plánovač úloh. Jinak je zde umožněna prakticky úplná kontrola běhu procesů, management služeb a kontrola logů počítače. Na obrázku je výpis služeb který najdeme pod označením Bootup and Shutdown. Tohle spíše vypadá jako nabídka pro vypnutí a ne pro správu služeb.
Způsob ovládání jednotlivých položek rozhodně vyžaduje znalosti. Možnosti jsou pro začátečníky až příliš široké. Mnoho voleb je tak pro ně potenciálně nebezpečných. Při použití příkazové řádky by se k nim dostali až podle návodů nebo dokumentace. Přes grafické rozhraní k nim ale mají snadný přístup i bez seznámení s tématem. Typickou ukázkou je podrobné nastavení služby včetně možnosti úpravy startovacího scriptu. To opravdu není možnost vhodná pro začátečníky.
Je zde možnost kompletních úprav souborových systémů. Pozor, jsou zde vidět i dočasné souborové systémy. S úpravou opatrně. Musíte vědět, co děláte.
Co zde je ovšem slabší, je implementace správy balíčků. Zajímavé a použitelné možnosti jsou ještě tak při použití aktualizace. Instalaci bych raději prováděl z příkazové řádky.
Servery
Další skupina Servery obsahuje konfiguraci pro serverové služby. Zde je umožněna jejich grafická konfigurace na dálku. Po nainstalování základní instalace máme k dispozici ovládání podporovaných služeb, které máme nainstalovány. Nainstalované služby jsou představeny dále. V případě instalace další služby v příkazové řádce se tato služba automaticky nepřidá. Zůstala v sekci Nevyužité moduly. Přidáno teprve po restartu serveru. Možnost přímé instalace dalších podporovaných služeb najdeme v sekci nevyužité moduly.
- Apache www server – umožňuje měnit nejen základní konfiguraci, ale i ovládat virtuální www servery, které v rámci Apache běží. Je zde možno v grafickém nastavení jít až do hloubky konfiguračních souborů. Například konfigurace directiv pro přístup k adresářům.
- Databáze MariaDB – dobrá možnost konfigurace databáze pro toho, kdo příliš neovládá SQL. Stačí znát základní pravidla databází. Možnost jít až na konfigurací jednotlivých polí v tabulce.
- Pošta uživatelů – pokud je nainstalován poštovní server sftp, zde je ho možno konfigurovat.
- SSH server – kompletní nastavení serveru SSH, včetně správy klíčů pro přístup uživatelů.
Tools
Zajímavé nástroje, které se mohou hodit pro správu našeho serveru. Obrázky představují integrovaný správce souborů a nástroj pro nahrávání souborů na server. Některé další volby z této sekce vyžadují funkční Javu. Nemusí tedy fungovat v každém prohlížeči.
Další skupiny nástrojů
- Sítě – konfigurace a ovládání síťových rozhraní, včetně nastavení firewallu.
- Hardware – konfigurace tiskáren, disků a systémové času.
- Cluster – nastavení pro případ použití na clusteru.
- Nepoužité moduly – nenainstalované služby, které se zde z větší části dají přímo nainstalovat.
Moduly třetích stran
A to není vše. Lze doinstalovat další moduly třetích stran, které funkcionalitu rozšiřují. Na Webu Webminu je jejich katalog. Zde si najdeme co nás zajímá stáhneme soubor a potom v části Konfigurace Webminu pod ikonou Moduly Webminu nainstalujeme.
Zhodnocení
Velmi rozsáhlý nástroj poskytují mnoho možností pro správu vašeho serveru. Vhodné spíše pro zkušenější, kteří přesto uvítají možnost použití grafického rozhraní. Pro začátečníky je komplexnost rušivá a v některých případech může být i nebezpečná
Zajímavý systém pro správu vašeho serveru přes webový prohlížeč. Instalaci provedeme pomocí jednoduchého návodu na oficiálních stránkách.
Prohlídka bude provedena pro verzi 2, verze 1 se na nové Ubuntu již nedá nainstalovat. Problémy s požadovanou verzí jazyka Python. Pro instalaci můžeme použít předpřipravený skript, nebo provést podle návodu ručně.
Po instalaci zadáme do našeho prohlížeče ip adresu našeho počítače s portem 8000. Pokud nemáme doménu s certifikátem, dáme ignorovat chybu certifikátu. Dostaneme se na přihlašovací obrazovku.
Po přihlášení se dostáváme do základního přehledu. Poskytuje základní informace a jeho vzhled se dá upravit.
V menu vlevo je další volba , která nabízí rozšíření. Jmenuje se Plugins, česky Zásuvné moduly. Půjdeme se podívat jaké máme možnosti. Bohužel jsem zde viděl hodně málo možností ovládání serverových služeb. Pro customizaci ovládání systému je nabídka dostatečná. Instalace jednotlivých rozšíření probíhá přímo v prostředí programu.
Dále se půjdeme podívat do Nastavení. Zdě většiny ze čtenářů zvolí jazyk češtinu.
Nástroje
V základu je k dispozici minimální množství nástrojů, máme zde tři volby.
- Správce souborů – jednoduchý správce souborů pro základní operace.
- Poznámkový blok – řešení pro editaci souborů, pokud není k dispozici jiná možnost.
- Terminál – ovládání počítače pomocí příkazového řádku.
Software
- Služby – správce běžících služeb operačního systému s možností správy. Možnosti pro kompletní management spuštěných služeb.
Systém
- Balíčky – jednoduchá možnost správy software. Není implementována funkce pro aktualizace nainstalovaných balíčků.
Zhodnocení
Velmi jednoduchý systém, Bez doplnění moduly se hodí hlavně pro základní správu pomocí příkazového řádku všude tam, kde nejde použít místní. Pro začátečníky se dá již mluvit o nedostatku funkcí.
Jde o další z jednoduchých webových ovládacích panel pro server. Je určen pro distribuce Ubuntu a Debian. O programu si můžeme něco přečíst na jeho oficiálních stránkách. Bohužel je zde také informace, že se uvažuje o zpoplatnění. Pátráním ve zdrojích na internetu jsem zjistil, že tento stav trvá minimálně od roku 2019
Postup k instalaci najdeme také zde. Bohužel pro poslední verze operačních systémů již je trochu zastaralý. Klíč se přidá do souboru /etc/apt/trusted.gpg
. Tento postup není v současnosti považován za dostatečně bezpečný. Balíčkovací nástroje na to již začaly upozorňovat.
Doporučen je jiný postup. Stáhněte si klíč do samostatného souboru a umístěte do adresáře, kde nemá přístup běžný uživatel. Adresu pro stažení klíče získáte v návodu přímo v příkazu pro přidání pomocí příkazu apt-key Přidání repozitáře potom proveďte v tomto tvaru .
|
Dále již pouze nainstalujete balíček pod uživatelem root.
apt-get install tinycp
Sledujeme výstup příkazu. Budeme vyzváni k určení hesla administrátora. Na závěr nám bude sdělena adresa pro otevření webového rozhraní. Poté již můžeme adresu zadat do prohlížeče a dostaneme se na přihlašovací obrazovku.
Dále se dostaneme do základní přehledové obrazovky systému. Bohužel, zde není možnost přepnutí na český jazyk.
Serverové služby jsou zde orientovány na Webhosting. Ale oproti webhostingovým panelům (vysvětleno v další kapitole) nejsou nainstalovány automatiky při instalaci panelu. Nabízí se nám zde možnost doinstalovat Apache, Emailový server Exim a Databází MariaDB.
Co je však velmi zajímavé, je správce souborů. Je k dispozici ve dvou panelovém uspořádání a s podporou FTP, pokud je nainstalované.
Velmi přehledně nejdůležitější funkce pro správu systému poskytuje část System.
- Settings – nabízí možnost změny DNS serveru a časové zóny.
- Package Manager – umožňuje základní manipulaci se softwarovými balíčky.
- Users & Groups – nástroj pro správu uživatelů a skupin.
- Cron – grafická nástavba nad známým nástrojem pro plánování automatických úloh.
Tohle jsou rozumné volby pro základní správu. Uvítal bych ale ještě přidání správce služeb operačního systému.
Část Security nabízí především přehledný grafický firewall. Zde lze v přehledné grafice nastavit firewall nainstalovaných služeb, i přidat další pravidla ručně. Je zde i možnost nastavení přeposílání.
Poslední část – Virtualization. zde je možno nainstalovat a nastavit používání LXD kontejnerů.
Možnosti ovládání dalších služeb jsou poměrně omezené. Jejich instalaci s aktivováním ovládání těchto služeb zařídíme v nastavení pomocí sekce Features.
Máme tyto možnosti služeb.
- Apache
- Nginx
- PHP FPM
- VsFTPd
- MariaDB
- Samba DLNA
Zhodnocení
Velmi jednoduché. Některé důležité věci velmi chybí a pro začátečníky využití kazí chybějící čeština. nemohu příliš doporučit.
Pro toho kdo nepotřebuje kompletní ovládání počítače přes webový prohlížeč, ale uvítal by grafickou správu databáze. Jde o rozhraní pro jehož obsluhu nutně nepotřebujeme znát jazyk SQL. Vystačíme si se základní znalostí teorie a struktury databází. Zvládneme tak základní správu databízí.
PHPMyAdmin
Rozhraní pro obsluhu databázového SQL serveru MySQL. Je k dispozici v naprosté většině distribucí ve standardních repozitářích. Po nainstalování se můžeme podívat na přihlašovací obrazovku. Rozhraní běží na stejném portu jako standardní web, akorát je nutno přidat podadresář phpmyadmin
. Ip adresu nebo doménu upravte podle vlastního nastavení serveru. Potom se již zobrazí přihlašovací obrazovka.
http://192.168.0.31/phpmyadmin/
Po přihlášení se dostaneme do přehledného ovládacího rozhraní, kde můžeme provádět veškeré práce s databází. Od základních, jako je třeba smazání databáze, až po kompletní tvorbu struktury.
Pro ovládání potřebujeme znalosti, rozhraní nic nezjednodušuje. Jediným benefitem je možnost obejít se bez jazyka SQL. Na dalším snímků je formulář pro definici nové tabulky. při jejím založení. Nejdřív zadáme název tabulky a předpokládaný počet sloupců. Potom se dostaneme do tohoto formuláře. Je zde potřeba určit nejen název políčka, ale i délku , typ obsahu a všechny potřebné indexy i klíče.
Zobrazení hotové tabulky s náplní je přehledné. Ukážeme si to na tabulce uživatelů v kořenové databázi MySQL.
Struktura hotové tabulky se zobrazí takto. Toto ovšem měňte opravdu jen, když víte co děláte.
Pozor na zabezpečení. Jde o častý cíl internetových útočníků. Udržujte silná hesla. Též vhodné je omezit přístup. Pro Apache je potřeba upravit tento konfigurační soubor: /etc/phpmyadmin/apache.conf
. Jak na to naleznete v tomto článku.
PhpPgAdmin
Ekvivalent předcházejícího, ale tentokrát pro databázový SQL server PostgreSQL. Také se často nachází přímo v repozitářích většiny distribucí. Ovšem po instalaci je potřeba provést pár úprav. Začneme samotnou PostgreSQL. V základu je komplet nastavena na komunikaci pouze v režimu Localhost. Následující příkazy provádějte pod uživatelem root. Na začátku si musíme otevřít soubor.
nano /etc/postgresql/14/main/postgresql.conf
Zde najít položku.
#listen_addresses = 'localhost'
Odkomentovat a upravit podle potřeby. Pokud chceme přístup odkudkoliv použijeme tento tvar.
listen_addresses = '*'
Dále se přihlásíme předpřipraveným uživatelem postgres do konzole SQL serveru pro nastavení hesla.
sudo -u postgres psql template1
Nastavení hesla provedeme. Výraz „moje_heslo“ upravte na vámi zvolené heslo. Uvozovky zachovejte.
ALTER USER postgres with encrypted password 'moje_heslo';
Dále potřebujeme upravit metodu ověřování. Potřebné nastavení najdeme v tomto souboru.
nano /etc/postgresql/12/main/pg_hba.conf
Změníme metodu peer na md5 pro lokální ověřování.
local all postgres md5
Postgres máme připraven a nyní PhpPgAdmin. Začneme úpravou konfiguračního souboru.
nano /etc/phppgadmin/config.inc.php
První se podíváme na možnost přihlášení. Pokud chceme mít možnost použít přihlášení jako root a další specifická vyjmenovaná u této položky v konfiguračním souboru, tak musí být její hodnota nastavena na false
.
$conf['extra_login_security'] = false;
Pokud chceme u přihlášeného uživatele zobrazit pouze vlastněné databáze, použijeme předvolbu.
$conf['owned_only'] = true;
Nyní přejdeme na jiný konfigurační soubor. V základu zakazuje zobrazení webového rozhraní na jiném počítači než na tom, kde je webový panel nainstalován. Musíme změnit. Zobrazíme si soubor.
nano /etc/apache2/conf-enabled/phppgadmin.conf
Zde musíme změnit omezení pouze na localhost. Najdeme si tuto položku a změníme na tento tvar. případně můžeme jinak omezit na ip podle osobní potřeby.
# Only allow connections from localhost:
allow from all
Sláva máme nastaveno. Můžeme se podívat na samotný webový program. Vše běží na stejném portu jako webový server. IP adresu nebo doménu upravte podle vlastního nastavení serveru. Potom se již zobrazí přihlašovací obrazovka. Nejdříve si nastavíme jazyk a zvolíme požadovaný server. Potom se přihlásíme k serveru.
http://192.168.0.31/phpmyadmin/
Úvodní obrazovka je jednoduchá přehledná. Veškeré volby jsou snadno k dohledání. Čeština je nastavena automaticky při přihlášení.
U ovládání opět platí, že bez znalosti databází se neobjedeme. Na ukázku si vytvoříme novou tabulku. Opět jako první definujeme název tabulky a počet sloupců. Zobrazení je přehledné. V porovnání s PHPMyAdmin je přehlednost podobná.
Naplněná tabulka pak vypadá takto. Pohled použitelný. Pozor, doplnění nového záznamu se dělá pomocí volby Vložit nahoře.
Nyní je na čase prohlédnout strukturu tabulky.
Stejně jako u předchozího produktu jde o častý cíl útoků. Dbejte na zabezpečení. silná hesla a omezujte přístup. Více k tomu výše a také v tomto samostatném článku.
Webové ovládací panely Webhostingu
Jde o poměrně rozšířenou kategorii ovládacích panelů. Specializuje se na hostingové služby a cloud. Často obsahuje přímo v instalaci panelu i instalaci webových služeb. Zde nebudeme zástupce těchto služeb představovat. Soustředí se na práci s doménami a často obsahují i poštovní služby. Tohle mnoho uživatelů v kategorii domácí server nepotřebuje. Přesto uvedu nějaké příklady, které nevypadají špatně.
aaPanel - zajímavý panel soustředěný pro oblast webových služeb. Má samostatnou instalaci skupiny serverových služeb vhodných pro provozování hostingu. Nevyužité služby lze nenainstalovat. Celá instalace, včetně nainstalovaných služeb, se objeví v adresáři /var/www/
CloudPanel – panel pro administraci jednotlivých samostatných webů.Dokonalé nástroje pro administraci jednotlivých domén a jejich nastavení. Celé to běží na www serveru NGINX a databázi MYSQL
Co nebylo zahrnuto
MyVesta CP – fork VestaCP zaměřený výlučně na Debian. Není univerzální – proto nezařazen.
Čemu se raději vyhnout
VestaCP – systém vypadá hezky. Dokonce na svých stránkách nabízí možnost jednoduché instalace. Ovšem při využití se dočkáme hromady chyb. A některé části instalačního programu se ale přesto provedou. a to je problém.
Froxlor – jde o panel pro Webhosting. Při instalaci se přidává spoustu závislostí. V nich se instalují služby, které nemusíme potřebovat. Automaticky se přidává www server, databáze, poštovní server, FTP. Konfigurace služeb přes rozhraní je spíše zmatečná. Jsou vygenerovány potřebné příkazy, které musíte zkopírovat jinam. Ovšem zároveň je požadována heslo MariaDB uživatele. Po kliknutí na OK se nic nestane. To otvírá potenciální cesty k narušení bezpečnosti systému. Celé to na mě působí jako složitější cesta k běžné konfiguraci služeb pomocí příkazového řádku a konfiguračních souborů.
Závěr
Pokud chceme co nejkomplexnější ovládací panel serveru, je jednoznačným vítězem Webmin. Nabízí nejvíce možností a maximální univerzálnost. Pro začátečníky je ale až příliš komplexní. Zde bych upřednostnil spíše Cockpit. Dostatek rozšiřujících modulů pro individuální úpravu a v základu pouze nejpotřebnější funkce.