Содержание:
LOMP — означает стек Linux, OpenLiteSpeed, MariaDB / MySQL и PHP. Программный стек — это набор инструментов, объединенных вместе для решения определенной задачи. В данном случае это стек инструментов для организации готового WEB-сервера.
В качестве сервера баз данных мы будем использовать открытый форк MySQL — MariaDB, поставляемый под лицензией GNU GPL. Если ты обучался с работой баз данных при создании сайтов на примере MySQL, то не переживай — синтаксис у них аналогичный, дело лишь в свободе распространения и использования. Ну и в качестве языка исполнения сценариев мы используем PHP последней — восьмой версии, который отлично подойдет для всех современных CMS и систем построения интернет магазинов таких, как WordPress, OpenCart и подобных.
OpenLiteSpeed — это эффективный веб сервер, который отрабатывает в пять раз больше запросов в секунду, чем тот же NGINX. К тому же данный сервер имеет удобную панель администрирования с графическим (WEB) интерфейсом, что особенно подойдет новичкам в деле сайтостроения и управления серверами.
Возможно будет полезно: Как установить LEMP в Ubuntu — материал про установку и настройку WEB-сервера с NGINX и SSL сертификатом
Установка 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/
Спасибо, Mike!
Лишь недавно запустив свой первый сайт на WordPress. Я решился на отчаянный шаг. Впервые, без знания Linux и всего остального 🙂 настроить себе VPS на DO. В описанной в статье конфигурации. Сказать, что голова кругом — это ничего не сказать. По крупицам собираю информацию и здесь нашел новую, более углубленную.
Всегда рад помочь!