Установка сервера · 12 min read · Nov 24, 2025

Как установить и настроить сервер OpenLiteSpeed вместе с MariaDB и PHP на Ubuntu 20.04

OpenLiteSpeed — это легковесная и открытая версия сервера LiteSpeed, разработанная компанией LiteSpeed Technologies. Он поставляется с панелью управления на основе WebGUI, что отличает его от других серверов и упрощает управление.

В этом руководстве мы научимся устанавливать сервер OpenLiteSpeed на Ubuntu 20.04 вместе с PHP 7.4 и сервером MariaDB.

Предварительные требования

  • Веб-сервер на базе Ubuntu 20.04.
  • Учетная запись пользователя без прав root с привилегиями sudo.

Обновите вашу систему.

$ sudo apt update
$ sudo apt upgrade

Шаг 1 - Настройка брандмауэра

Перед тем как начать руководство, нам нужно настроить Uncomplicated Firewall(UFW), который обычно включен по умолчанию. Сначала проверим статус брандмауэра.

Нам нужно разрешить SSH, HTTP, HTTPS и порты 7080, 8088 для брандмауэра.

$ sudo ufw allow OpenSSH
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow 7080/tcp
$ sudo ufw allow 8088/tcp

Проверьте статус брандмауэра.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
7080/tcp                   ALLOW       Anywhere                  
8088/tcp                   ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
7080/tcp (v6)              ALLOW       Anywhere (v6)             
8088/tcp (v6)              ALLOW       Anywhere (v6)             

Если он не работает, то запустите брандмауэр.

$ sudo ufw enable

Шаг 2 - Установка OpenLiteSpeed

Существует несколько версий OpenLiteSpeed, которые вы можете установить. Рекомендуемые версии — из серии 1.6.x или 1.7.x на момент написания этого руководства.

Мы будем использовать официальный репозиторий OpenLiteSpeed для нашего руководства, который поддерживает только версию 1.6.x.

Добавьте ключ репозитория OpenLiteSpeed.

$ 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

Установите OpenLiteSpeed

$ sudo apt install openlitespeed

Проверьте статус сервера.

$ sudo /usr/local/lsws/bin/lswsctrl status
litespeed is running with PID 21825.

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

$ sudo /usr/local/lsws/bin/lswsctrl start

Откройте http://:8088, чтобы получить доступ к вашему веб-серверу. Вы должны увидеть следующую страницу.

OpenLiteSpeed Default Page

Шаг 3 - Установка PHP

Сервер OpenLiteSpeed поставляется с PHP 7.3, который включен по умолчанию. Но мы хотим использовать PHP 7.4, поэтому мы установим свою собственную копию.

Установите PHP 7.4 вместе с некоторыми дополнительными пакетами.

$ sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl

Проверьте вашу установку PHP.

$ /usr/local/lsws/lsphp74/bin/php7.4 -v
PHP 7.4.5 (cli) (built: May  7 2020 23:08:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies

Вы можете проверить включенные модули PHP.

$ /usr/local/lsws/lsphp74/bin/php7.4 --modules

Мы настроим PHP для работы с OpenLiteSpeed позже.

Шаг 4 - Установка MariaDB

Установите сервер MariaDB.

$ sudo apt install mariadb-server

Запустите и включите службу MariaDB.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Обеспечьте безопасность вашей установки MariaDB. Этот скрипт установит ваш пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовые таблицы. Выберите надежный пароль и ответьте на вопросы, как описано ниже.

$ sudo mysql_secure_installation
[sudo] password for username: 

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
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB 
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

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!

После этого вы можете войти в оболочку MySQL, используя следующую команду.

$ sudo mysql -u root -p

Создайте тестовую базу данных и пользователя с правами доступа. Замените testdb и testuser на соответствующие имена для вашей настройки. Замените password на надежный пароль.

CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
FLUSH PRIVILEGES;

Выйдите из оболочки MySQL.

exit

Шаг 5 - Настройка OpenLiteSpeed

Настройка панели администратора

Установите учетные данные панели администратора.

$ 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]: 

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://:7080.

При первом входе ваш браузер выдаст предупреждения о том, что ваше соединение не защищено. Нажмите «Дополнительно» и нажмите «Принять риск и продолжить» (в случае Firefox) или «Перейти к (небезопасно)» (в случае браузера на основе Chromium). Вы больше не увидите это предупреждение.

Вас встретит следующий экран.

OpenLiteSpeed Login Page

Вернуть HTTP порт обратно на 80

Давайте изменим порт HTTP по умолчанию на 80. Войдите в свою панель администратора по адресу http://:7080 с учетными данными, которые вы только что создали.

Вас встретит следующий экран.

OpenLiteSpeed Admin Home

Перейдите в раздел Listeners слева. Вы увидите стандартные слушатели с портом 8080.

OpenLiteSpeed Listeners

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

OpenLiteSpeed Default Listener

OpenLiteSpeed Listener Edit

Нажмите «Сохранить», а затем перезапустите сервер, нажав кнопку «Мягкая перезагрузка».

Шаг 6 - Настройка PHP

На этом шаге нам нужно связать нашу копию PHP 7.4 с сервером.

Нажмите на раздел Server Configuration слева, а затем на вкладку External App. Вы увидите существующее приложение LiteSpeed для PHP 7.3. Мы создадим наше собственное приложение LiteSpeed для PHP 7.4. Вы можете легко переключаться между ними позже, если захотите.

External Applications

Нажмите кнопку «Добавить», чтобы создать новое приложение. Для типа выберите LiteSpeed SAPI App и нажмите «Далее».

External App Configuration

Далее добавьте конфигурацию ниже. Оставьте все остальные поля пустыми.

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

Нажмите «Сохранить», когда закончите.

LiteSpeed SAPI App

Теперь, когда мы создали наше собственное приложение на основе PHP 7.4, нам нужно сказать серверу, чтобы он начал его использовать.

Перейдите на вкладку Script Handler и отредактируйте обработчик lsphp. Переключите имя обработчика на lsphp74 из выпадающего меню.

Script Handler Definition

Нажмите «Сохранить», а затем перезапустите сервер, нажав кнопку Мягкая перезагрузка.

Чтобы проверить, правильно ли переключен ваш PHP, посетите http:///phpinfo.php в вашем браузере.

PHP Info

Шаг 7 - Настройка виртуального хоста

Сначала нам нужно создать каталоги для нашего виртуального хоста.

$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p

Каталог html будет содержать публичные файлы, а каталог logs будет содержать журналы сервера.

Далее откройте консоль администратора и перейдите в раздел Virtual Hosts слева и нажмите кнопку «Добавить».

Virtual Hosts Summary

Заполните значения, как указано

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

Virtual Host Settings

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

Virtual Host Configuration

Нажмите кнопку «Сохранить» снова, чтобы завершить создание виртуального хоста.

После создания виртуального хоста перейдите в Virtual Hosts -> Choose Virtual Host(example.com) -> General и измените конфигурацию, как указано.

Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable Compression: Yes

Virtual Host General Section

Нажмите кнопку «Сохранить», когда закончите. Далее нам нужно настроить файлы индекса. Нажмите кнопку редактирования рядом с файлами индекса в разделе General. Установите следующие параметры.

Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

OpenliteSpeed Index Files

Нажмите «Сохранить», когда закончите. Далее нам нужно выбрать файлы журнала. Перейдите в раздел Log и нажмите «Редактировать» рядом с Virtual Host Log и заполните следующие значения.

Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M

Virtual Host Log

Вы можете выбрать Log Level как DEBUG, если вы находитесь на производственной/разработческой машине.

Нажмите «Сохранить», а затем нажмите знак «плюс» в разделе Access Log, чтобы добавить новую запись. Заполните следующие значения.

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
Bytes log: Not Set
Compress Archive: Yes

OpenliteSpeed Access Log

Нажмите «Сохранить», когда закончите. Далее нам нужно настроить Access Control в разделе Security. Установите следующие значения.

Allowed List: *
Denied List: Not set

OpenliteSpeed Access Control

Нажмите «Сохранить», когда закончите. Далее нам нужно установить Script Handler Definition. Установите следующие значения.

Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp74

Script Handler Definition

Далее нам нужно установить Rewrite Control в разделе Rewrite. Установите следующие значения.

Rewrite Control

И наконец, нам нужно установить слушателей. Перейдите в раздел Listeners и нажмите кнопку «Просмотреть» рядом с Default Listener. Затем нажмите кнопку «Добавить» рядом с Virtual Host Mappings, чтобы добавить новое сопоставление и установите следующие значения.

Нажмите «Сохранить», когда закончите. Теперь нажмите кнопку Мягкая перезагрузка, чтобы применить все изменения выше и перезапустить сервер.

Шаг 8 - Настройка SSL

Настройка SSL в OpenLiteSpeed требует от нас настройки двух сертификатов. Самоподписанный сертификат для всего сервера и сертификат Let’s Encrypt, специфичный для сайта.

Давайте сначала создадим самоподписанный сертификат.

$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Generating a RSA private key
..++++
......................++++
writing new private key to 'key.pem'
-----
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) []:
Email Address []:

Вы можете нажимать Enter для всех полей и оставить их пустыми.

Сертификаты теперь хранятся в каталоге /home/user. Нам понадобится эта информация позже.

Чтобы использовать Let’s Encrypt, нам нужно установить инструмент Certbot.

$ sudo apt install certbot

Получите SSL сертификат.

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ -d example.com

Следуйте интерактивному запросу.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree
in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
-------------------------------------------------------------------------------
(Y)es/(N)o: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Using the webroot path /usr/local/lsws/example.com/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example/fullchain.pem. Your key file has 
   been saved at:
   /etc/letsencrypt/live/linode.nspeaks.com/privkey.pem Your cert will
   expire on 2020-09-04. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Теперь откройте консоль администратора и перейдите в Listeners >> Add New Listener и добавьте следующие значения.

Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes

SSL Listener

Нажмите «Сохранить», когда закончите. Далее перейдите в раздел Virtual Host Mappings под SSL Listener, нажав на SSL, нажмите кнопку «Добавить» и заполните следующие значения.

Virtual Host: example.com
Domains: example.com

Нажмите «Сохранить», когда закончите.

Далее перейдите в Listeners >> SSL Listener >> SSL Tab >>SSL Private Key & Certificate (кнопка «Редактировать») и заполните следующие значения для самоподписанного сертификата, который мы создали ранее.

Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes

Self Signed SSL Key and Certificate

Далее перейдите в Virtual Hosts >> 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

Let's Encrypt SSL Key and Certificate

Нажмите «Сохранить», когда закончите.

Перезапустите сервер, нажав кнопку «Мягкая перезагрузка».

Шаг 9 - Тестирование сайта

Создайте тестовый файл в вашем каталоге html.

$ sudo nano /usr/local/lsws/example.com/html/index.php

Вставьте следующий код в редактор Nano.



    

Тест установки сервера OpenLiteSpeed

Привет,

'; // Определите переменные PHP для подключения к MySQL. $servername = "localhost"; $username = "testuser"; $password = "password"; // Создайте соединение MySQL. $conn = mysqli_connect($servername, $username, $password); // Сообщите, если соединение не удалось или прошло успешно. if (!$conn) { exit('

Ваше соединение не удалось.

' . mysqli_connect_error()); } echo '

Вы успешно подключились.

'; ?>

Посетите ваш сайт по адресу https://example.com в браузере, и вы должны увидеть следующую страницу.

OpenLiteSpeed Site Test

На этом все для этого руководства. Если у вас есть какие-либо вопросы, задавайте их в комментариях ниже.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.