Zdarma dostupný webový server s otvoreným zdrojovým kódom OpenLiteSpeed ponúka základné funkcie svojho komerčného staršieho brata LiteSpeed Web Server Enterprise. Kompatibilita s nastaveniami webového servera Apache (mod_rewrite), výrazne rýchlejší beh PHP (až 3x rýchlejší ako v Apache) a HTTPS (až 4x rýchlejší ako v Apache), grafické administrátorské rozhranie namiesto textového konfiguračného súboru a optimalizácia pre WordPress (inštalácia na jeden klik + LSCache na markantné zrýchlenie) – to sú iba niektoré dôvody, prečo sa OpenLiteSpeed rozhodne oplatí vyskúšať.
Tento návod funguje na linuxovom operačnom systéme Ubuntu vo verzii 20.04 LTS (Focal Fossa). Ide o verziu LTS (Long Term Support = dlhodobá podpora), ktorá bola zverejnená 23. 04. 2020 a je oficiálne podporovaná softvérovou spoločnosťou Canonical 5 rokov od vydania, čiže do apríla 2025. Vývojári sa v LTS vo zvýšenej miere zameriavajú na bezpečnosť a hardvérovú kompatibilitu, aby bolo možné nasadenie na enterprise úrovni.
Inštalujeme OpenLiteSpeed
V prvom rade je potrebné zabezpečiť aktuálnosť všetkých balíkov. Nainštalujeme teda všetok updatovaný softvér pomocou dvoch príkazov v jednej dávke:
sudo apt update && sudo apt upgrade
Ak systém nájde aktualizovateľné balíčky, takto sa opýta, či ich chcete začať inštalovať:
Do you want to continue? [Y/n]
Stlačíme kláves y
ak chceme začať aktualizačný proces alebo kláves n
, ak aktualizovať nechceme. Následne stlačíme kláves Enter
.
OpenLiteSpeed budeme inštalovať z oficiálneho repozitára priamo od vývojárov:
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áves y
ak chceme začať inštalačný proces alebo kláves n
, ak inštalovať nechceme. Následne stlačíme kláves Enter
.
Vo webovom prehliadači teraz skontrolujeme, či je OpenLiteSpeed spustený:
http://IP_adresa:8088
Takto vyzerá uvítacia stránka, ktorá informuje o úspešnom nainštalovaní OpenLiteSpeed:
Súbory a priečinky vyššie zobrazenej uvítacej stránky je možné upraviť v ceste /usr/local/lsws/Example/html/
Inštalujeme a nastavujeme aktuálnu verziu PHP
Spolu s OpenLiteSpeed sa nainštaluje aj PHP vo verzii 7.3, my však chceme aktuálnu verziu 7.4. Takto ju nainštalujeme:
sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl
Stlačíme kláves y
ak chceme začať inštalačný proces alebo kláves n
, ak inštalovať nechceme. Následne stlačíme kláves Enter
.
Nastavenie prebieha v grafickom rozhraní webového prehliadača, ktorý si ale najskôr musíme pripraviť v príkazovom riadku:
sudo /usr/local/lsws/admin/misc/admpass.sh
Zadáme User name tibor
, password Toto.Hes1o.je:silne
a znova heslo potvrdíme. Úspech akcie nám oznamuje hlásenie “Administrator’s username/password is updated successfully!”. Na tejto adrese nájdeme administrátorské nastavenia:
http://IP_adresa:7080
Zobrazí sa upozornenie o tom, že spojenie nie je zabezpečené. Tentokrát aj napriek upozorneniu budeme pokračovať, aby sme mohli OpenLiteSpeed nastaviť tak, že už nebude podobné upozornenie vypisovať:
Prihlásime za vyššie zadaným menom (tibor
) a heslom (Toto.Hes1o.je:silne
) a zmeníme port z 8088
na 80
, aby sme za IP adresu nemuseli písať dvojbodku a číslo portu (http://IP_adresa:8088
sa zmení na http://IP_adresa
):
Následne nastavíme OpenLiteSpeed tak, aby začal používať aktuálnu verziu PHP, ktorú sme nainštalovali vyššie (čiže tu z verzie 7.3 prejde na verziu 7.4):
Po 5. kroku sa nám zobrazí rozsiahly formulár, ktorý vyplníme takto (vynechané položky necháme prázdne):
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 sa do formulára zapísané hodnoty uložili, klikneme hore vpravo na ikonu diskety.
Vytvorili sme novú externú aplikáciu pod názvom lsphp74
a teraz nastavíme OpenLiteSpeed tak, aby ju používal a následne server kliknutím na zelenú ikonu hore vpravo reštartujeme:
Na adrese http://IP_adresa/phpinfo.php
vidíme hneď v nadpise informáciu, že OpenLiteSpeed využíva PHP v aktuálnej verzii 7.4.
Zabezpečujeme spojenie cez HTTPS
OpenLiteSpeed potrebuje na zabezpečené pripojenie kľúč a certifikát s vlastným podpisom a kľúč a certifikát od certifikačnej autority ako je Let’s Encrypt. Najskôr si vytvoríme prvú dvojicu:
openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Pri všetkých poliach stačí stlačiť kláves Enter
, čo znamená, že zadávame prázdnu hodnotu.
Nainštalujeme nástroj Certbot, ktorý zadarmo automatizuje zložitý proces ručného vytvárania, overovania, podpisovania, inštalácie a obnovovania certifikátu od Let’s Encrypt:
sudo apt install certbot
Takto požiadame o vytvorenie certifikátu pre doménu (tu vps.websupport.tech
), ktorú máme prepojenú s IP adresou servera:
sudo certbot certonly --webroot -w /usr/local/lsws/Example/html/ -d vps.websupport.tech
Zadáme e-mailovú adresu a potvrdíme klávesom Enter
, stlačíme kláves A
a potvrdíme klávesom Enter
a nakoniec ešte stlačíme kláves N
a potvrdíme klávesom Enter
.
Certifikát od certifikačnej autority Let’s Encrypt pre našu doménu (tu vps.websupport.tech
) máme vytvorený a teraz nastavíme OpenLiteSpeed tak, aby ho začal používať. Začneme pridaním zabezpečeného kanála, ktorý bude prijímať dopyty na porte 443
:
Priradíme našu doménu (tu vps.websupport.tech
) k virtuálnemu hostingu (tu pod názvom Example
) na zabezpečenom kanáli (SSL
):
Zadáme cestu k privátnemu kľúču (key.pem
) a k certifikátu s vlastným podpisom (cert.pem
). Názov konta (tu tibor
) sa môže líšiť a je potrebné to zohľadniť pri zadávaní ciest:
Zadáme cestu k privátnemu kľúču (privkey.pem
) a k certifikátu (fullchain.pem
) od certifikačnej autority Let’s Encrypt. Názov domény (tu vps.websupport.tech
) bude odlišný a je potrebné to zohľadniť pri zadávaní ciest:
Takto nastavený OpenLiteSpeed reštartujeme kliknutím na zelenú ikonu hore vpravo. Následne do webového prehliadača zadáme názov domény (tu vps.websupport.tech) cez zabezpečené spojenie (HTTPS) takto:
https://vps.websupport.tech
Zobrazená webová stránka by mala informovať o tom, že sa načítala cez zabezpečené spojenie a má platný certifikát. Vo webovom prehliadači kliknite na ikonu zamknutého visiaceho zámku hore vľavo:
Inštalujeme databázový server MySQL
OpenLiteSpeed teraz dokáže spolupracovať s jazykom PHP v jeho aktuálnej verzii, ktorý zase vie komunikovať s MySQL. Poďme si teda nainštalovať MySQL, aby sme pomocou PHP dokázali ukladať údaje do databázy. Stačí jeden príkaz:
sudo apt install mysql-server
Stlačíme klávesu y
a následne klávesu Enter
a počkáme na dokončenie inštalácie.
Z bezpečnostných dôvodov sa po inštalácii MySQL odporúča spustiť skript
sudo mysql_secure_installation
v ktorom na všetky otázky odpovieme y
a stlačíme klávesu Enter
. V procese skriptu si zvolíte ešte “password validation policy” na MEDIUM (číslo 1
+ Enter
) a heslo pre účet root prístupu do MySQL (nie je to isté ako root Linuxu). V hesle použite minimálne 8 znakov – malé a veľké písmená, čísla a špeciálne znaky ako bodka, čiarka, dvojbodka, zavináč, otáznik, výkričník, …
Ďalej potrebujeme vytvoriť nového používateľa s obmedzenými právami (nepoužijeme používateľa root
). Spustíme teda komunikáciu s databázovým serverom MySQL:
sudo mysql
vytvoríme používateľa (tu tibor
), ktorému priradíme dostatočne silné heslo (tu Toto.Hes1o.je:silne
). V hesle použijeme minimálne 8 znakov – malé a veľké písmená, čísla a špeciálne znaky ako bodka, čiarka, dvojbodka, zavináč, otáznik, výkričník, …
create user 'tibor'@'localhost' identified by 'Toto.Hes1o.je:silne';
vytvoríme databázu s názvom test:
create database test;
a používateľovi tibor udelíme všetky práva na prácu s databázou test takto:
grant all privileges on test.* to 'tibor'@'localhost';
flush privileges;
Ukončíme prácu s MySQL serverom:
exit
Zhrnutie
Nainštalovali sme predovšetkým na rýchlosť zameraný webový server OpenLiteSpeed s podporou aktuálnej verzie PHP a bezplatného bezpečnostného certifikátu od Let’s Encrypt. Vďaka tomuto webovému serveru sme rýchlosť zobrazovania statických aj dynamických stránok cez HTTPS násobne zvýšili. Pripravili sme si databázu MySQL tak, aby sme pomocou jazyka PHP mohli do testovacej databázy zapisovať údaje. S OpenLiteSpeed sme tiež získali možnosť inštalácie WordPressu na jedno kliknutie.