Základní pojem a architektura
Webový server označuje druh serveru, který v počítačové síti s architekturou klient-server poskytuje klientům, nejčastěji webovým prohlížečům, požadovaný webový obsah specifikovaný webovou adresou (URL), typicky webové stránky obvykle v jazyku HTML, ale též statický text, obrázek či jiný soubor.
Jak funguje
Webový server má v zásadě dvě možnosti, jak získávat informace, které vrací klientům
- jsou to buď předem připravené datové soubory (HTML stránky), které webový server bez změny poskytne klientovi (tzv. statický obsah)
- teprve na základě požadavku klienta jsou data shromážděna (přečtena ze souboru, databáze, nebo nějakého koncového zařízení), zformátována a připravena k prezentaci ve formátu HTML a poskytnuta webovému prohlížeči (tzv. dynamický obsah)
K dynamickému vytváření obsahu se používá celá řada různých technologií (Perl, PHP, ASP, ASP.NET, JSP, Python apod.). Statický obsah je schopen server poskytnout výrazně rychleji než dynamický. Na druhé straně pomocí dynamického obsahu lze poskytovat mnohem větší obsah informací a lze reagovat i na různé „ad hoc“ dotazy klientů. Proto se v praxi v mnoha případech oba způsoby poskytování obsahu kombinují – například cachování.
Instalace Apache2
Web server je pro začátek dobré zkoušet na systému Apache2, snad pro jeho jednoduchost, známost, a technické podpoře které je na internetu více než dost , v Ubuntu vám postačí přákaz v terminálu sudo apt install apache2 php -y, který nainstaluje z oficiálního repa vše potřebné a hlavně poslední vydanou stabilní verzi.
Pro konfiguraci použijte jeho konfigurační soubor conf, měl by být uložen /etc/apache2/apache2.conf tak že pro editaci použijeme sudo nano /etc/apache2/apache2.conf
Podpora PHP
PHP je skriptovací programovací jazyk, s jehož pomocí lze vytvářet internetové stránky s údaji vloženými z databáze. Kromě toho php nabízí řadu dalších funkcí pro práci s datumy, s textovými řetězci apod. Php stránka je html dokument s vloženými php skripty, uložený jako soubor s příponou php
Jednoduchá instalce z oficiálního repa PHP
sudo apt update && sudo apt install php instalační příkaz v terminálu
sudo apt update && sudo apt install libapache2-mod-php php-mysql (rozšíření)podpora pro sql respektivě pro mysql
sudo update-alternatives –set php /usr/bin/php–vaše verze php nastavení výchozí verze, zjistíte přikazem php -v
php -i | grep „Loaded Configuration File“ po zadání nám server oznámí jakou verzi máme aktuálně nahranou
sudo nano /etc/php/číslo vaší verze php/cli/php.ini konfigurační soubor php.ini
sudo systemctl restart apache2.service restart web serveru apache2
sudo a2enmod php (vaše číso verze) povolení (spuštění) dané verze- viz podpora více verzí
sudo a2dismod php (vaše číso verze) zakázání (zastavení) dané verze- viz podpora více verzí
Tímo je hotova základní instalace podpory php scriptu na našem serveru
Podpora více verzí php
Nyní nainstalujte různé podporované verze PHP následovně.
Před instalací je vhodné ukončit a vypnout aktuálně běžící verzi php, pro zjištění právě běžící verze php lze použít php -v nebo php -i | grep „Loaded Configuration File“ čímž se dozvíme jaká nám právě běží verze a tu ukončíme příkazem sudo a2dismod php (vaše číso verze)
Dále pokračujeme v instalaci verzí php:
sudo apt install php5.6
sudo apt install php7.0
sudo apt install php7.1
sudo apt install php7.2
sudo apt install php7.3
sudo apt install php7.4
sudo apt install php8.0
Nyní můžete nainstalovat většinu požadovaných PHP modulů
sudo apt install php5.6-cli php5.6-xml php5.6-mysql
sudo apt install php7.0-cli php7.0-xml php7.0-mysql
sudo apt install php7.1-cli php7.1-xml php7.1-mysql
sudo apt install php7.2-cli php7.2-xml php7.2-mysql
sudo apt install php7.3-cli php7.3-xml php7.3-mysql
sudo apt install php7.3-cli php7.4-xml php7.4-mysql
sudo apt install php7.3-cli php8.0-xml php8.0-mysql
Nastavte výchozí verzi PHP v Ubuntu
sudo update-alternatives –set php /usr/bin/php5.6 (verze 5.6)
Povolit verzi PHP
sudo a2enmod php5.6
sudo a2enmod php7.0
sudo a2enmod php7.1
sudo a2enmod php7.2
sudo a2enmod php7.3
sudo a2enmod php7.4
sudo a2enmod php8.0
Zakázat verzi PHP
sudo a2dismod php5.6
sudo a2dismod php7.0
sudo a2dismod php7.1
sudo a2dismod php7.2
sudo a2dismod php7.3
sudo a2dismod php7.4
sudo a2dismod php8.0
Nastavit výchozí verzi PHP
sudo update-alternatives –set php /usr/bin/php5.6
A nezapomeneme na restart Apache2
sudo systemctl restart apache2
Po přepnutí z jedné verze na druhou můžete najít svůj konfigurační soubor PHP
———— Pro PHP 5.6 ————
sudo update-alternatives –set php /usr/bin/php5.6
php -i | grep „Loaded Configuration File“
–———– Pro PHP 7.0 ————
sudo update-alternatives –set php /usr/bin/php7.0
php -i | grep „Loaded Configuration File“
————- Pro PHP 7.1 ————
sudo update-alternatives –set php /usr/bin/php7.1
php -i | grep „Loaded Configuration File“
———— Pro PHP 7.2 ————
sudo update-alternatives –set php /usr/bin/php7.2
php -i | grep „Loaded Configuration File“
———— Pro PHP 7.3 ————
sudo update-alternatives –set php /usr/bin/php7.3
php -i | grep „Loaded Configuration File“
———— Pro PHP 7.4 ————
sudo update-alternatives –set php /usr/bin/php7.4
php -i | grep „Loaded Configuration File“
–———– Pro PHP 8.0 ————
sudo update-alternatives –set php /usr/bin/php8.0
php -i | grep „Loaded Configuration File“
Každou změnu nezapomenout načíst a to restartem Apache2 sudo systemctl restart apache2