Установка сервера · 21 min read · Nov 24, 2025
Как установить стек LOMP (OpenLiteSpeed, MySQL и PHP) на Ubuntu 24.04

OpenLiteSpeed — это легковесная и открытая версия LiteSpeed Server, разработанная компанией LiteSpeed Technologies. Он поддерживает правила переписывания Apache, HTTP/2 и HTTP/3, а также протоколы TLS v1.3 и QUIC. Он поставляется с панелью управления на основе WebGUI, что отличает его от других серверов и упрощает управление.
Стек LOMP — это аббревиатура для Linux, OpenLiteSpeed, MySQL/MariaDB и PHP. Серверы Litespeed известны своей скоростью, особенно с PHP, который интегрируется с использованием интерфейса программирования приложений сервера LiteSpeed (LSAPI). Интерпретатор LiteSpeed PHP (LSPHP) обслуживает динамические PHP-страницы через LSAPI.
Этот учебник покажет вам, как установить сервер OpenLiteSpeed на Ubuntu 24.04.
Предварительные требования
- Сервер с установленной Ubuntu 24.04.
- Пользователь, не являющийся root, с правами sudo.
- Полностью квалифицированное доменное имя (FQDN), например,
example.com, указывающее на сервер. - Убедитесь, что все обновлено.
$ sudo apt update $ sudo apt upgrade - Несколько пакетов, которые нужны вашей системе.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -yНекоторые из этих пакетов могут уже быть установлены на вашей системе.
Шаг 1 - Настройка брандмауэра
Первый шаг — настроить брандмауэр. Debian по умолчанию поставляется с ufw (Uncomplicated Firewall).
Проверьте, работает ли брандмауэр.
$ sudo ufw status
Вы получите следующий вывод.
Status: inactive
Разрешите порт SSH, чтобы брандмауэр не разорвал текущее соединение при его включении.
$ sudo ufw allow OpenSSH
Также разрешите порты HTTP и HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Откройте порты, связанные с OpenLiteSpeed.
$ sudo ufw allow 7080/tcp
Включите брандмауэр
$ sudo ufw enable
Команда может нарушить существующие ssh-соединения. Продолжить операцию (y|n)? y
Брандмауэр активен и включен при запуске системы
Проверьте статус брандмауэра снова.
$ sudo ufw status
Вы должны увидеть аналогичный вывод.
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)
Шаг 2 - Установка OpenLiteSpeed
Мы установим OpenLiteSpeed, компилируя его из исходного кода. Скачайте файл исходного кода OpenLiteSpeed. Вы можете получить ссылку на последний файл исходного кода на официальной странице загрузок OpenLiteSpeed. Версия 1.7.19 — это текущая стабильная версия.
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.19.src.tgz
Извлеките файл.
$ tar -zxf openlitespeed-*.tgz
Перейдите в извлеченную директорию.
$ cd openlitespeed-1.7.19
Соберите пакет сервера.
$ sudo ./build.sh
Вам, возможно, придется подождать 5-10 минут, пока процесс не завершится. Игнорируйте любые предупреждения, которые вы получите в процессе. Вы получите следующий вывод, когда он будет завершен.
...............
[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.
После завершения процесса откройте файл ols.conf для редактирования.
$ sudo nano ols.conf
Отредактируйте файл, как показано ниже.
#Если вы хотите изменить значения по умолчанию, обновите этот файл.
#
SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
[email protected]
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#Вы можете установить пароль здесь
#OPENLSWS_PASSWORD=
Не добавляйте свой пароль здесь. Мы установим пароль позже с помощью командной строки. После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Теперь, когда OpenLiteSpeed собран, давайте установим его.
$ sudo ./install.sh
Скрипт установщика устанавливает и включает службу lsws для сервера. Вы получите следующий вывод, когда закончите.
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.
Запустите сервер OpenLiteSpeed.
$ sudo systemctl start lsws
Проверьте статус службы.
$ sudo systemctl status lsws
? lshttpd.service - OpenLiteSpeed HTTP Server
Loaded: loaded (/usr/lib/systemd/system/lshttpd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 12:58:44 UTC; 3s ago
Process: 52583 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS)
Main PID: 52604 (litespeed)
CGroup: /system.slice/lshttpd.service
??52604 "openlitespeed (lshttpd - main)"
??52610 "openlitespeed (lscgid)"
??52623 "openlitespeed (lshttpd - #01)"
??52624 lsphp
Jun 02 12:58:42 lompserver systemd[1]: Starting lshttpd.service - OpenLiteSpeed HTTP Server...
Jun 02 12:58:42 lompserver lswsctrl[52583]: [OK] litespeed: pid=52604.
Jun 02 12:58:44 lompserver systemd[1]: Started lshttpd.service - OpenLiteSpeed HTTP Server.
Проверьте версию установленного сервера.
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.19 Open (BUILD built: Tue Apr 16 15:14:26 UTC 2024)
module versions:
lsquic 3.3.2
modgzip 1.1
cache 1.66
mod_security 1.4 (with libmodsecurity v3.0.12)
Создание пароля администратора
Вы можете использовать пароль администратора, указанный во время процесса установки. Однако вы должны создать свой собственный, сбросив его. Запустите скрипт сброса пароля.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Вы получите следующий вывод. Выберите свое имя пользователя и установите надежный пароль.
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!
Теперь вы можете использовать новый пароль администратора.
Откройте http://, чтобы получить доступ к панели управления OpenLiteSpeed. При первом входе ваш браузер предупредит, что ваше соединение не является частным. Нажмите «Дополнительно» и нажмите «Принять риск и продолжить» (в случае Firefox) или «Перейти к » (в случае браузера на основе Chromium). Вы больше не увидите предупреждение.
Вы должны увидеть страницу входа.

Введите учетные данные, которые вы установили ранее, и нажмите кнопку Войти, чтобы продолжить.
Вы получите следующий экран.

Шаг 3 - Установка MySQL
Прежде чем продолжить установку MySQL, нам нужно обновить репозиторий LiteSpeed. Репозиторий Litespeed, добавленный через установщик, работает неправильно.
Откройте файл /etc/apt/sources.list.d/lst_debian_repo.list для редактирования.
$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list
Измените содержимое файла, добавив имя релиза Ubuntu 24.04 (noble) к URL-адресу репозитория.
deb http://rpms.litespeedtech.com/debian/ noble main
После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Установите сервер MySQL.
$ sudo apt install mysql-server
Служба MySQL автоматически запускается и работает после установки.
Проверьте статус службы.
$ sudo systemctl status mysql
Вы получите следующий вывод.
? mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 13:42:12 UTC; 8min ago
Process: 57889 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 57898 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 2263)
Memory: 370.6M (peak: 386.9M)
CPU: 6.762s
CGroup: /system.slice/mysql.service
??57898 /usr/sbin/mysqld
Jun 02 13:42:11 lompserver systemd[1]: Starting mysql.service - MySQL Community Server...
Запустите скрипт безопасности MySQL.
$ sudo mysql_secure_installation
Вам будет предложено установить Validate Password Component. Нажмите Y, чтобы продолжить.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
Затем вам будет предложено выбрать уровень сложности пароля. Выберите 2 для сильного и продолжите.
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Установка MySQL не попросит вас установить пароль root, потому что тип аутентификации по умолчанию — auth_socket, который зависит от аутентификации вашей системы Linux. Тем не менее, вы можете изменить это позже.
Skipping password set for root as authentication with auth_socket is used by default.
If you would like to use password authentication instead, this can be done with the "ALTER_USER" command.
See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information.
Затем вам будут заданы определенные вопросы для повышения безопасности MySQL. Введите Y, чтобы удалить анонимных пользователей, запретить удаленный вход root, удалить тестовую базу данных и перезагрузить таблицы привилегий.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
Вы можете войти в оболочку MySQL, набрав sudo mysql в командной строке.
Шаг 4 - Установка PHP
Поскольку мы собрали наш пакет из исходного кода, он компилирует и создает старую версию PHP, которая не рекомендуется для использования. Вы можете проверить это с помощью следующей команды.
$ /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
Поэтому нам нужно собрать и установить последнюю версию PHP. Но прежде чем мы продолжим, нам нужно установить инструменты сборки.
$ sudo apt install build-essential autoconf libtool bison re2c pkg-config
Следующий шаг — установить пакеты, необходимые для процесса сборки 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-1 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmysqlclient-dev libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev
Затем загрузите исходный код PHP. Мы загрузим версию PHP 8.3.7, которая является последней версией на момент написания.
$ cd ~
$ wget https://www.php.net/distributions/php-8.3.7.tar.gz
Извлеките файлы.
$ tar -xzf php-8.3.7.tar.gz
Перейдите в загруженную директорию.
$ cd php-8.3.7
Следующим шагом запустите скрипт конфигурации с следующими параметрами. Параметр --enable-litespeed является обязательным.
$ sudo ./configure --prefix=/usr/local/lsws/lsphp83 --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
Вы должны получить следующий вывод, как только скрипт завершится.
+--------------------------------------------------------------------+
| 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.
Скомпилируйте исходный код.
$ sudo make -j $(nproc)
Вы получите аналогичный вывод, как только закончите.
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
phar.inc
invertedregexiterator.inc
directorygraphiterator.inc
pharcommand.inc
clicommand.inc
Build complete.
Don't forget to run 'make test'.
После завершения выполните следующую команду, чтобы проверить версию.
$ ./sapi/litespeed/php -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Установите PHP.
$ sudo make install
Вы получите следующий вывод.
Installing shared extensions: /usr/local/lsws/lsphp83/lib/php/extensions/no-debug-non-zts-20230831/
Installing PHP CLI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CLI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP LiteSpeed binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP CGI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CGI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing build environment: /usr/local/lsws/lsphp83/lib/php/build/
Installing header files: /usr/local/lsws/lsphp83/include/php/
Installing helper programs: /usr/local/lsws/lsphp83/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/lsws/lsphp83/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lsws/lsphp83/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.15
Wrote PEAR system config file at: /usr/local/lsws/lsphp83/etc/pear.conf
You may want to add: /usr/local/lsws/lsphp83/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/lsws/lsphp83/include/php/ext/pdo/
Проверьте установку PHP. В каталоге /usr/local/lsws/lsphp83/bin доступны два двоичных файла PHP. Один — это обычный php, который является версией командной строки, а другой — версия Litespeed lsphp. Второй — это тот, который мы будем использовать.
$ /usr/local/lsws/lsphp83/bin/lsphp -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Вы можете проверить список включенных модулей PHP.
$ /usr/local/lsws/lsphp83/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]
Скопируйте php.ini-production из папки установки в папку /usr/local/lsws/lsphp83/lib.
$ sudo cp php.ini-production /usr/local/lsws/lsphp83/lib/php.ini
Мы настроим OpenLiteSpeed для работы с PHP позже.
Откройте php.ini для редактирования.
$ sudo nano /usr/local/lsws/lsphp83/lib/php.ini
Найдите переменную include_path и измените ее значение, как показано ниже.
$ ;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = "/usr/local/lsws/lsphp83/lib/php"
После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Шаг 5 - Настройка MySQL
Войдите в оболочку MySQL.
$ sudo mysql
Создайте тестовую базу данных. Замените testdb на подходящее имя базы данных по вашему выбору.
mysql> CREATE DATABASE testdb;
Создайте тестового пользователя. Замените testuser на подходящее имя пользователя. Замените Your_Password123 на надежный пароль.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
Предоставьте все привилегии на базу данных пользователю.
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
Обновите привилегии пользователей.
mysql> FLUSH PRIVILEGES;
Выйдите из оболочки MySQL.
mysql> exit
Шаг 6 - Настройка OpenLiteSpeed
Верните HTTP-порт на 80
Давайте изменим порт HTTP по умолчанию на 80. Войдите в свою панель управления по адресу http:// с учетными данными, которые вы только что создали.
Перейдите в раздел Listeners слева. Вы увидите стандартные слушатели с портом 8080.

Нажмите кнопку Просмотр, чтобы увидеть детальную конфигурацию. На следующей странице в разделе Listener Default > General нажмите на иконку редактирования и измените порт с 8080 на 80.


Нажмите Сохранить и перезапустите сервер, нажав кнопку «Мягкий перезапуск».
Откройте URL http:// в своем браузере, и вы должны увидеть следующую страницу.

Шаг 7 - Настройка PHP
На этом этапе нам нужно связать нашу копию PHP 8.3 с сервером.
Нажмите на раздел Конфигурация сервера слева, а затем на вкладку Внешнее приложение. Вы увидите существующее приложение LiteSpeed для PHP. Мы внесем в него некоторые изменения.

Нажмите кнопку Редактировать, чтобы отредактировать приложение PHP.
Затем настройте конфигурацию, как показано ниже. Оставьте все остальные поля пустыми.
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: lsphp83/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
Нажмите Сохранить, когда закончите.

Теперь, когда мы создали собственное приложение PHP 8.3, мы должны сказать серверу, чтобы он начал его использовать. Поскольку мы редактировали стандартный список, он уже настроен. Перезапустите сервер, нажав кнопку Мягкий перезапуск.
Чтобы проверить, правильно ли переключен ваш PHP, посетите http:// в своем браузере.

Перезапуск PHP
На OpenLiteSpeed, если вы редактируете php.ini или устанавливаете новый модуль PHP, перезапуск сервера не покажет изменения. Вам нужно будет перезапустить процесс PHP для этого. Сначала вам нужно будет найти идентификаторы процессов для процесса lsphp.
$ ps aux | grep lsphp
nobody 120093 0.0 0.8 123772 32920 ? S 06:35 0:00 lsphp
nobody 120111 0.0 0.4 123772 18980 ? Ss 06:38 0:00 lsphp
navjot 120139 0.0 0.0 6544 2304 pts/0 S+ 06:44 0:00 grep --color=auto lsphp
Вручную завершите процессы lsphp.
$ sudo kill -9 120093
$ sudo kill -9 120111
Перезапустите сервер.
$ sudo systemctl restart lsws
Шаг 8 - Создание VirtualHost
Сначала нам нужно создать каталоги для нашего виртуального хоста.
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
Каталог html будет содержать общедоступные файлы, а каталог logs будет содержать журналы сервера.
Затем откройте консоль администратора, перейдите в раздел Виртуальные хосты слева и нажмите кнопку Добавить.

Заполните значения, как указано
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

Нажмите кнопку Сохранить, когда закончите. Вы получите следующую ошибку, потому что файл конфигурации в данный момент не существует. Нажмите на ссылку, чтобы создать файл конфигурации.

Нажмите кнопку Сохранить еще раз, чтобы завершить создание виртуального хоста.
После создания виртуального хоста перейдите в Виртуальные хосты -> Выбрать виртуальный хост (example.com) -> Общие и измените конфигурацию, как указано.
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes

Нажмите кнопку Сохранить, когда закончите. Далее нам нужно настроить файлы индекса. Нажмите кнопку редактирования рядом с Файлы индекса в разделе Общий. Установите следующие параметры.
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Нажмите Сохранить, когда закончите. Далее нам нужно выбрать журналы. Перейдите в раздел Журнал, нажмите кнопку Редактировать рядом с Журнал виртуального хоста и заполните следующие значения. Оставьте другие настройки без изменений.
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

Вы можете выбрать Уровень журнала как DEBUG, если вы находитесь на машине разработки.
Нажмите Сохранить, а затем нажмите плюс в разделе Журнал доступа, чтобы добавить новую запись. Заполните следующие значения.
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

Нажмите Сохранить, когда закончите. Далее нам нужно настроить Контроль доступа в разделе Безопасность. Установите следующие значения.
Allowed List: *
Denied List: Not set

Нажмите Сохранить, когда закончите. Далее нам нужно установить Определение обработчика сценариев. Нажмите знак плюс (+), чтобы добавить новое определение. Установите следующие значения.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp

Нажмите Сохранить, когда закончите. Далее нам нужно установить Контроль переписывания в разделе Переписывание. Установите следующие значения.
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Нажмите Сохранить, когда закончите. И, наконец, нам нужно настроить слушателей. Перейдите в раздел Слушатели и нажмите кнопку Просмотр рядом с Стандартный слушатель. Затем нажмите кнопку Добавить рядом с Сопоставления виртуальных хостов, чтобы добавить новое сопоставление, и установите следующие значения.
Virtual Host: example.com
Domains: example.com
Нажмите Сохранить, когда закончите. Теперь нажмите кнопку Мягкий перезапуск, чтобы применить все изменения выше и перезапустить сервер.
Шаг 9 - Установка SSL
Настройка SSL в OpenLiteSpeed требует от нас настройки двух сертификатов. Самоподписанный сертификат для общего сервера и сертификат Let’s Encrypt, специфичный для сайта.
Панель управления уже поставляется с предустановленным самоподписанным сертификатом, который доступен в каталоге /usr/local/lsws/admin/conf.
Давайте сначала создадим самоподписанный сертификат для общего сервера.
$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Вы получите аналогичный вывод.
-----
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) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:[email protected]
Вы можете нажимать Enter для всех полей и оставить их пустыми. Укажите свой домен для общего имени и свой адрес электронной почты.
Создайте каталог для самоподписанных сертификатов.
$ sudo mkdir /usr/local/lsws/certs
Скопируйте сертификат в каталог /usr/local/lsws/certs.
$ sudo mv *.pem /usr/local/lsws/certs
Нам нужно установить Certbot, чтобы сгенерировать бесплатные SSL-сертификаты, предлагаемые Let’s Encrypt.
Вы можете либо установить Certbot с помощью репозитория Debian, либо получить последнюю версию с помощью инструмента Snapd. Мы будем использовать версию Snapd. Ubuntu 24.04 поставляется с предустановленным Snapd.
Запустите следующие команды, чтобы убедиться, что ваша версия Snapd обновлена.
$ sudo snap install core
$ sudo snap refresh core
Выполните следующую команду, чтобы установить Certbot.
$ sudo snap install --classic certbot
Используйте следующую команду, чтобы убедиться, что команда Certbot может быть выполнена, создав символическую ссылку в каталоге /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Проверьте установку.
$ certbot --version
certbot 2.10.0
Выполните следующую команду, чтобы сгенерировать SSL-сертификат.
Получите SSL-сертификат. Веб-каталог установлен на общедоступный HTML-каталог, настроенный ранее.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com
Сгенерируйте сертификат группы Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Проверьте службу планировщика обновления Certbot.
$ sudo systemctl list-timers
Вы найдете snap.certbot.renew.service как одну из служб, запланированных для выполнения.
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2024-06-03 07:20:00 UTC 5min Mon 2024-06-03 07:10:02 UTC 4min 11s ago sysstat-collect.timer sysstat-collect.service
Mon 2024-06-03 08:29:00 UTC 1h 14min - - snap.certbot.renew.timer snap.certbot.renew.service
Mon 2024-06-03 08:50:32 UTC 1h 36min Mon 2024-06-03 07:04:04 UTC 10min ago fwupd-refresh.timer fwupd-refresh.service
Чтобы проверить, работает ли обновление SSL правильно, выполните пробный запуск процесса.
$ sudo certbot renew --dry-run
Если вы не видите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.
Теперь откройте консоль администратора, перейдите в Слушатели >> Добавить новый слушатель и добавьте следующие значения.
Listener Name: SSL
IP Address: ANY IPv4
Port: 443
Secure: Yes

Нажмите Сохранить, когда закончите. Далее перейдите в раздел Сопоставления виртуальных хостов под SSL Listener, нажав на SSL, нажав кнопку Добавить и заполнив следующие значения.
Virtual Host: example.com
Domains: example.com
Нажмите Сохранить, когда закончите. Далее перейдите в Слушатели >> SSL Listener >> SSL Tab >> SSL Private Key & Certificate (кнопка редактирования) и заполните следующие значения для самоподписанного сертификата, который мы создали ранее.
Private Key File: $SERVER_ROOT/certs/key.pem
Certificate File: $SERVER_ROOT/certs/cert.pem
Chained Certificate: Yes

Нажмите Сохранить, когда закончите. Далее перейдите в Слушатели >> SSL Listener >> SSL Tab >> SSL Protocol (кнопка редактирования) и заполните следующие значения для протокола SSL и деталей шифрования.
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

Нажмите Сохранить, когда закончите. Далее перейдите в Виртуальные хосты >> example.com >> SSL Tab >> SSL Private Key & Certificate (кнопка редактирования) и заполните следующие значения с сертификатом 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

Нажмите Сохранить, когда закончите. Далее перейдите в Виртуальные хосты >> example.com >> SSL Tab >> OCSP Stapling (кнопка редактирования) и заполните следующие значения, чтобы включить OCSP Stapling.
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

Нажмите Сохранить, когда закончите. Далее перейдите в Виртуальные хосты >> example.com >> SSL Tab >> Security (кнопка редактирования) и заполните следующие значения, чтобы включить протокол HTTP3/QUIC.
ALPN: Enable HTTP/2 and HTTP/3
Enable HTTP3/QUIC: Yes
Мы не нуждаемся в включении других опций, так как они включены по умолчанию.

Нажмите Сохранить, когда закончите.
Перезапустите сервер, нажав кнопку «Мягкий перезапуск».
Шаг 10 - Тестирование сайта
Создайте тестовый файл в каталоге html.
$ sudo nano /usr/local/lsws/example.com/html/index.php
Вставьте следующий код в редактор Nano.
Тест установки сервера OpenLiteSpeed
Здравствуйте,';
// Определите переменные PHP для подключения к MySQL.
$servername = "localhost";
$username = "testuser";
$password = "Your_Password123";
// Создайте подключение к MySQL.
$conn = mysqli_connect($servername, $username, $password);
// Сообщите, если подключение не удалось или прошло успешно.
if (!$conn) {
exit('Ваше соединение не удалось.
' . mysqli_connect_error());
}
echo '
Вы успешно подключились.
';
?>
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено. Откройте URL https://example.com в браузере, и вы должны увидеть следующую страницу.

Тестовый сайт полностью функционален. Вы можете начать использовать сервер для обслуживания динамических PHP-сайтов и приложений.
Заключение
Это завершает наш учебник по установке стека LOMP (OpenLiteSpeed, MySQL и PHP) на сервер Ubuntu 24.04. Если у вас есть какие-либо вопросы, оставьте их в комментариях ниже.
Get new posts in your inbox
No spam. Unsubscribe anytime.