1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Jak v Ubuntu 20.04 LTS nainstalovat OpenLiteSpeed s Let’s Encrypt (HTTPS), PHP a MySQL

Jak v Ubuntu 20.04 LTS nainstalovat OpenLiteSpeed s Let’s Encrypt (HTTPS), PHP a MySQL

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:

Jednotlivé kroky následují v pořadí jako čísla na ilustračních obrázcích

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í.

Aktualizováno: 24 června, 2021

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU