Как установить LOMP (OpenLiteSpeed, MariaDB, PHP8) на Ubuntu Server

Обновлено: 21.06.2021

LOMP — означает стек Linux, OpenLiteSpeed, MariaDB / MySQL и PHP. Программный стек — это набор инструментов, объединенных вместе для решения определенной задачи. В данном случае это стек инструментов для организации готового WEB-сервера.

В качестве сервера баз данных мы будем использовать открытый форк MySQL — MariaDB, поставляемый под лицензией GNU GPL. Если ты обучался с работой баз данных при создании сайтов на примере MySQL, то не переживай — синтаксис у них аналогичный, дело лишь в свободе распространения и использования. Ну и в качестве языка исполнения сценариев мы используем PHP последней — восьмой версии, который отлично подойдет для всех современных CMS и систем построения интернет магазинов таких, как WordPress, OpenCart и подобных.

OpenLiteSpeed — это эффективный веб сервер, который отрабатывает в пять раз больше запросов в секунду, чем тот же NGINX. К тому же данный сервер имеет удобную панель администрирования с графическим (WEB) интерфейсом, что особенно подойдет новичкам в деле сайтостроения и управления серверами.

 

Установка OpenLiteSpeed

Первым шагом мы установим сам WEB-сервер OpenLiteSpeed, но перед этим неплохо будет обновить пакеты в своей системе до актуального состояния. Делается это командами:

sudo apt update
sudo apt upgrade

Т.к. данный сервер не входит в список репозиториев по умолчанию, то нам придется отдельно добавить официальный репозиторий с ним с помощью следующей команды:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | sudo bash

Данная команда скачает скрипт, который сам добавит в систему нужный реп. и загрузит необходимые ключи.

Теперь можно приступить к установке самого пакета:

sudo apt install openlitespeed -y

 

Управление запуском/остановкой сервера происходит традиционно — через сервисы:

Запуск сервера:

sudo systemctl start lshttpd

Остановка:

sudo systemctl stop lshttpd

Перезагрузка:

sudo systemctl restart lshttpd

Добавление в автозагрузку:

sudo systemctl enable lshttpd

 

Итак, мы установили OpenLiteSpeed, теперь запустим его и проверим, что он работает. Запускаем с помощью команды, указаной выше в статье: sudo systemctl start lshttpd (если ты только установил его и делаешь все последовательно, тогда запуск можно пропустить — сервис уже должен быть запущен), и проверяем его статус с помощью команды:

sudo systemctl status lshttpd

Если видим activate (running) — то он запущен.

 

По умолчанию сервер прослушивает порт 8088, давай поменяем его на более привычный и стандартный для web — 80. Для этого с помощью текстового редактора nano (Как установить и использовать nano в Ubuntu) отредактируем файл /usr/local/lsws/conf/httpd_config.conf :

sudo nano /usr/local/lsws/conf/httpd_config.conf

Найдем конструкцию:

listener Default{
    address                  *:8088
    secure                   0
    map                      Example *
}

И поменяем строку address *:8088 на address *:80.

Сохраним изменения и перезапустим сервис командой:

sudo systemctl restart lshttpd

Теперь попробуем из браузера обратиться к IP адресу нашего сервера, в моем примере сервер находится в одной сети с моим хостом, и IP у него — 192.168.0.104 — я указываю это для лучшего тобой понимания происходящего на моих скриншотах. Если сервер устанавливается на локальный компьютер, то, естественно, IP будет — 127.0.0.1, а ip своего удаленного сервера ты наверняка и сам знаешь, если что, то статья Как узнать локальный IP адрес Ubuntu 18.04 и выше в помощь, в самом конце в ней показано как узнать свой внешний ip из терминала.

Как мы видим — сервер запущен и работает — принимает и отправляет запросы на восьмедисятом порту.

По умолчанию сервер запущен от имени nobody и группы nogroup. При необходимости изменить это можно в файле конфигурации — /usr/local/lsws/conf/httpd_config.conf:

Рабочий каталог сервера по умолчанию (там где находится index.html) — /usr/local/lsws/Example/html.

 

Что, если после запуска сервера его статус active, но браузер показывает ошибку соединения?

Возможно запросы блокирует фаервол, например UFW или iptables. Для нормальной работы web-сервера нужно открыть в них 80 порт. Например, в iptables это делается командой:

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

А в UFW:

sudo ufw allow http

 

Сервер OpenLiteSpeed установлен, последующая его настройка будет происходить далее, после установки базы данных и PHP.

 

Установка MariaDB

Вот мы подошли к установке сервера баз данных. Она будет производиться из стандартных репозиториев Ubuntu, поэтому в данном пункте сложностей возникнуть не должно.

Выполняем команду:

sudo apt install mariadb-server mariadb-client

После установки сервис уже должен быть запущен, проверим:

sudo systemctl status mariadb

 

Управление сервисом:

Для запуска используется команда:

sudo systemctl start mariadb

Для остановки:

sudo systemctl stop mariadb

Для включения автозагрузки при старте системы:

sudo systemctl enable mariadb

 

Продолжим установку, выполнив постинсталляциоонный скрипт:

sudo mysql_secure_installation

Когда скрипт попросит ввести текущий пароль root ничего не вводя просто жмем Enter:

Далее будет вопрос об установке пароля, соглашаемся (нажав Y):

И вводим новый пароль root пользователя базы данных. После этого нам будет задано еще четыре вопроса про ананимного пользователя и удаленный рут доступ, на все вопросы просто жмем Enter:

В конце в терминале мы увидим сообщение, которое означает успешное окончание настройки:

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

Проверим правильность установки, зайдя в консоль управления:

Т.к. MariaDB использует unix_socket по умолчанию, значит для входа в консоль управления мы можем пользоваться логином и паролем администратора Ubuntu — запустив ее через sudo:

sudo mariadb -u root

Перед нами приглашение консоли MariaDB, значит установка прошла успешно:

Теперь мы можем переключиться обратно в оболочку, используя команду:

exit

 

Установка PHP8

По умолчанию вместе с OpenLiteSpeed автоматически устанавливается пакет lsphp73 — PHP версии 7.3. В принципе, если по какой либо причине тебе подходит такая версия PHP, то ты можешь пропустить установку восьмой версии, а мы продолжим. И следует обратить внимание, что в данном случае происходит установка не простых пакетов, как php7.4 php7.4-fpm php7.4-mysql, а пакетов с префиксом ls.

Устанавливаем необходимые пакеты:

sudo apt install lsphp80 lsphp80-mysql lsphp80-common lsphp80-opcache lsphp80-curl

Хоть и кажется, что в данной команде отсутствуют многие необходимые для современных CMS модули PHP — это не так. Просто множество модулей уже входит в комплект поставки для OpenLiteSpeed сервера, убедиться в этом можно, просмотрев список установленных модулей с помощью команды:

/usr/local/lsws/lsphp80/bin/php8.0 --modules | more

Я добавил конструкцию с more, чтобы удобнее было просмотреть список в терминале, для продвижения по списку используй пробел на клавиатуре.

 

Настройка OpenLiteSpeed

Теперь зададим логин и пароль администратора сервера с помощью поставляемого с ним специального скрипта:

sudo /usr/local/lsws/admin/misc/admpass.sh

 

И далее мы попробуем зайти в панель администрирования обратившись из браузера к IP нашего сервера и указанием порта 7080. Для меня это http://192.168.0.104:7080.

Авторизуемся, со своим логином и паролем, которые мы задали выше с помощью скрипта и попадаем в админ панель. Тут нам нужно выбрать пункт в левой колонке — «Server Configuration«, а затем вкладку «External App«:

После этого в правой верхней части окна нажимаем на знак «Плюс»:

И в выподающем списке выбираем пункт — LiteSpeed SAPI App:

Жмем значек «Далее» справа сверху:

Появляется форма, которую нужно заполнить следующим образом:

  • Name: lsphp8.0
  • Address: uds://tmp/lshttpd/lsphp80.sock
  • Max Connections: 10
  • Environment:

PHP_LSAPI_CHILDREN=10

LSAPI_AVOID_FORK=200M

  • Initial Request Timeout (secs): 60
  • Retry Timeout (secs): 0
  • Persistent Connection: Yes
  • Response Buffering: No
  • Command: lsphp80/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

Поля, которые я не указал — менять не нужно, выглядит это так:

 

После заполнения формы нужно нажать значек «Дискеты» в верху — это сохранение:

 

Теперь откроем в левом сеню вкладку «Virtual Hosts» и в появившемся списке нажмем на «Example«:

Далее откроем вкладку «Script Handler«:

К этому моменту с навигацией по панели мы немного разобрались, поэтому я не буду приводить скриншоты к «Плюсикам» и «Дискеткам». Так что нажимаем «+» и заполняем открывшуюся форму следующими данными:

  • Suffixes: php
  • Handler Type: LiteSpeed SAPI
  • Handler Name: lsphp8.0

Сохраняем эту форму и чтобы изменения вступили в силу перезапускаем сервер. Сделать это можно прямо из панели, нажав на зеленую иконку вверху:

Теперь идем проверять PHP.

 

Тест PHP8

Ранее в статье я уже писал о том, что корень WEB сервера по умолчанию находится по пути /usr/local/lsws/Example/html. Это тестовый хост, для которого мы немного выше настроили использование PHP восьмой версии. Так что теперь для проверки в данном каталоге нам нужно создать php файл с функцией phpinfo().

Выполняем команду:

sudo nano /usr/local/lsws/Example/html/test.php

Здесь я выполняю команду через sudo т.к. у нашего пользователя нет прав на создание файлов в каталоге /usr/local/lsws/Example/html. Исправить это можно, присвоив каталог своему пользователю и настроив запуск сервера от своего имени, где это настраивается я показывал в конце первого пункта статьи об установке сервера.

И пишем в него код:

<?php
phpinfo();
?>

Теперь пробуем запустить данный скрипт из браузера, перейдя по адресу IP/test.php (у меня http://192.168.0.104/test.php):

Как видим — сработало, PHP стал восьмой версии и работает!

 

По желанию ты можешь также установить phpMyAdmin, сделать это можно, воспользовавшись инструкцией: Установка phpMyAdmin на любой Linux сервер.

 

Заключение

Установка и настройка закончена, далее с сервером можно делать все, что пожелает душа — устанавливать CMS, создавать несколько сайтов, привязывать к ним домены и т.д. Даный сервер обладает удобным интерфейсом для администрирования. Можно создавать сайты, привязывать к ним домены, добавлять SSL сертификаты и все это прямо из панели. Поэтому с ним не составит труда разобраться даже новичку, ну такому, хоть немного понимающему концепцию работы всего этого WEB-безобразия. С данным решением будет весьма не сложно поднять свой первый VPS.

Официальная документация для OpenLiteSpeed находится по адресу: https://openlitespeed.org/kb/

 

Добавить комментарий

Есть, что добавить? Нет проблем! Напечатай комментарий и он будет опубликован после проверки.