Ako nainštalovať LOMP Stack (OpenLiteSpeed, MySQL a PHP) na Debian 12
Tento návod existuje pre tieto verzie OS
- Debian 12 (knihomoľ)
- Debian 11 (bullseye)
- Debian 10 (Buster)
Na tejto stránke
- Predpoklady
- Krok 1 - Nakonfigurujte bránu firewall
Krok 2 - Nainštalujte OpenLiteSpeed
- Vytvorte heslo správcu
Krok 6 – Nakonfigurujte OpenLiteSpeed
Krok 7 – Nakonfigurujte PHP
OpenLiteSpeed je odľahčená a open source verzia servera LiteSpeed vyvinutá spoločnosťou LiteSpeed Technologies. Podporuje pravidlá Apache Rewrite, HTTP/2 a HTTP/3 spolu s protokolmi TLS v1.3 a QUIC. Dodáva sa s administračným panelom založeným na WebGUI, ktorý ho odlišuje od ostatných serverov a uľahčuje jeho správu.
LOMP Stack je skratka pre Linux, OpenLiteSpeed, MySQL/MariaDB a PHP. Servery Litespeed sú známe svojou rýchlosťou, najmä s PHP, ktoré sa integruje pomocou LiteSpeed Server Application Programming Interface (LSAPI). Interpret LiteSpeed PHP (LSPHP) obsluhuje dynamické stránky PHP cez LSAPI.
V tomto návode sa naučíme, ako nainštalovať server OpenLiteSpeed na počítač Debian 12.
Predpoklady
Server so systémom Debian 12.
Používateľ bez oprávnenia root s oprávneniami sudo.
Plne kvalifikovaný názov domény (FQDN) ako example.com
smerujúci na server.
SELinux nemusí byť deaktivovaný alebo nakonfigurovaný na prácu s OpenLiteSpeed.
Uistite sa, že je všetko aktualizované.
$ sudo apt update
$ sudo apt upgrade
Niekoľko balíkov, ktoré váš systém potrebuje.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
Niektoré z týchto balíkov už môžu byť vo vašom systéme nainštalované.
Krok 1 - Nakonfigurujte bránu firewall
Prvým krokom je konfigurácia brány firewall. Debian sa štandardne dodáva s ufw (Uncomplicated Firewall).
Skontrolujte, či je spustený firewall.
$ sudo ufw status
Dostanete nasledujúci výstup.
Status: inactive
Povoľte port SSH, aby firewall pri jeho povolení neprerušil aktuálne pripojenie.
$ sudo ufw allow OpenSSH
Povoliť aj porty HTTP a HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Otvorené porty súvisiace s Openlitespeed.
$ sudo ufw allow 7080/tcp
Povoľte bránu firewall
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Znova skontrolujte stav brány firewall.
$ sudo ufw status
Mali by ste vidieť podobný výstup.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
7080/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
7080/tcp (v6) ALLOW Anywhere (v6)
Krok 2 - Nainštalujte OpenLiteSpeed
OpenLiteSpeed nedodáva balík pre Debian 12. Preto vytvoríme našu kópiu zo zdrojového kódu.
Stiahnite si súbor zdrojového kódu OpenLiteSpeed. Odkaz na najnovší súbor zdrojového kódu môžete získať z oficiálnej stránky na stiahnutie OpenLiteSpeed.
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.18.src.tgz
Extrahujte súbor.
$ tar -zxf openlitespeed-*.tgz
Prepnite sa do extrahovaného adresára.
$ cd openlitespeed-1.7.18
Zostavte serverový balík.
$ sudo ./build.sh
Možno budete musieť počkať dobrých 5-10 minút, kým sa proces dokončí. Ignorujte všetky upozornenia, ktoré dostanete počas procesu. Po dokončení dostanete nasledujúci výstup.
[100%] Linking CXX shared library modpagespeed.so
/usr/bin/ld: warning: 140.x25519-asm-x86_64.o.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[100%] Built target modpagespeed
Start to pack files.
-e Building finished, please run ./install.sh for installation.
-e You may want to update the ols.conf to change the settings before installation.
-e Enjoy.
Po dokončení procesu otvorte súbor ols.conf
na úpravu.
$ sudo nano ols.conf
Upravte súbor, ako je uvedené nižšie.
#If you want to change the default values, please update this file.
#
SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
[email
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#You can set password here
#OPENLSWS_PASSWORD=
Nepridávajte sem svoje heslo. Heslo nastavíme neskôr pomocou príkazového riadku. Po dokončení uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.
Teraz, keď je OpenLiteSpeed vytvorený, dovoľte nám ho nainštalovať.
$ sudo ./install.sh
Inštalačný skript nainštaluje a aktivuje službu lsws
pre server. Po dokončení dostanete nasledujúci výstup.
Updating webcache manager, please waiting ...
Downloading latest shared code tar file...
Checking tar file md5...
Removing existing shared code directory...
Extracting downloaded shared code...
Removing local shared code tar file...
Updating lscmctl script...
Done!
-e Installation finished, Enjoy!
-e Your webAdmin password is kXjWTl5j, written to file /usr/local/lsws/adminpasswd.
Spustite server OpenLiteSpeed.
$ sudo systemctl start lsws
Skontrolujte stav služby.
$ sudo systemctl status lsws
? lsws.service - LSB: lshttpd
Loaded: loaded (/etc/init.d/lsws; generated)
Active: active (running) since Wed 2023-09-27 15:55:13 UTC; 4h 18min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 4 (limit: 4652)
Memory: 79.2M
CPU: 37.823s
CGroup: /system.slice/lsws.service
??64164 "openlitespeed (lshttpd - main)"
??64171 "openlitespeed (lscgid)"
??64184 "openlitespeed (lshttpd - #01)"
??64185 "openlitespeed (lshttpd - #02)"
Sep 27 15:55:11 lomp systemd[1]: Starting lsws.service - LSB: lshttpd...
Sep 27 15:55:13 lomp systemd[1]: Started lsws.service - LSB: lshttpd.
Skontrolujte verziu nainštalovaného servera.
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.18 Open (BUILD built: Tue Aug 29 12:59:39 UTC 2023)
module versions:
lsquic 3.2.0
modgzip 1.1
cache 1.64
mod_security 1.4 (with libmodsecurity v3.0.9)
Vytvorte heslo správcu
Môžete použiť heslo správcu zadané počas procesu inštalácie. Mali by ste si však vytvoriť svoj vlastný resetovaním. Spustite skript na obnovenie hesla.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Dostanete nasledujúci výstup. Vyberte si používateľské meno a nastavte silné heslo.
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: navjot
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
Teraz môžete použiť nové heslo správcu.
Otvorte http://
pre prístup k administračnému panelu OpenLiteSpeed. Pri prvom prihlásení vás prehliadač upozorní, že vaše pripojenie nie je súkromné. Kliknite na Rozšírené a kliknite na „Prijať riziko a pokračovať“ (v prípade Firefoxu) alebo „Pokračovať na
“ (v prípade prehliadača Chromium). Varovanie sa vám už nezobrazí.
Mali by ste vidieť prihlasovaciu stránku.
Zadajte prihlasovacie údaje, ktoré ste nastavili predtým, a pokračujte stlačením tlačidla Prihlásiť sa.
Dostanete nasledujúcu obrazovku.
Krok 3 - Nainštalujte MariaDB
Debian sa už nedodáva so serverom MySQL. Preto budeme používať náhradný modul MySQL, MariaDB. Predtým, ako budeme pokračovať, musíme aktualizovať úložisko LiteSpeed. Úložisko Litespeed pridané cez inštalačný program nefunguje správne.
Otvorte súbor /etc/apt/sources.list.d/lst_debian_repo.list
na úpravu.
$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list
Zmeňte obsah súboru pridaním Debian 11 (bullseye
). Nemôžeme naň použiť Debian 12 (knihomoľ
), pretože úložisko nie je preň aktualizované.
deb http://rpms.litespeedtech.com/debian/ bullseye main
Po dokončení uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.
Nainštalujte server MariaDB.
$ sudo apt install mariadb-server
Služba MariaDB sa automaticky spustí a spustí po inštalácii.
Skontrolujte stav služby.
$ sudo systemctl status mariadb
Dostanete nasledujúci výstup.
? mariadb.service - MariaDB 10.11.3 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Active: active (running) since Fri 2023-09-29 01:21:09 UTC; 1min 26s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 361450 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 10 (limit: 4652)
Memory: 190.8M
CPU: 411ms
CGroup: /system.slice/mariadb.service
??361450 /usr/sbin/mariadbd
Spustite bezpečnostný skript MariaDB.
$ sudo mariadb-secure-installation
Budete požiadaní o heslo používateľa root. Stlačte Enter, pretože sme preň nenastavili žiadne heslo.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
Ďalej sa vás spýta, či chcete prejsť na metódu autentifikácie soketu Unix. Doplnok unix_socket
vám umožňuje použiť prihlasovacie údaje operačného systému na pripojenie k serveru MariaDB. Keďže už máte chránený účet root, pokračujte zadaním n
.
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
Ďalej sa vás spýta, či chcete zmeniť svoje root heslo. V Debiane 12 je heslo root úzko prepojené s automatickou údržbou systému, takže by sa malo nechať tak. Ak chcete pokračovať, zadajte n
.
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] n
Ďalej sa vám spýtajú určité otázky na zlepšenie zabezpečenia MariaDB. Ak chcete odstrániť anonymných používateľov, zakázať vzdialené prihlásenia root, odstrániť testovaciu databázu a znova načítať tabuľky privilégií, zadajte Y.
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Do prostredia MariaDB môžete vstúpiť zadaním sudo mysql
alebo sudo mariadb
na príkazovom riadku.
Krok 4 - Nainštalujte PHP
Keďže sme náš balík zostavili zo zdroja, kompiluje a zostavuje starú verziu PHP, ktorá sa neodporúča používať. Môžete to skontrolovať pomocou nasledujúceho príkazu.
$ /usr/local/lsws/fcgi-bin/lsphp -v
PHP 5.6.40 (litespeed) (built: May 10 2023 23:03:31)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Preto musíme zostaviť a nainštalovať najnovšiu verziu PHP. Ale predtým, ako budeme pokračovať, musíme nainštalovať nástroje na zostavovanie.
$ sudo apt install build-essential autoconf libtool bison re2c pkg-config
Ďalším krokom je inštalácia balíkov vyžadovaných procesom zostavovania PHP.
$ sudo apt install libssl-dev libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev libzip-dev libmemcached-dev libreadline-dev libgmp-dev libpng-dev libjpeg-dev libwebp-dev libxpm-dev libicu-dev libfreetype6-dev libxslt-dev libldb-dev libtidy-dev libvips-dev libsodium-dev libavif-dev libldap2-dev libxml2-dev libkrb5-dev libc-client2007e-dev libpq-dev libargon2-0 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmariadb-dev libmariadb-dev-compat libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev
Ďalej si stiahnite zdrojový kód PHP. Stiahneme si verziu PHP 8.2.10, čo je najnovšia verzia dostupná v čase písania.
$ cd ~
$ wget https://www.php.net/distributions/php-8.2.11.tar.gz
Extrahujte súbory.
$ tar -xzf php-8.2.11.tar.gz
Prejdite do prevzatého adresára.
$ cd php-8.2.11
Potom spustite konfiguračný skript s nasledujúcimi možnosťami. Možnosť --enable-litespeed
je nevyhnutná.
$ sudo ./configure --prefix=/usr/local/lsws/lsphp82 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --with-avif --with-curl --with-ffi --with-freetype --with-gettext --with-gmp --with-imap --with-imap-ssl --with-jpeg --with-kerberos --with-libxml --with-ldap --with-mysqli --with-mysql-sock=/run/mysqld/mysqld.sock --with-openssl --with-password-argon2 --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --with-pear --with-pspell --with-readline --with-sodium --with-tidy --with-webp --with-xpm --with-xsl --with-zip --with-zlib --enable-litespeed
Po dokončení skriptu by ste mali dostať nasledujúci výstup.
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
Zostavte zdroj.
$ sudo make -j $(nproc)
Po dokončení dostanete podobný výstup.
/bin/bash /home/navjot/php-8.2.11/libtool --silent --preserve-dup-deps --tag CC --mode=link cc -shared -I/home/navjot/php-8.2.11/include -I/home/navjot/php-8.2.11/main -I/home/navjot/php-8.2.11 -I/home/navjot/php-8.2.11/ext/date/lib -I/usr/include/libxml2 -I/usr/include/x86_64-linux-gnu -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/c-client -I/home/navjot/php-8.2.11/ext/mbstring/libmbfl -I/home/navjot/php-8.2.11/ext/mbstring/libmbfl/mbfl -I/usr/include/postgresql -I/usr/include/pspell -I/usr/include/tidy -I/home/navjot/php-8.2.11/TSRM -I/home/navjot/php-8.2.11/Zend -D_GNU_SOURCE -I/usr/include/c-client -fno-common -Wstrict-prototypes -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-strict-aliasing -Wno-unused-parameter -Wno-sign-compare -g -O2 -fvisibility=hidden -Wimplicit-fallthrough=1 -DZEND_SIGNALS -o ext/opcache/opcache.la -export-dynamic -avoid-version -prefer-pic -module -rpath /home/navjot/php-8.2.11/modules -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu ext/opcache/ZendAccelerator.lo ext/opcache/zend_accelerator_blacklist.lo ext/opcache/zend_accelerator_debug.lo ext/opcache/zend_accelerator_hash.lo ext/opcache/zend_accelerator_module.lo ext/opcache/zend_persist.lo ext/opcache/zend_persist_calc.lo ext/opcache/zend_file_cache.lo ext/opcache/zend_shared_alloc.lo ext/opcache/zend_accelerator_util_funcs.lo ext/opcache/shared_alloc_shm.lo ext/opcache/shared_alloc_mmap.lo ext/opcache/shared_alloc_posix.lo ext/opcache/jit/zend_jit.lo ext/opcache/jit/zend_jit_gdb.lo ext/opcache/jit/zend_jit_vm_helpers.lo -lrt
/bin/bash /home/navjot/php-8.2.11/libtool --silent --preserve-dup-deps --tag CC --mode=install cp ext/opcache/opcache.la /home/navjot/php-8.2.11/modules
Build complete.
Don't forget to run 'make test'.
Po dokončení spustite nasledujúci príkaz a skúste skontrolovať verziu.
$ ./sapi/litespeed/php -v
PHP 8.2.11 (litespeed) (built: Sep 28 2023 18:40:08)
Copyright (c) The PHP Group
Zend Engine v4.2.11, Copyright (c) Zend Technologies
Nainštalujte PHP.
$ sudo make install
Dostanete nasledujúci výstup.
Installing shared extensions: /usr/local/lsws/lsphp82/lib/php/extensions/no-debug-non-zts-20220829/
Installing PHP CLI binary: /usr/local/lsws/lsphp82/bin/
Installing PHP CLI man page: /usr/local/lsws/lsphp82/php/man/man1/
Installing PHP LiteSpeed binary: /usr/local/lsws/lsphp82/bin/
Installing phpdbg binary: /usr/local/lsws/lsphp82/bin/
Installing phpdbg man page: /usr/local/lsws/lsphp82/php/man/man1/
Installing PHP CGI binary: /usr/local/lsws/lsphp82/bin/
Installing PHP CGI man page: /usr/local/lsws/lsphp82/php/man/man1/
Installing build environment: /usr/local/lsws/lsphp82/lib/php/build/
Installing header files: /usr/local/lsws/lsphp82/include/php/
Installing helper programs: /usr/local/lsws/lsphp82/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/lsws/lsphp82/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lsws/lsphp82/lib/php/
[PEAR] Archive_Tar - installed: 1.4.14
[PEAR] Console_Getopt - installed: 1.4.3
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.4.5
warning: pear/PEAR dependency package "pear/Archive_Tar" installed version 1.4.14 is not the recommended version 1.4.4
[PEAR] PEAR - installed: 1.10.13
Wrote PEAR system config file at: /usr/local/lsws/lsphp82/etc/pear.conf
You may want to add: /usr/local/lsws/lsphp82/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/lsws/lsphp82/include/php/ext/pdo/
Skontrolujte inštaláciu PHP. V adresári /usr/local/lsws/lsphp82/bin
sú k dispozícii dva binárne súbory PHP. Jeden je normálny php
, čo je verzia pre príkazový riadok, a druhý je verzia Litespeed lsphp
. Druhý je ten, ktorý budeme používať.
$ /usr/local/lsws/lsphp82/bin/lsphp -v
PHP 8.2.11 (litespeed) (built: Sep 28 2023 18:40:08)
Copyright (c) The PHP Group
Zend Engine v4.2.11, Copyright (c) Zend Technologies
Môžete skontrolovať zoznam povolených modulov PHP.
$ /usr/local/lsws/lsphp82/bin/php --modules
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
pspell
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Skopírujte súbor php.ini-production
z inštalačného priečinka do priečinka /usr/local/lsws/lsphp82/lib
.
$ sudo cp php.ini-production /usr/local/lsws/lsphp82/lib/php.ini
Neskôr nakonfigurujeme OpenLiteSpeed na prácu s PHP.
Na úpravu otvorte súbor php.ini
.
$ sudo nano /usr/local/lsws/lsphp82/lib/php.ini
Nájdite premennú include_path
a zmeňte jej hodnotu, ako je uvedené nižšie.
$ ;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = /usr/local/lsws/lsphp82/lib/php
Po dokončení uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.
Krok 5 – Nakonfigurujte MariaDB
Prihláste sa do prostredia MariaDB.
$ sudo mysql
Vytvorte testovaciu databázu. Nahraďte testdb
príslušným názvom databázy podľa vášho výberu.
mysql> CREATE DATABASE testdb;
Vytvorte testovacieho používateľa. Nahraďte testuser
príslušným užívateľským menom. Nahraďte Your_Password123
silným heslom.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
Udeľte používateľovi všetky privilégiá k databáze.
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
Keďže nemodifikujeme užívateľa root, mali by ste vytvoriť ďalšieho užívateľa SQL na vykonávanie administratívnych úloh, ktoré využívajú autentifikáciu heslom. Pre toto si zvoľte silné heslo.
MariaDB> GRANT ALL ON *.* TO 'navjot'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;
Vyprázdniť používateľské práva.
mysql> FLUSH PRIVILEGES;
Ukončite shell MySQL.
mysql> exit
Krok 6 – Nakonfigurujte OpenLiteSpeed
Prepnite port HTTP späť na 80
Dovoľte nám zmeniť predvolený HTTP port na 80. Prihláste sa do svojho administračného panela na http://
s prihlasovacími údajmi, ktoré ste práve vytvorili.
Navštívte sekciu Poslucháči zľava. Uvidíte predvolené prijímače s portom 8080
.
Kliknutím na tlačidlo Zobraziť zobrazíte podrobnú konfiguráciu. Na ďalšej stránke v časti Predvolené nastavenie poslucháča > Všeobecné kliknite na ikonu Upraviť a zmeňte port z 8080
na 80
.
Kliknite na Save a potom reštartujte server kliknutím na tlačidlo Graceful restart.
Krok 7 – Nakonfigurujte PHP
V tomto kroku musíme priradiť našu kópiu PHP 8.2 k serveru.
Kliknite na sekciu Konfigurácia servera vľavo a potom na kartu Externá aplikácia. Uvidíte existujúcu aplikáciu LiteSpeed pre PHP. Urobíme v ňom nejaké úpravy.
Kliknutím na tlačidlo Upraviť upravíte aplikáciu PHP.
Ďalej prispôsobte konfiguráciu, ako je uvedené nižšie. Všetky ostatné polia nechajte prázdne.
Name: lsphp
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: lsphp82/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
Po dokončení kliknite na tlačidlo Uložiť.
Teraz, keď sme vytvorili našu vlastnú aplikáciu PHP 8.2, musíme povedať serveru, aby ju začal používať. Keďže sme upravili predvolený zoznam, je už nakonfigurovaný. Reštartujte server kliknutím na tlačidlo Graceful restart.
Ak chcete otestovať, či bolo vaše PHP prepnuté správne, navštívte vo svojom prehliadači http://
.
Reštartujte PHP
Ak na OpenLiteSpeed upravíte php.ini alebo nainštalujete nový modul PHP, reštartovanie servera neukáže zmeny. Na to budete musieť reštartovať proces PHP. Najprv budete musieť nájsť ID procesov pre proces lsphp
.
$ ps aux | grep lsphp
nobody 500747 0.9 0.8 121104 34928 ? S 05:58 0:00 lsphp
nobody 500748 0.0 0.4 121104 16760 ? Ss 05:58 0:00 lsphp
navjot 500751 0.0 0.0 3876 1908 pts/0 S+ 05:58 0:00 grep lsphp
Manuálne zabite procesy lsphp
.
$ sudo kill -9 500747
$ sudo kill -9 500748
Reštartujte server.
$ sudo systemctl restart lsws
Krok 8 - Vytvorte VirtualHost
Najprv musíme vytvoriť adresáre pre nášho virtuálneho hostiteľa.
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
Adresár html
bude obsahovať verejné súbory a adresár logs
bude obsahovať protokoly servera.
Potom otvorte správcovskú konzolu, prejdite vľavo do sekcie Virtuálni hostitelia a kliknite na tlačidlo Pridať.
Doplňte hodnoty podľa špecifikácie
Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID
Po dokončení kliknite na tlačidlo Uložiť. Zobrazí sa nasledujúca chyba, pretože konfiguračný súbor zatiaľ neexistuje. Kliknutím na odkaz vytvoríte konfiguračný súbor.
Opätovným kliknutím na tlačidlo Uložiť dokončíte vytváranie virtuálneho hostiteľa.
Po vytvorení virtuálneho hostiteľa prejdite na Virtual Hosts -> Choose Virtual Host(example.com) -> General a upravte konfiguráciu podľa zadania.
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes
Po dokončení kliknite na tlačidlo Uložiť. Ďalej musíme nastaviť indexové súbory. Kliknite na tlačidlo Upraviť pri Indexových súboroch pod sekciou Všeobecné. Nastavte nasledujúce možnosti.
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No
Po dokončení kliknite na tlačidlo Uložiť. Ďalej musíme vybrať Protokoly. Prejdite do sekcie Denník, kliknite na položku Upraviť proti Protokolu virtuálneho hostiteľa a vyplňte nasledujúce hodnoty. Ostatné nastavenia ponechajte nezmenené.
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set
Ak používate vývojový počítač, môžete si vybrať Úroveň denníka ako LADENIE
.
Kliknite na tlačidlo Uložiť a potom kliknite na znamienko plus v sekcii Denník prístupov a pridajte novú položku. Vyplňte nasledujúce hodnoty.
Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set
Bytes log: Not Set
Po dokončení kliknite na tlačidlo Uložiť. Ďalej musíme nakonfigurovať Ovládanie prístupu v sekcii Zabezpečenie. Nastavte nasledujúce hodnoty.
Allowed List: *
Denied List: Not set
Po dokončení kliknite na tlačidlo Uložiť. Ďalej musíme nastaviť Definíciu obslužného programu skriptu. Kliknutím na znamienko plus (+) pridáte novú definíciu. Nastavte nasledujúce hodnoty.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp
Po dokončení kliknite na tlačidlo Uložiť. Ďalej musíme nastaviť Rewrite Control v sekcii Rewrite. Nastavte nasledujúce hodnoty.
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set
Po dokončení kliknite na tlačidlo Uložiť. A nakoniec musíme nastaviť poslucháčov. Prejdite do sekcie Poslucháči a kliknite na tlačidlo Zobraziť v ponuke Predvolený poslucháč. Potom kliknite na tlačidlo Pridať proti mapovaniu virtuálneho hostiteľa, čím pridáte nové mapovanie a nastavíte nasledujúce hodnoty.
Virtual Host: example.com
Domains: example.com
Po dokončení kliknite na tlačidlo Uložiť. Teraz kliknite na tlačidlo Graceful restart, aby ste použili všetky vyššie uvedené zmeny a reštartovali server.
Krok 9 - Nainštalujte SSL
Nastavenie SSL v OpenLiteSpeed vyžaduje, aby sme nastavili dva certifikáty. Certifikát s vlastným podpisom pre celý server a server Let's Encrypt špecifický pre lokalitu.
Administračný panel sa už dodáva s predinštalovaným certifikátom s vlastným podpisom, ktorý je dostupný v adresári /usr/local/lsws/admin/conf
.
Najprv vytvorte certifikát s vlastným podpisom pre celý server.
$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Získate podobný výstup.
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:[email
Môžete stlačiť enter cez všetky polia a nechať ich prázdne. Do poľa Common name a svojej e-mailovej adresy zadajte svoju doménu.
Vytvorte adresár pre certifikáty s vlastným podpisom.
$ sudo mkdir /usr/local/lsws/certs
Skopírujte certifikát do adresára /usr/local/lsws/certs
.
$ sudo mv *.pem /usr/local/lsws/certs
Na generovanie bezplatných certifikátov SSL, ktoré ponúka Let's Encrypt, musíme nainštalovať Certbot.
Certbot môžete nainštalovať pomocou úložiska Debianu alebo získať najnovšiu verziu pomocou nástroja Snapd. Budeme používať verziu Snapd. Debian 12 sa nedodáva s nainštalovaným Snapd.
Nainštalujte balík Snapd.
$ sudo apt install -y snapd
Spustite nasledujúce príkazy, aby ste sa uistili, že vaša verzia Snapd je aktuálna.
$ sudo snap install core
$ sudo snap refresh core
Ak chcete nainštalovať Certbot, zadajte nasledujúci príkaz.
$ sudo snap install --classic certbot
Pomocou nasledujúceho príkazu zaistite spustenie príkazu Certbot vytvorením symbolického odkazu na adresár /usr/bin
.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Overte inštaláciu.
$ certbot --version
certbot 2.6.0
Spustite nasledujúci príkaz na vygenerovanie certifikátu SSL.
Získajte certifikát SSL. Adresár webroot je nastavený na verejný adresár HTML nakonfigurovaný skôr.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email -d example.com
Vygenerujte certifikát Diffie-Hellman group.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Skontrolujte službu plánovača obnovy Certbot.
$ sudo systemctl list-timers
Ako jednu zo služieb naplánovaných na spustenie nájdete snap.certbot.renew.service
.
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Sat 2023-09-30 18:12:21 UTC 2h 59min left Sat 2023-09-30 14:22:18 UTC 50min ago apt-daily.timer apt-daily.service
Sat 2023-09-30 18:54:00 UTC 3h 41min left - - snap.certbot.renew.timer snap.certbot.renew.service
Sun 2023-10-01 00:00:00 UTC 8h left - - dpkg-db-backup.timer dpkg-db-backup.service
Ak chcete skontrolovať, či obnovenie SSL funguje správne, vykonajte proces nasucho.
$ sudo certbot renew --dry-run
Ak nevidíte žiadne chyby, všetko je nastavené. Váš certifikát sa automaticky obnoví.
Teraz otvorte správcovskú konzolu, prejdite na Poslucháči >> Pridať nového poslucháča a pridajte nasledujúce hodnoty.
Listener Name: SSL
IP Address: ANY IPv4
Port: 443
Secure: Yes
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite do sekcie Mapovanie virtuálnych hostiteľov v časti SSL Listener kliknutím na SSL, kliknutím na tlačidlo Pridať a vyplnením nasledujúcich hodnôt.
Virtual Host: example.com
Domains: example.com
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite na Poslucháči >> Prijímač SSL >> Karta SSL >>Súkromný kľúč a certifikát SSL (tlačidlo Upraviť) a vyplňte nasledujúce hodnoty pre certifikát s vlastným podpisom, ktorý sme predtým vytvorili.
Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite na Poslucháči >> Prijímač SSL >> Karta SSL >> Protokol SSL (tlačidlo Upraviť) a vyplňte nasledujúce hodnoty pre protokol SSL a podrobnosti o šifre.
Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite na Virtual Hosts >> example.com >> Karta SSL >> Súkromný kľúč a certifikát SSL (tlačidlo Upraviť) a vyplňte nasledujúce hodnoty pomocou certifikátu Let's Encrypt.
Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite na Virtual Hosts >> example.com >> Karta SSL >> Zošívanie OCSP (tlačidlo Upraviť) a vyplňte nasledujúce hodnoty, aby ste povolili zošívanie OCSP.
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org
Po dokončení kliknite na tlačidlo Uložiť. Ďalej prejdite na Virtual Hosts >> example.com >> Karta SSL >> Zabezpečenie (tlačidlo Upraviť) a vyplňte nasledujúce hodnoty, aby ste povolili protokol HTTP3/QUIC.
Enable HTTP3/QUIC: Yes
Nepotrebujeme povoliť ďalšie možnosti, pretože sú predvolene zapnuté.
Po dokončení kliknite na tlačidlo Uložiť.
Reštartujte server kliknutím na tlačidlo Graceful restart.
Krok 10 - Testovacie miesto
Vytvorte testovací súbor vo svojom adresári html
.
$ sudo nano /usr/local/lsws/example.com/html/index.php
Vložte nasledujúci kód do editora Nano.
<html>
<head>
<h2>OpenLiteSpeed Server Install Test</h2>
</head>
<body>
<?php echo '<p>Hello,</p>';
// Define PHP variables for the MySQL connection.
$servername = "localhost";
$username = "testuser";
$password = "Your_Password123";
// Create a MySQL connection.
$conn = mysqli_connect($servername, $username, $password);
// Report if the connection fails or is successful.
if (!$conn) {
exit('<p>Your connection has failed.<p>' . mysqli_connect_error());
}
echo '<p>You have connected successfully.</p>';
?>
</body>
</html>
Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y. Otvorte v prehliadači adresu URL https://example.com
a mala by sa zobraziť nasledujúca stránka.
Testovacia stránka je plne funkčná. Server môžete začať používať na poskytovanie dynamických webových stránok a aplikácií PHP.
Záver
Toto uzatvára náš návod na inštaláciu LOMP Stack (OpenLiteSpeed, MySQL a PHP) na server Debian 12. Ak máte nejaké otázky, napíšte ich do komentárov nižšie.