Blog Vaška Ambrože

osobní a duchovní rozvoj, informační technologie a všechno ostatní

Instalace webového serveru (Debian, Apache, FPM, PHP, MariaDB)

V tomto příspěvku bych chtěl dát ucelený návod, jak si na vašem PC či serveru nainstalovat jednoduše webový server v operačním systému Debian GNU/Linux, kde poběží webový server Apache, PHP (Hypertext Preprocessor), FPM (FastCGI Process Manager) a databázový server MariaDB (fork MySQL).

Proč (ne)zvolit FPM?

Varianta FPM je dle mého názoru jedna z nejvhodnějších variant pro menší webové servery. V systémovém výpisu procesů lze snadno identifikovat procesy jednotlivých domén, jednoduše se u nich mění verze PHP i další nastavení. Zkrátka to bez většího úsilí přináší spoustu praktických výhod.

U větších serverů pak již pravděpodobně dává větší smysl zvolit (Fast)CGI, kdy v různých konfiguracích procesů v rámci FPM by mohlo docházet k daleko větší spotřebě prostředků serveru, případně jeho přetěžování. Vždy ale záleží na konkrétní konfiguraci a co přesně je na serveru provozováno za služby.

Provozovat server jen s Apache modulem mod_php dává smysl pravděpodobně asi jen u nějakého Docker kontejneru či podobné služby, ale pro běžný webový server mi to smysl nedává.

Nastavení repozitářů

Jako první si na serveru nadefinujeme repozitáře, odkud budeme jednotlivé balíky instalovat. V tomto návodu budu vycházet z verze Debianu bookworm a pro PHP budu používat ještě repozitáře Ondřeje Surého, kdy ve stabilní verzi Debianu nejsou dostupné novější a třeba ani starší verze PHP, mezi kterými chci mít možnost přepínat. V příkazech to může vypadat nějak takto:

Instalace základních balíků

Jako další krok nainstalujeme všechny potřebné balíky pro Apache, PHP (verze 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2 a 8.3), FPM a MariaDB. Uděláme to tak, že si vytvoříme soubor se seznamem balíků a ten pak předhodíme programu apt:

Nastavení PHP modulů a konfigurace

Nyní začneme s konfigurací PHP a to konkrétně tím, že povolíme jednotlivé moduly a konfiguraci:

Nastavení suexec

Jelikož uživatele webu budeme v dalším postupu používat, tak si jej můžeme vytvořit a rovnou jej zahrnout do nastavení suexecu ve virtualhostu. Uživatele vytvoříme jednoduše např. takto:

Do konfigurace virtualhosta pak můžeme přidat:

Konfigurace poolů

V rámci nastavení FPM si samozřejmě budeme definovat pro každou doménu její pool, kde se dá definovat nastavení uživatele, socketu, individuální nastavení pro danou doménu apod. Nejdříve smažeme nastavení předdefinované v základní instalaci:

Následně již můžeme nastavit pool pro konkrétní doménu a to pro všechny verze PHP, kdy pak bude snadné mezi jednotlivými verzemi přepínat a vše bude již přednastavené. Nejdříve vytvoříme konfigurační soubor pro všechny verze PHP a pak rovnou budeme tyto soubory editovat, např. takto:

Obsah souborů může vypadat nějak takto (5.6-fpm samozřejmě vždy přepíšeme na odpovídající verzi PHP):

Nastavení pro VirtualHost

Jak zahrnout nastavení FPM do konfigurace virtualhosta? Já používám obdobné nastavení jako toto:

Jednoduchý základní virtualhost (který zatím nepočítá se SSL a dalším nastavením, které si můžete uzpůsobit dle svého) by tedy pak mohl vypadat nějak takto:

Spuštění služeb

Až budeme mít vše nastavené, tak samozřejmě stačí všechny služby nastartovat:

Publikováno 19.11. 2023 v 05:55 | Kategorie: Debian GNU/Linux

Bash skript pro aktualizaci operačního systému Debian GNU/Linux

Možná se někomu bude hodit můj skript pro aktualizaci operačního systému Debian GNU/Linux. Nabízím dvě verze, jednu s kompletním výpisem toho, co skript dělá a druhou grafickou a jen se základními informacemi.

Zdrojovový kód pro variantu s kompletním výpisem informací

Zdrojovový kód pro grafickou variantu s minimem informací

Publikováno 07.11. 2023 v 10:51 | Kategorie: Bash, Debian GNU/Linux

Facebook chat/messenger v Pidginu v Debianu

Donedávna jsem už nebyl na žádné sociální síti, protože k nim mám od jisté doby hodně silný odpor. Rozepíši se o tom asi někdy později v samostatném příspěvku. Nicméně pro podnikání jsem si chtěl vytvořit stránku na Facebooku a s tím jsem byl bohužel nucen vytvořit si i běžný profil, abych tuto stránku mohl spravovat. Z toho vyplývá i možnost používat chat/messenger s uživateli, které mám v přátelích.

Využívání Pidginu

Jelikož používám na svých zařízeních (notebooku a PC) operační systém Debian GNU/Linux a v něm pro komunikaci program Pidgin, tak jsem hledal dřívě využívanou možnost využívat Facebook chat/messenger přímo v tomto klientovi a nemuset ho tak používat na webových stránkách v prohlížeči. Před mnoha a mnoha lety jsem to tak používal.

Instalace

Zprovoznění tohoto řešení už ale zjevně není tak triviální jako kdysi a proto bych se o něj i rád podělil.

Zjištění poslední verze a příprava na kompilaci

Odkaz na poslední verzi tohoto řešení nalezneme zde, v tomto návodu počítám s verzí 0.9.6. Je možné, že vám pro samotnou kompilaci budou chybět v systému nějaké balíky (u mě tomu tak bylo) a kompilace tak díky tomu skončí chybami. V tomto směru by mělo stačit doinstalovat potřebné balíky například takto:

apt update && apt install -y pkg-config libglib2.0-dev libjson-glib-1.0-0 libpurple-dev libjson-glib-dev

Stažení a kompilace

Následně už postupujeme jednoduše stažením a kompilací a to například takto:

wget https://github.com/dequis/purple-facebook/releases/download/v0.9.6/purple-facebook-0.9.6.tar.gz

tar xfz purple-facebook-0.9.6.tar.gz

cd purple-facebook-0.9.6

./configure

make install

Přesunutí knihovny do adresáře pluginů a její editace

Pokud vše proběhlo v pořádku, přesuneme soubor libfacebook.so do adresáře pluginů Pidginu. Např. takto:

mv pidgin/libpurple/protocols/facebook/.libs/libfacebook.so /home/user/.purple/plugins/

Chyba ERROR_QUEUE_OVERFLOW

Je možné, že se po přidání účtu do Pidginu a jeho prvním připojení, zobrazí chyba ERROR_QUEUE_OVERFLOW. Tu lze vyřešit editací daného souboru libfacebook.so a to samozřejmě za pomocí nějaké hex editoru. Takových editorů je spousta, já jsem použil ghex:

apt update && apt install -y ghex

V něm pak stačí změnit u něčeho jako FBAV/192.0.0.31.101 dané číslo 192 na 537 a uložit.

Samotné nastavení v Pidginu

Přidání účtu je pak již jednoduché. Já používám systém v angličtině, proto tady budu používat anglické názvy položek, které v programu vidím. Kdo používá češtinu, tak si to snadno přeloží. Účet přidáme v Accounts – Manage accounts – Add a tam v části Basic vyplníme:

Protocol: Facebook
Username: vaše uživatelské jméno na Facebooku (např. u https://www.facebook.com/profile.php?id=100095344098427 je to 100095344098427)
Password: vaše heslo k účtu na Facebooku

Publikováno 21.09. 2023 v 14:58 | Kategorie: Debian GNU/Linux, Facebook, Pidgin

2024
Web od Vaška