Установка серверов · 9 min read · Sep 22, 2025

Как установить Lighttpd с MariaDB и PHP-FPM на Ubuntu 22.04

Стек LLMP (Linux, Lighttpd, MariaDB и PHP-FPM) — это программный стек для доставки веб-приложений. Каждый компонент стека LLMP бесплатен, с открытым исходным кодом и может быть установлен на нескольких операционных системах. Стек LLMP может предоставлять статические HTML-сайты и PHP-приложения, такие как WordPress, Drupal и Joomla.

Этот учебник покажет вам, как установить и настроить стек LLMP (Linux, Lighttpd, MariaDB и PHP-FPM) на последней системе Ubuntu 22.04. Этот учебник включает инструкции по настройке виртуального хоста на веб-сервере Lighttpd и включению SSL/HTTPS.

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

Для этого учебника нам понадобятся следующие предварительные требования:

  • Сервер Ubuntu 22.04.
  • Непривилегированный пользователь с правами root/администратора

Установка веб-сервера Lighttpd

Lighttpd или Lighty — это высокопроизводительный веб-сервер, созданный как доказательство концепции проблемы c10k “как обрабатывать 10 000 соединений параллельно на одном сервере”.

Lighttpd разработан для скорости, безопасности, легкости и гибкости. Он имеет минимальное использование ЦП и памяти и предоставляет расширенные функции, такие как FastCGI, CGI, аутентификация, сжатие, перезапись URL и многое другое.

Перед установкой любого пакета выполните команду apt ниже, чтобы обновить и обновить индекс пакетов ваших репозиториев Ubuntu.

sudo apt update

Теперь установите веб-сервер Lighttpd, используя следующую команду.

sudo apt install lighttpd

Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить. Теперь начнется установка Lighttpd.

установка lighttpd

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

sudo systemctl start lighttpd  
sudo systemctl enable lighttpd

Проверьте и подтвердите службу Lighttpd, используя команду ниже. Вы должны увидеть, что служба Lighttpd работает и включена, что означает, что она будет автоматически запускаться при загрузке системы.

sudo systemctl status lighttpd

запуск lighttpd

Если у вас есть брандмауэр UFW, работающий на вашем компьютере с Ubuntu, вам необходимо добавить правила брандмауэра для входящего трафика на веб-сервер Lighttpd.

Выполните команду ufw ниже, чтобы добавить правила Lighttpd в брандмауэр UFW, затем вы можете проверить и подтвердить список правил UFW, как показано ниже.

sudo ufw allow "Lighttpd Full"  
sudo ufw status

Вы должны увидеть профиль приложения “Lighttpd Full”, добавленный в брандмауэр UFW, что означает, что все входящие HTTP и HTTPS порты разрешены.

настройка ufw брандмауэра

Теперь проверьте директорию “ /var/www/html“ с помощью команды ниже. Если вы не видите файл index.html, вы можете создать его с помощью команды ниже.

ls -lah /var/www/html  
echo "

Добро пожаловать на веб-сервер Lighttpd

" > /var/www/html/index.html

Наконец, откройте веб-браузер и посетите IP-адрес сервера (т.е. http://192.168.5.28/), и вы должны увидеть страницу index.html.

Установка сервера MariaDB

После установки веб-сервера Lighthttpd пришло время установить сервер MariaDB на систему Ubuntu. Это также включает в себя то, как развернуть сервер MariaDB безопасно, используя инструмент “ mysql_secure_installation “, предоставленный пакетом MariaDB.

Выполните следующую команду apt для установки сервера MariaDB. В текущем состоянии репозиторий по умолчанию Ubuntu предоставляет MariaDB v10.6.

sudo apt install mariadb-server

Теперь введите Y, чтобы подтвердить установку, и нажмите ENTER. И начнется установка MariaDB.

установка mariadb

После завершения установки MariaDB выполните команду systemctl ниже, чтобы запустить и включить службу MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Проверьте и подтвердите службу MariaDB, используя следующую команду. И вы должны увидеть, что служба MariaDB работает.

sudo systemctl status mariadb

Далее вы настроите развертывание MariaDB, используя инструмент “mysql_secure_installation”, который может помочь вам установить пароль root для сервера MariaDB, отключить удаленный вход root, очистить базу данных по умолчанию и доступ анонимных пользователей и т.д.

Теперь выполните команду “mysql_secure_installation” как ниже.

sudo mysql_secure_installation

По умолчанию установка MariaDB идет без пароля root. Нажмите ENTER, чтобы продолжить.

mysql_secure_installation

Теперь введите “ n “, чтобы оставить метод аутентификации по умолчанию (для пользователя root MariaDB).

нет аутентификации unix_socket для root

Введите Y, чтобы установить пароль root для вашего сервера MariaDB. Обязательно используйте надежный пароль для вашего развертывания.

установка пароля root

Теперь введите Y, чтобы отключить удаленный вход для пользователя root MariaDB. Если вы не находитесь в кластерной среде, всегда рекомендуется отключать удаленный вход для пользователя root MariaDB.

Теперь снова введите Y, чтобы удалить анонимного пользователя по умолчанию из вашей установки MariaDB.

удалить анонимного пользователя

Введите Y снова, чтобы удалить тестовую базу данных по умолчанию, доступную анонимному пользователю на MariaDB.

удалить тестовую базу данных

Наконец, введите Y снова, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.

перезагрузить привилегии таблиц

Установка PHP-FPM 8.1

Теперь вы установили веб-сервер Lighttpd и сервер базы данных MariaDB. Теперь вы установите PHP-FPM на свою систему Ubuntu. В текущем состоянии репозиторий Ubuntu предоставляет последнюю версию PHP 8.1.

Выполните команду apt ниже, чтобы установить PHP-FPM 8.1 на вашу систему Ubuntu.

sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xml

Введите Y, чтобы подтвердить установку, и нажмите ENTER. Теперь установка начнется.

установка php-fpm

После завершения установки пакетов PHP-FPM выполните команду ниже, чтобы запустить и включить службу PHP-FPM.

sudo systemctl start php8.1-fpm  
sudo systemctl enable php8.1-fpm

Проверьте и подтвердите службу PHP-FPM, используя команду ниже. Вы должны увидеть, что служба PHP-FPM работает.

sudo systemctl status php8.1-fpm

запуск php-fpm

Вы также можете проверить службу PHP-FPM, используя команду “ ss “. Процесс PHP-FPM по умолчанию работает под сокет-файлом, и вы можете проверить процесс PHP-FPM с помощью команды ниже.

ss -pl | grep php

Вы должны получить службу PHP-FPM, работающую на сокет-файле “ /run/php/php8.1-fpm.sock “.

Настройка PHP-FPM с Lighttpd

Установка пакетов стека LLMP завершена, но вам все еще нужно настроить веб-сервер Lighttpd, чтобы он мог работать с службой PHP-FPM. Это можно сделать, используя модули FastCGI на веб-сервере Lighttpd.

Сначала отредактируйте файл конфигурации PHP-FPM “ /etc/php/8.1/fpm/php.ini “ с помощью редактора nano.

sudo nano /etc/php/8.1/fpm/php.ini

Добавьте следующую конфигурацию в файл.

cgi.fix_pathinfo = 1

Сохраните и закройте файл, когда закончите.

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

sudo systemctl restart php8.1-fpm

Далее выполните следующую команду, чтобы включить модули Lighttpd “ fastcgi “ и “ fastcgi-php-fpm “.

sudo lighty-enable-mod fastcgi fastcgi-php-fpm

Отредактируйте файл конфигурации “ /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf “ с помощью редактора nano. Этот файл является конфигурацией модуля fastcgi-php-fpm, который будет использоваться для связи с файлом сокета PHP-FPM.

sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf

Измените путь опции сокета на “ /run/php/php8.1-fpm.sock “ следующим образом.

## Используйте службу PHP-FPM для PHP через FastCGI  
fastcgi.server += ( ".php" =>  
        ((  
                "socket" => "/run/php/php8.1-fpm.sock",  
                "broken-scriptfilename" => "enable"  
        ))  
)

Сохраните и закройте файл, когда закончите.

Наконец, выполните команду ниже, чтобы перезапустить службу Lighttpd и применить новые изменения. Теперь ваш стек LLMP готов обслуживать как статические HTML, так и динамические PHP веб-приложения.

sudo systemctl restart lighttpd

настройка php-fpm lighttpd

Тестирование Phpinfo

Чтобы проверить установку вашего стека LLMP, вы можете просто создать скрипт PHPINFO, который покажет вам детальную конфигурацию Lighttpd и конфигурации PHP-FPM.

Выполните команду ниже, чтобы создать новый PHP-скрипт “ /var/www/html/info.php “ и изменить владельца на пользователя “ www-data “.

echo "" > /var/www/html/info.php  
sudo chown -R www-data:www-data /var/www/html

Вернитесь в ваш веб-браузер и посетите IP-адрес сервера Ubuntu, за которым следует путь URL “ /info.php “ (http://192.168.5.28/info.php). И вы должны увидеть детальную страницу phpinfo на следующем скриншоте. Это означает, что конфигурация Lighttpd и PHP-FPM завершена и успешна.

php info llmp

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

На этом этапе вы завершили установку и настройку стека LLMP. Стек LLMP также готов обслуживать динамическое PHP веб-приложение через PHP-FPM. Теперь вы узнаете, как настроить виртуальный хост на веб-сервере Lighttpd. Виртуальный хост позволяет вам запускать несколько доменных имен на одном сервере или IP-адресе.

Теперь выполните следующую команду, чтобы создать новую директорию “ /etc/lighttpd/vhosts “. Эта директория будет использоваться для хранения всех конфигураций виртуальных хостов веб-сервера Lighttpd.

sudo mkdir -p /etc/lighttpd/vhosts/

Теперь отредактируйте файл конфигурации Lighttpd “ /etc/lighttpd/lighttpd.conf “ с помощью редактора nano.

sudo nano /etc/lighttpd/lighttpd.conf

Добавьте следующую конфигурацию в файл.

include "/etc/lighttpd/vhosts/*.conf"

Сохраните и закройте файл, когда закончите. Теперь вы готовы настроить виртуальный хост Lighttpd.

Сначала создайте директорию Document Root для вашего виртуального хоста. В этом примере директория Document Root будет “ /var/www/hwdomain “.

mkdir -p /var/www/hwdomain/

Создайте новый файл “index.html” в директории Document root “/var/www/hwdomain” и измените владельца на правильного пользователя “www-data”.

echo "

Добро пожаловать на виртуальный хост howtoforge.local

" > /var/www/hwdomain/index.html sudo chown -R www-data:www-data /var/www/hwdomain

Далее создайте новую конфигурацию виртуального хоста “ /etc/lighttpd/vhosts/hwdomain.conf “ с помощью редактора nano.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Добавьте следующую конфигурацию в файл. В этом примере домен “howtoforge.local” будет использоваться для виртуального хоста.

$HTTP["host"] =~ "(^|.)howtoforge.local$" {  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Сохраните и закройте файл, когда закончите.

После этого выполните следующую команду, чтобы проверить и подтвердить конфигурацию Lighttpd. Если конфигурация Lighttpd правильная, вы увидите сообщение об ошибке, такое как “ Синтаксис ОК “.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf

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

sudo systemctl restart lighttpd

виртуальный хост lighttpd

Вернитесь в ваш веб-браузер и введите ваше доменное имя в адресной строке (т.е. http://howtoforge.local/). И вы должны увидеть страницу index.html по умолчанию для этого виртуального хоста.

Включение HTTPS на веб-сервере Lighttpd

После настройки виртуального хоста Lighthttpd теперь вы узнаете, как включить SSL/HTTPS на веб-сервере Lighttpd.

Перед началом настройки SSL выполните команду ниже, чтобы включить модуль “ssl” для веб-сервера Lighttpd. Это создаст файл ссылки на “ /etc/lighttpd/conf-enabled/10-ssl.conf “, который содержит базовую конфигурацию SSL для Lighttpd. Кроме того, вам потребуется сгенерировать SSL-сертификаты для localhost с именем “ server.pem

sudo lighty-enable mod ssl

Теперь выполните команду ниже, чтобы создать и сгенерировать SSL-сертификат для localhost с именем “ server.pem “.

openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr  
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crt
cat server.com.key server.com.crt > server.pem

И теперь вы готовы реализовать SSL/HTTPS в конфигурации виртуального хоста “ hwdomain.conf “.

Перед началом настройки SSL для виртуального хоста убедитесь, что вы сгенерировали SSL-сертификаты для вашего доменного имени. В этом примере доменное имя “howtoforge.local” и SSL-сертификаты доступны в директории “ /etc/letsencrypt/live/hwdomain.i o”.

Отредактируйте конфигурацию виртуального хоста “ /etc/lighttpd/vhosts/hwdomain.conf “ с помощью редактора nano.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Замените конфигурацию, которую вы только что создали, на следующую конфигурацию.

$HTTP["scheme"] == "http" {  
        $HTTP["host"] == "howtoforge.local" {  
                url.redirect = ("/.*" => "https://howtoforge.local$0")  
        }  
}  
  
$SERVER["socket"] == ":443" {  
    ssl.engine = "enable"  
  
    ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"  
    ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"  
  
    server.name = "howtoforge.local"  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Сохраните и закройте файл, когда закончите.

Далее выполните следующую команду, чтобы проверить и подтвердить конфигурацию веб-сервера Lighttpd, и убедитесь, что вы получили сообщение об ошибке, такое как “Синтаксис ОК”. После этого вы можете перезапустить службу Lighttpd, чтобы применить новые изменения.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf  
sudo systemctl restart lighttpd

Наконец, вернитесь в ваш веб-браузер и посетите доменное имя виртуального хоста с https перед URL (т.е. https://howtoforge.local). Если ваша конфигурация SSL успешна, вы увидите локальную иконку на URL, как показано на следующем скриншоте.

Заключение

Поздравляю! Вы успешно установили стек LLMP (Linux, Lighttpd, MariaDB и PHP-FPM) на сервер Ubuntu 22.04. Вы также узнали, как настроить виртуальный хост на веб-сервере Lighttpd и включить SSL/HTTPS на Lighttpd для вашего доменного имени.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.