Niedawno przyszło mi postawić serwer lokalny OpenLiteSpeed dla WordPressa. Jako że serwer ten uruchomiłem na Debianie w wersji testowej (obecnie jest to bullseye), a wychodzi na to, że wsparcie dla tej wersji jest uboższe, więc postanowiłem napisać taki “how to do”.
Dlaczego OpenLiteSpeed
Aktualnie ten blog jest obsługiwany przez tę technologię, ponieważ wszystkie znaki na niebie i ziemi wskazują, iż na ten czas jest to najwydajniejsze rozwiązanie dla WordPressa i generalnie wszystkiego, co jest napisane w PHP. Ja chcąc rozwijać tego bloga od strony programistycznej, musiałem utworzyć jego kopie lokalnie dla powstawania i testowania nowych rozwiązań i funkcji wdrażanych na bloga. Tak, aby już tylko sprawdzone i działające efekty mojej pracy w tym miejscu się pojawiały.
Sposób instalacji OpenLiteSpeed
Oficjalna dokumentacja podaje pięć sposobów instalacji serwera. Pierwszy sposób to dodanie repozytorium dla swojego systemu operacyjnego i zainstalowanie już gotowych paczek. Niestety dla Debiana w wersji testowej nie ma takiego repozytorium. Drugi sposób, to pobranie gotowej paczki binarnej i ten sposób tutaj przedstawię. Możemy także pobrać źródła i je skompilować. Istnieje też skrypt 1-Click Install, dzięki któremu mamy wszystko zautomatyzowane i za jednym zamachem zainstalujemy OpenLiteSpeed, PHP, bazę danych MySQL, moduł LSCache oraz WordPressa ze wtyczką LiteSpeed Cache. Dla mnie to rozwiązanie byłoby zbyt piękne gdyby zadziałało. Skrypt ten już na początku sprawdza wersję systemu operacyjnego i po tej czynności dostałem informację, że niestety, ale również ten typ instalacji nie jest wspierany dla Debiana bullseye. Ostatnim sposobem jest rozwiązanie kontenerowe Docker.
Instalacja serwera
Zacznijmy od utworzenia katalogu “roboczego”. Ja stworzę go w katalogu domowym.
$ mkdir /home/user/DEV
Następnie ściągamy OpenLiteSpeed. Pobrać możemy bezpośrednio ze strony https://openlitespeed.org/downloads/ lub poprzez polecenie w CLI.
$ cd /home/user/DEV/openlitespeed$ wget https://openlitespeed.org/packages/openlitespeed-1.6.14.tgz
$ - oznacza wykonywanie polecenia bez praw administratora# - polecenie musi być wykonane z prawami administratora (root)
Instalujemy OpenLiteSpeed
$ tar -zxvf openlitespeed-*.tgz$ cd openlitespeed# ./install.sh
Uruchamiamy serwer
# /usr/local/lsws/bin/lswsctrl start
Sprawdzenie statusu serwera.
# /usr/local/lsws/bin/lswsctrl status
Adres do strony konfiguracyjnej serwera. Domyślny login to “admin”, hasło “123456”.
Adres do strony demo.
Instalacja PHP w wersji 7.x.x
Domyślnie OpenLiteSpeed jest skonfigurowany z PHP w wersji 5.6.x, więc trzeba będzie dodać najnowszą wersję, jaka jest aktualnie dostępna, ponieważ także na serwerze produkcyjnym zawsze PHP używam w najnowszej wersji.
Kompilacja PHP
Logujemy się do panelu administracyjnego serwera.
Następnie przechodzimy do zakładki [Tools] > [Compile PHP] i wybieramy odpowiednią wersję.
W tym kroku ustawiamy ścieżkę instalacyjną oraz uzupełniamy parametry kompilacji pod swoje potrzeby. Moja konfiguracja wygląda następująco:
'--with-mysqli' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-mbstring' '--with-iconv' '--with-mcrypt' '--with-pdo-mysql' '--enable-ftp' '--enable-zip' '--with-curl' '--enable-soap' '--enable-xml' '--enable-json' '--with-openssl' '--enable-bcmath' '--enable-litespeed' '--enable-exif' '--with-bz2' '--with-gmp' '--with-gettext' '--enable-huge-code-pages' '--enable-opcache' '--with-zip' '--enable-gd'
Gdy pobieranie zostanie zakończone pomyślnie, to przechodzimy do ostatniego etapu kompilacji oraz instalacji. W tym celu otwieramy terminal i wklejamy poniższe polecenie uruchamiające skrypt kompilacji. Cały przebieg kompilacji możemy obserwować w okienku panela administracyjnego serwera. Po pomyślnym zakończeniu mamy gotowy do pracy PHP w wybranej wersji. W trakcie kompilacji mogą wystąpić błędy spowodowane najczęściej brakiem jakiejś zależności. W takim wypadku wystarczy przeczytać z logu, jakiej paczki brakuje, zainstalować ją i ponownie rozpocząć kompilację.
# /usr/local/lsws/phpbuild/buildphp_manual_run.sh
Konfiguracja PHP
PHP możemy skonfigurować na dwa sposoby. Globalnie lub dla każdego vhosta (wirtualny host) osobno. Aby skonfigurować PHP globalnie, przechodzimy do sekcji [Server Configuration] i dodajemy do aplikacji zewnętrznych [External App].
Jeszcze musimy zdefiniować w [Script Handler].
Dla konkretnych wirtualnych hostów konfiguracja wygląda identycznie jak w przypadku konfiguracji globalnej, tylko wykonujemy to w sekcji [Virtual Hosts] dla konkretnego wirtualnego hosta.
Internety
Społeczność, zapraszam do odwiedzin.
https://www.facebook.com/digichip/
https://www.instagram.com/digi_chip/
https://www.youtube.com/channel/UCdsWnKzt6H4xBLd6Jwr8BqA