Установка серверов · 4 min read · Dec 23, 2025
Как установить Lighttpd с PHP-FPM и MariaDB на CentOS 7
Lighttpd — это безопасный, быстрый, соответствующий стандартам веб-сервер, предназначенный для сред, критичных к скорости. Этот учебник показывает, как установить Lighttpd на сервере CentOS 7 с поддержкой PHP (через PHP-FPM) и поддержкой MySQL. PHP-FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI с дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов. В этом учебнике я использую PHP-FPM вместо spawn-fcgi от Lighttpd.
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.1.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их, где это необходимо.
2 Установка MariaDB в качестве замены MySQL
Сначала мы устанавливаем MySQL следующим образом:
yum -y install mariadb mariadb-serverЗатем мы создаем системные ссылки для автозапуска MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:
systemctl enable mariadb.service
systemctl start mariadb.serviceУстановите пароли для учетной записи root MariaDB:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:ПРИМЕЧАНИЕ: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB, ИСПОЛЬЗУЕМЫХ В ПРОИЗВОДСТВЕ! ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!Чтобы войти в MariaDB и обеспечить ее безопасность, нам нужен текущий
пароль для пользователя root. Если вы только что установили MariaDB и
еще не установили пароль root, пароль будет пустым,
поэтому вам просто нужно нажать Enter здесь.Введите текущий пароль для root (нажмите Enter для отсутствия): <-- нажмите Enter
Хорошо, пароль успешно использован, продолжаем...Установка пароля root гарантирует, что никто не сможет войти в учетную запись root MariaDB
без надлежащей авторизации.Установить пароль root? [Y/n] <-- y
Новый пароль: <-- введите новый пароль
Повторите новый пароль: <-- введите новый пароль
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
... Успех!По умолчанию установка MariaDB имеет анонимного пользователя, позволяя любому
войти в MariaDB без необходимости создания учетной записи пользователя для
него. Это предназначено только для тестирования и для того, чтобы установка
проходила немного легче. Вам следует удалить их перед переходом в
производственную среду.Удалить анонимных пользователей? [Y/n] <-- y
... Успех!Обычно root должен иметь возможность подключаться только с 'localhost'. Это
гарантирует, что кто-то не сможет угадать пароль root из сети.Запретить удаленный вход root? [Y/n] <-- y
... Успех!По умолчанию MariaDB поставляется с базой данных с именем 'test', к которой любой может
получить доступ. Это также предназначено только для тестирования и должно быть удалено
перед переходом в производственную среду.Удалить тестовую базу данных и доступ к ней? [Y/n] <-- y
- Удаление тестовой базы данных...
... Успех!
- Удаление привилегий на тестовую базу данных...
... Успех!Перезагрузка таблиц привилегий обеспечит немедленное применение всех изменений,
внесенных до сих пор.Перезагрузить таблицы привилегий сейчас? [Y/n] <-- y
... Успех!Очистка...Готово! Если вы завершили все вышеперечисленные шаги, ваша установка MariaDB
должна быть теперь безопасной.Спасибо за использование MariaDB!3 Установка Lighttpd
Поскольку Lighttpd и PHP-FPM недоступны из официальных репозиториев CentOS, нам нужно включить репозиторий EPEL:
yum -y install epel-releaseИмпортируйте GPG-ключ EPEL:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7и затем выполните:
yum updateПосле этого мы можем установить Lighttpd следующим образом:
yum -y install lighttpdЗатем мы создаем системные ссылки для автозапуска Lighttpd (чтобы Lighttpd запускался автоматически при загрузке системы) и запускаем его:
systemctl enable lighttpd.service
systemctl start lighttpd.serviceЕсли Lighttpd не удается запустить с сообщением об ошибке…
(network.c.203) socket failed: Address family not supported by protocol… откройте /etc/lighttpd/lighttpd.conf…
nano /etc/lighttpd/lighttpd.conf… и измените server.use-ipv6 с enable на disable:
[...]
##
## Использовать IPv6?
##
server.use-ipv6 = "disable"
[...] Затем попробуйте снова запустить Lighttpd - теперь он должен работать без проблем:
systemctl start lighttpd.serviceУ Lighttpd корневая директория документа находится в /var/www/ htdocs (базовая директория /var/www плюс htdocs как подкаталог согласно файлу lighttpd.conf), но он устанавливает файлы по умолчанию в /var/www/ lighttpd. Это несоответствие, поэтому нам нужно переименовать директорию следующим образом.
mv /var/www/lighttpd /var/www/htdocsТеперь откройте ваш браузер и перейдите по адресу http://192.168.1.100, и вы должны увидеть следующую страницу:

Корневая директория документа Lighttpd — это /var/www/htdocs/ на CentOS 7, а файл конфигурации — /etc/lighttpd/lighttpd.conf.
4 Установка PHP
Мы можем заставить PHP работать в Lighttpd через PHP-FPM, который мы устанавливаем следующим образом:
yum -y install php-fpm lighttpd-fastcgiPHP-FPM — это демон, который запускает сервер FastCGI на порту 9000.
Откройте /etc/php-fpm.d/www.conf…
nano /etc/php-fpm.d/www.conf… и установите пользователя и группу на lighttpd:
[...]
; Unix user/group of processes
; Примечание: пользователь обязателен. Если группа не установлена, будет использована группа по умолчанию пользователя
; будет использована.
; RPM: apache Выбрано, чтобы иметь возможность получить доступ к некоторым директориям как httpd
user = lighttpd
; RPM: Сохраните группу, разрешенную для записи в директорию логов.
group = lighttpd
[...] Создайте системные ссылки для автозапуска PHP-FPM и запустите его:
systemctl enable php-fpm.service
systemctl start php-fpm.serviceGet new posts in your inbox
No spam. Unsubscribe anytime.