Zdarma dostupný webový server s otevřeným zdrojovým kódem OpenLiteSpeed nabízí základní funkce svého komerčního staršího bratra LiteSpeed Web Server Enterprise. Kompatibilita s nastaveními webového serveru Apache (mod_rewrite), výrazně rychlejší běh PHP (až 3x rychlejší než v Apache) a HTTPS (až 4x rychlejší než v Apache), grafické administrátorské rozhraní namísto textového konfiguračního souboru a optimalizace pro WordPress (instalace na jeden klik + LSCache na markantní zrychlení) – to jsou pouze některé důvody, proč se OpenLiteSpeed rozhodně vyplatí vyzkoušet.
Tento návod funguje na linuxovém operačním systému Ubuntu ve verzi 20.04 LTS (Focal Fossa). Jde o verzi LTS (Long Term Support = dlouhodobá podpora), která byla zveřejněná 23. 04. 2020 a je oficiálně podporovaná softwarovou společností Canonical 5 let od vydání, čili do dubna 2025. Vývojáři se v LTS ve zvýšené míře zaměřují na bezpečnost a hardwarovou kompatibilitu, aby bylo možné nasazení na enterprise úrovni.
Instalujeme OpenLiteSpeed
V první řadě je potřeba zabezpečit aktuálnost všech balíků. Nainstalujeme tedy všechen updatovaný software pomocí dvou příkazů v jedné dávce:
sudo apt update && sudo apt upgrade
Když systém najde aktualizovatelné balíčky, takto se zeptá, jestli je chcete začít instalovat:
Do you want to continue? [Y/n]
Stlačíme klávesu y
když chceme začít aktualizační proces nebo klávesu n
, když aktualizovat nechceme. Následně stlačíme klávesu Enter
.
OpenLiteSpeed budeme instalovat z oficiálního repozitáře přímo od vývojářů:
wget -qO - https://rpms.litespeedtech.com/debian/lst_repo.gpg | sudo apt-key add -
echo "deb http://rpms.litespeedtech.com/debian/ focal main" | sudo tee /etc/apt/sources.list.d/openlitespeed.list
sudo apt update
sudo apt install openlitespeed
Stlačíme klávesu y
když chceme začít instalační proces nebo klávesu n
, když instalovat nechceme. Následně stlačíme klávesu Enter
.
Ve webovém prohlížeči teď zkontrolujeme, jestli je OpenLiteSpeed spuštěný:
http://IP_adresa:8088
Takto vypadá uvítací stránka, která informuje o úspěšném nainstalovaní OpenLiteSpeed:
Soubory a složky výše zobrazené uvítací stránky je možné upravit v cestě /usr/local/lsws/Example/html/
Instalujeme a nastavujeme aktuální verzi PHP
Spolu s OpenLiteSpeed se nainstaluje i PHP ve verzi 7.3, my však chceme aktuální verzi 7.4. Takto ji nainstalujeme:
sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl
Stlačíme klávesu y
když chceme začít instalační proces nebo klávesu n
, když instalovat nechceme. Následně stlačíme klávesu Enter
.
Nastavení probíhá v grafickém rozhraní webového prohlížeče, který si ale nejdřív musíme připravit v příkazovém řádku:
sudo /usr/local/lsws/admin/misc/admpass.sh
Zadáme User name tibor
, password Toto.Hes1o.je:silne
a znova heslo potvrdíme. Úspěch akce nám oznamuje hlášení “Administrator’s username/password is updated successfully!”. Na této adrese najdeme administrátorské nastavení:
http://IP_adresa:7080
Zobrazí se upozornění o tom, že spojení není zabezpečené. Tentokrát i navzdory upozornění budeme pokračovat, abychom mohli OpenLiteSpeed nastavit tak, že už nebude podobné upozornění vypisovat:
Přihlásíme se výše zadaným jménem (tibor
) a heslem (Toto.Hes1o.je:silne
) a změníme port z 8088
na 80
, abychom za IP adresu nemuseli psát dvojtečku a číslo portu (http://IP_adresa:8088
se změní na http://IP_adresa
):
Následně nastavíme OpenLiteSpeed tak, aby začal používat aktuální verzi PHP, kterou jsme nainstalovali výše (čili zde z verze 7.3 přejde na verzi 7.4):
Po 5. kroku se nám zobrazí rozsáhlý formulář, který vyplníme takto (vynechané položky necháme prázdné):
Name: lsphp74
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment:
PHP_LSAPI_MAX_REQUESTS=500
PHP_LSAPI_CHILDREN=35
LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp74/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500
Aby se do formuláře zapsané hodnoty uložili, klikneme nahoře vpravo na ikonu diskety.
Vytvořili jsme novou externí aplikaci pod názvem lsphp74
a teď nastavíme OpenLiteSpeed tak, aby ji používal a následně server kliknutím na zelenou ikonu nahoře vpravo restartujeme:
Na adrese http://IP_adresa/phpinfo.php
vidíme hned v nadpisu informaci, že OpenLiteSpeed využívá PHP v aktuální verzi 7.4.
Zabezpečujeme spojení přes HTTPS
OpenLiteSpeed potřebuje na zabezpečené připojení klíč a certifikát s vlastním podpisem a klíč a certifikát od certifikační autority jako je Let’s Encrypt. Nejdřív si vytvoříme první dvojici:
openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
U všech polí stačí stlačit klávesu Enter
, což znamená, že zadáváme prázdnou hodnotu.
Nainstalujeme nástroj Certbot, který zadarmo automatizuje složitý proces ručního vytváření, ověřování, podepisování, instalace a obnovování certifikátu od Let’s Encrypt:
sudo apt install certbot
Takto požádáme o vytvoření certifikátu pro doménu (zde vps.websupport.tech
), kterou máme propojenou s IP adresou serveru:
sudo certbot certonly --webroot -w /usr/local/lsws/Example/html/ -d vps.websupport.tech
Zadáme e-mailovou adresu a potvrdíme klávesou Enter
, stlačíme klávesu A
a potvrdíme klávesou Enter
a nakonec ještě stlačíme klávesu N
a potvrdíme klávesou Enter
.
Certifikát od certifikační autority Let’s Encrypt pro naši doménu (zde vps.websupport.tech
) máme vytvořený a teď nastavíme OpenLiteSpeed tak, aby ho začal používat. Začneme přidáním zabezpečeného kanálu, který bude přijímat dotazy na portu 443
:
Přiřadíme naši doménu (zde vps.websupport.tech
) k virtuálnímu hostingu (zde pod názvem Example
) na zabezpečeném kanálu (SSL
):
Zadáme cestu k privátnímu klíči (key.pem
) a k certifikátu s vlastním podpisem (cert.pem
). Název konta (zde tibor
) se může lišit a je potřebné to zohlednit při zadávaní cest:
Zadáme cestu k privátnímu klíči (privkey.pem
) a k certifikátu (fullchain.pem
) od certifikační autority Let’s Encrypt. Název domény (zde vps.websupport.tech
) bude odlišný a je potřeba to zohlednit při zadávaní cest:
Takto nastavený OpenLiteSpeed restartujeme kliknutím na zelenou ikonu nahoře vpravo. Následně do webového prohlížeče zadáme název domény (zde vps.websupport.tech) přes zabezpečené spojení (HTTPS) takto:
https://vps.websupport.tech
Zobrazená webová stránka by měla informovat o tom, že se načítala přes zabezpečené spojení a má platný certifikát. Ve webovém prohlížeči klikněte na ikonu zamknutého visacího zámku nahoře vlevo:
Instalujeme databázový server MySQL
OpenLiteSpeed teď dokáže spolupracovat s jazykem PHP v jeho aktuální verzi, který zase umí komunikovat s MySQL. Pojďme si tedy nainstalovat MySQL, abychom pomocí PHP dokázali ukládat údaje do databáze. Stačí jeden příkaz:
sudo apt install mysql-server
Stlačíme klávesu y
a následně klávesu Enter
a počkáme na dokončení instalace.
Z bezpečnostních důvodů se po instalaci MySQL doporučuje spustit skript
sudo mysql_secure_installation
ve kterém na všechny otázky odpovíme y
a stlačíme klávesu Enter
. V procesu skriptu si zvolíte ještě “password validation policy” na MEDIUM (číslo 1
+ Enter
) a heslo pro účet root přístupu do MySQL (není stejné jako root Linuxu). V hesle použijte minimálně 8 znaků – malá a velká písmena, čísla a speciální znaky jako tečka, čárka, dvojtečka, zavináč, otazník, vykřičník, …
Dále potřebujeme vytvořit nového uživatele s omezenými právy (nepoužijeme uživatele root
). Spustíme tedy komunikaci s databázovým serverem MySQL:
sudo mysql
vytvoříme uživatele (zde tibor
), kterému přiřadíme dostatečně silné heslo (zde Toto.Hes1o.je:silne
). V hesle použijeme minimálně 8 znaků – malá a velká písmena, čísla a speciální znaky jako tečka, čárka, dvojtečka, zavináč, otazník, vykřičník, …
create user 'tibor'@'localhost' identified by 'Toto.Hes1o.je:silne';
vytvoříme databázi s názvem test:
create database test;
a uživateli tibor udělíme všechny práva na práci s databází test takto:
grant all privileges on test.* to 'tibor'@'localhost';
flush privileges;
Ukončíme práci s MySQL serverem:
exit
Shrnutí
Nainstalovali jsme především na rychlost zaměřený webový server OpenLiteSpeed s podporou aktuální verze PHP a bezplatného bezpečnostního certifikátu od Let’s Encrypt. Díky tomuto webovému serveru jsme rychlost zobrazování statických i dynamických stránek přes HTTPS násobně zvýšili. Připravili jsme si databázi MySQL tak, abychom pomocí jazyka PHP mohli do testovací databáze zapisovat údaje. S OpenLiteSpeed jsme též získali možnost instalace WordPressu na jedno kliknutí.