Как настроить стек LOMP на сервере Ubuntu

Как веб-разработчик, вы можете оказаться в ситуации, когда вам нужно настроить сервер с стеком Linux, OpenLiteSpeed, MariaDB (или MySQL) и PHP (LOMP). Это может быть непростой задачей. Здесь мы покажем вам шаги для установки стека LOMP на вашем сервере Linux.
Содержание
- Почему использовать LOMP вместо других стеков (LAMP, LEMP)?
- Предварительные требования
- Установка OpenLiteSpeed
- Установка MariaDB
- Установка PHP
- Доступ и настройка OpenLiteSpeed
- Часто задаваемые вопросы
Почему использовать LOMP вместо других стеков (LAMP, LEMP)?
LOMP является популярным выбором для веб-разработки, потому что он с открытым исходным кодом и имеет широкий спектр поддержки. Кроме того, все компоненты стека LOMP совместимы друг с другом, что упрощает настройку и обслуживание.
Более того, OpenLiteSpeed - это высокопроизводительный веб-сервер по сравнению с другими веб-серверами, такими как Apache и Nginx. OpenLiteSpeed способен обрабатывать большее количество одновременных запросов и использовать меньше ресурсов, что делает его отличным выбором для сайтов с высокой посещаемостью.
Предварительные требования
Перед тем как начать этот гид, вам нужно подготовить несколько вещей.
Сервер Linux. Этот учебник использует Ubuntu 22.04, последнюю версию на момент написания.
Учетная запись пользователя без прав root с установленными привилегиями sudo на вашем сервере.
Доменное имя, которое указывает на ваш сервер.
Установка OpenLiteSpeed
В стеке LOMP OpenLiteSpeed используется в качестве веб-сервера. Веб-сервер - это программное обеспечение, которое отвечает на запросы файлов, составляющих ваш веб-сайт. Когда кто-то вводит ваше доменное имя, их браузер отправляет запрос на ваш веб-сервер с просьбой предоставить файлы, составляющие ваш веб-сайт. Веб-сервер затем отвечает, отправляя эти файлы обратно в браузер.
Перед тем как установить OpenLiteSpeed на Ubuntu, сначала обновите индекс пакетов вашего сервера:
sudo apt updateПолучите репозиторий OLS с помощью команды wget.
sudo wget -O - https://repo.litespeed.sh | catФлаг -O указывает wget записать вывод скрипта в ваш терминал, а не создавать файл. Символ | (известный как пайп) берет вывод первой команды и передает его в качестве ввода для второй команды, которой является cat. Это позволяет вам просмотреть скрипт перед его выполнением.

Если вывод выглядит хорошо, вы можете запустить скрипт с помощью следующей команды:
sudo wget -O - https://repo.litespeed.sh | sudo bashЧасть sudo bash команды указывает вашей системе запустить скрипт с правами root. Это необходимо, потому что скрипт должен иметь возможность изменять репозитории вашей системы.

После добавления репозитория снова обновите индекс пакетов, чтобы отразить изменения:
sudo apt updateНаконец, установите OpenLiteSpeed с помощью следующей команды apt.
sudo apt install openlitespeed -yOpenLiteSpeed будет установлен на вашем сервере.

Запустите и включите службу OpenLiteSpeed, чтобы она автоматически запускалась при загрузке вашего сервера:
sudo systemctl start openlitespeed
sudo systemctl enable openlitespeedВы можете проверить статус службы OpenLiteSpeed, чтобы убедиться, что она работает правильно:
sudo systemctl status openlitespeedВывод будет выглядеть как на изображении ниже.

Установка MariaDB
MariaDB - это форк популярного сервера баз данных MySQL. Он используется вместо MySQL в стеке LOMP, потому что совместим с другим программным обеспечением в стеке, но разработан под лицензией с открытым исходным кодом. MariaDB бесплатна для использования и распространения.
Запустите следующую команду apt, чтобы установить MariaDB:
sudo apt install mariadb-server -yКак и с OpenLiteSpeed, запустите и включите службу MariaDB, чтобы она автоматически запускалась при загрузке вашего сервера.
sudo systemctl start mariadb
sudo systemctl enable mariadbВы можете проверить статус службы MariaDB, чтобы убедиться, что она работает правильно.
sudo systemctl status mariadbВывод будет выглядеть как на изображении ниже.

Защита вашей установки MariaDB
По умолчанию свежая установка MariaDB имеет некоторые опасные настройки по умолчанию, которые могут сделать ваш сервер баз данных уязвимым для атак. Чтобы защитить вашу установку, запустите скрипт mariadb-secure-installation, упакованный с MariaDB.
sudo mariadb-secure-installationЭтот скрипт изменяет некоторые менее безопасные параметры по умолчанию и устанавливает пароль для пользователя root MariaDB.
Вам будет задано несколько вопросов. На каждый из них ответьте “Y” (да) или “N” (нет).
Сначала вас попросят ввести пароль root. Поскольку вы только что установили MariaDB, вы еще не установили пароль для пользователя root, поэтому оставьте это поле пустым и нажмите Enter.

Затем вас спросят, хотите ли вы использовать метод аутентификации “unix_socket” для пользователя root. Это означает, что вы можете автоматически войти в MariaDB, когда вы вошли в систему как пользователь root системы. Введите Y и нажмите Enter.
Следующий вопрос будет о том, хотите ли вы изменить пароль пользователя root. Введите Y и нажмите Enter. Вам будет предложено ввести и подтвердить новый пароль для пользователя root. Рекомендуется использовать надежный пароль, который трудно угадать.
После этого вас спросят, хотите ли вы удалить анонимных пользователей из вашей базы данных. Анонимный пользователь - это тот, кто не получил имя пользователя или пароль. Введите Y и нажмите Enter. По умолчанию MariaDB позволяет любому подключаться к серверу баз данных без имени пользователя или пароля. Это небезопасно, поэтому мы удалим этих анонимных пользователей.
Затем вас спросят, хотите ли вы запретить удаленный вход root. Запрет удаленного входа root - это хорошая мера безопасности, так как это означает, что злоумышленнику потребуется физический доступ к вашему серверу, чтобы войти как пользователь root. Введите Y и нажмите Enter.
Наконец, вас спросят, хотите ли вы удалить тестовые базы данных и доступ к ним. Эти базы данных используются для тестирования и больше не нужны. Введите Y и нажмите Enter.
Вас попросят перезагрузить таблицы привилегий, чтобы ваши изменения вступили в силу. Введите Y и нажмите Enter. Ваша установка MariaDB теперь защищена.

Установка PHP
PHP - это язык сценариев на стороне сервера, используемый для обработки динамического контента, такого как данные форм или изображения. Если вы используете WordPress, вам нужно будет установить PHP.
Запустите следующую команду, чтобы найти доступные пакеты PHP.
sudo apt-cache search lsphpВы увидите список пакетов с именами, начинающимися на PHP. Это пакеты PHP7.4, PHP8.0 и PHP8.1. Для этого руководства мы установим PHP8.1, последнюю версию PHP. Этот пакет включает в себя последние функции и обновления безопасности.
Чтобы установить PHP8.1, выполните следующую команду:
sudo apt install lsphp81 lsphp81-{common,mysql} -yЧасть {common,mysql} указывает apt установить общие и mysql модули для PHP8.1. Модуль common предоставляет набор основных функций, необходимых большинству приложений PHP. Модуль mysql предоставляет функции, которые позволяют PHP взаимодействовать с MariaDB.

Ваше PHP-приложение может быть совместимо с другой версией PHP, поэтому обязательно проверьте документацию вашего приложения перед выбором версии PHP.
Если вы хотите установить другие версии PHP, замените lsphp81 на желаемую версию. Например, чтобы установить PHP7.4, вы бы использовали имя пакета lsphp74, как показано ниже:
sudo apt install lsphp74 lsphp74-{common,mysql}Доступ и настройка OpenLiteSpeed
Настройка брандмауэра
Ubuntu поставляется с брандмауэром по умолчанию, называемым UFW. Вам нужно будет разрешить трафик на портах 7080 и 8088, чтобы получить доступ к веб-консоли администратора и вашему веб-сайту.
Разрешите трафик на этих портах, выполнив следующую команду:
sudo ufw allow 7080/tcp && sudo ufw allow 8088/tcpПроверьте статус вашего брандмауэра, выполнив следующую команду:
ufw statusВы увидите вывод, похожий на приведенный ниже. Как вы можете видеть, вывод показывает, что трафик на портах 7080 и 8088 разрешен.

Доступ к OpenLiteSpeed
Теперь, когда мы все настроили, мы готовы получить доступ к OpenLiteSpeed.
Для этого откройте ваш веб-браузер и перейдите по адресу http://your_domain:8088. Замените “your_domain” на ваше доменное имя.
Вы увидите страницу, похожую на приведенную ниже: страницу приветствия OpenLiteSpeed.

Прокрутите вниз и нажмите на ссылку “Тест PHP”, чтобы проверить, работает ли PHP правильно с OpenLiteSpeed.

Вы увидите страницу, похожую на приведенную ниже. Эта страница показывает, что PHP работает правильно с OpenLiteSpeed. Хотя версия PHP отображается как PHP7.4, мы изменим эту версию на PHP8.1 в следующем разделе.

Нажмите на ссылку под скриптом “Hello World CGI”, чтобы проверить, работает ли функция CGI OpenLiteSpeed правильно.
CGI - это механизм для запуска программ на веб-сервере в ответ на запросы от веб-браузеров. OpenLiteSpeed может запускать CGI-скрипты, написанные на любом языке, но наиболее распространенное использование CGI - это запуск скриптов на Perl или PHP.
Эта функция очень полезна, если вы хотите использовать язык программирования, который не поддерживается OpenLiteSpeed.

Вы увидите страницу Hello World, похожую на приведенную ниже, что означает, что функция CGI работает правильно.
Затем выполните следующую команду, чтобы установить пароль для веб-консоли администратора.
sudo /usr/local/lsws/admin/misc/admpass.shУкажите имя пользователя и пароль для веб-консоли администратора, когда вас попросят, и нажмите ENTER.

Перейдите по адресу http://your_domain:7080, чтобы открыть веб-консоль администратора: графический интерфейс (GUI) для управления вашим сервером OpenLiteSpeed.
Это позволяет вам выполнять все задачи, которые вы можете выполнять с помощью командной строки, гораздо проще. Вы можете настраивать ваш сервер прямо в веб-браузере, не редактируя конфигурационные файлы, как на традиционных веб-серверах.
Замените your_domain на ваше фактическое доменное имя, чтобы увидеть страницу, похожую на приведенную ниже.
Введите имя пользователя и пароль, которые вы создали на предыдущем шаге, и нажмите “Войти”, чтобы войти в веб-консоль администратора.

Вы увидите страницу, похожую на приведенную ниже. Эта страница является главной страницей веб-консоли администратора. Она показывает вам обзор вашего сервера.

Настройка OpenLiteSpeed для использования PHP8.1
По умолчанию OpenLiteSpeed настроен на работу с PHP7.4. Если вы используете другую версию PHP, вам нужно будет указать OpenLiteSpeed, какую версию PHP использовать.
На главной странице веб-консоли администратора нажмите на вкладку “Конфигурация сервера”, затем нажмите на “Внешнее приложение”. Вы увидите список всех внешних приложений, которые в настоящее время настроены.
Рядом с “LiteSpeed SAPI App” нажмите на значок “Редактировать” под действием, как показано.

Вы увидите страницу, похожую на приведенную ниже. В поле “Команда” введите lsphp81/bin/lsphp, путь к бинарному файлу lsphp. Эта настройка указывает OpenLiteSpeed использовать PHP8.1 вместо PHP7.4 по умолчанию.

Оставьте другие настройки по умолчанию и нажмите значок “Сохранить”, чтобы сохранить ваши изменения.
Нажмите на значок закругленной стрелки, чтобы выполнить мягкую перезагрузку. Ваши изменения не вступят в силу, пока вы не выполните мягкую перезагрузку OpenLiteSpeed.
Наконец, перейдите по адресу http://your_domain:8088/phpinfo.php. Вы увидите страницу, похожую на приведенную ниже, которая показывает, что OpenLiteSpeed использует PHP8.1.
Поздравляем! Вы успешно установили и настроили стек LOMP на вашем сервере Ubuntu.
Часто задаваемые вопросы
Могу ли я использовать OpenLiteSpeed вместе с другими веб-серверами?
Нет. OpenLiteSpeed предназначен для использования в качестве самостоятельного веб-сервера. Он не предназначен для работы вместе с другими веб-серверами. OpenLiteSpeed использует те же порты, что и другие веб-серверы (80 для HTTP и 443 для HTTPS). Это означает, что только один веб-сервер может работать на вашем сервере в любой момент времени.
Могу ли я защитить свой веб-сервер OpenLiteSpeed с помощью бесплатного SSL-сертификата, такого как Let’s Encrypt?
Да, вы можете. OpenLiteSpeed имеет встроенную поддержку Let’s Encrypt и других удостоверяющих центров, соответствующих ACMEv2. Вы можете использовать веб-консоль администратора, чтобы установить бесплатный SSL-сертификат всего за несколько кликов. Обратитесь к официальной документации OpenLiteSpeed для получения дополнительной информации.
Кредит изображения: Unsplash. Все скриншоты сделаны Николасом Ксуан Нгуеном.