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

Webserver

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/phpvaš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