Установка серверов · 6 min read · Dec 18, 2025
Установка Lighttpd с PHP5 (PHP-FPM) и MySQL на Debian 8 (Jessie)
Lighttpd — это безопасный, быстрый, соответствующий стандартам веб-сервер, предназначенный для сред, критичных к скорости. Этот учебник показывает, как установить Lighttpd на сервере Debian 8 (Jessie) с поддержкой PHP5 (через PHP-FPM) и поддержкой MySQL. PHP-FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI с дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов. В этом учебнике я использую PHP-FPM вместо spawn-fcgi Lighttpd.
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.1.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их в соответствующих местах. Используйте минимальный сервер Debian в качестве основы для этой установки, это может быть либо минимальный образ вашего дата-центра, либо вы устанавливаете его с нуля, используя наш учебник по минимальному серверу Debian.
2 Установка MySQL / MariaDB
Debian 8 поставляется с 2 совместимыми с MySQL базами данных: традиционной базой данных MySQL и MariaDB, ответвлением MySQL, поддерживаемым оригинальным изобретателем MySQL Монти Видениусом. В настоящее время MariaDB лидирует по скорости работы баз данных и активности разработки, поэтому я выберу ее для своего сервера.
Ниже я опишу установку MariaDB (Глава 2.1) и MySQL (Глава 2.2), чтобы вы могли выбрать базу данных, которая вам больше нравится. Просто убедитесь, что вы следуете либо главе 2.1, либо 2.2, но не обеим.
2.1 Установка MariaDB
Чтобы установить MariaDB, выполните эту команду.
apt-get install mariadb-server mariadb-clientВам будет предложено ввести пароль для пользователя root MariaDB — этот пароль действителен для пользователя root@localhost, а также для [email protected], поэтому нам не нужно будет указывать пароль root MariaDB вручную позже:
Новый пароль для пользователя "root" MariaDB: <-- вашпарольsqlroot
Повторите пароль для пользователя "root" MariaDB: <-- вашпарольsqlroot2.2 Установка MySQL
Мы устанавливаем MySQL 5 следующим образом:
apt-get install mysql-server mysql-clientВам будет предложено ввести пароль для пользователя root MySQL — этот пароль действителен для пользователя root@localhost, а также для [email protected], поэтому нам не нужно будет указывать пароль root MySQL вручную позже:
Новый пароль для пользователя “root” MySQL: <– вашпарольsqlroot
Повторите пароль для пользователя “root” MySQL: <– вашпарольsqlroot
3 Установка Lighttpd
Lighttpd доступен как пакет Debian, поэтому мы можем установить его следующим образом:
apt-get install lighttpdТеперь откройте ваш браузер и перейдите по адресу http://192.168.1.100/, и вы должны увидеть страницу-заглушку Lighttpd:

Корневая директория документа Lighttpd по умолчанию — /var/www на Debian, а файл конфигурации — /etc/lighttpd/lighttpd.conf.
Дополнительные конфигурации хранятся в файлах в каталоге /etc/lighttpd/conf-available — эти конфигурации можно включить с помощью команды lighttpd-enable-mod, которая создает символическую ссылку из каталога /etc/lighttpd/conf-enabled на соответствующий файл конфигурации в /etc/lighttpd/conf-available. Вы можете отключить конфигурации с помощью команды lighttpd-disable-mod.
4 Установка PHP5
Мы можем заставить PHP5 работать в Lighttpd через PHP-FPM, который мы устанавливаем следующим образом:
apt-get install php5-fpm php5PHP-FPM — это демон-процесс (с init-скриптом /etc/init.d/php5-fpm), который запускает сервер FastCGI на сокете /var/run/php5-fpm.sock.
5 Конфигурирование Lighttpd и PHP5
Чтобы включить PHP5 в Lighttpd, мы должны изменить /etc/php5/fpm/php.ini и раскомментировать строку cgi.fix_pathinfo=1:
nano /etc/php5/fpm/php.ini[...]
; cgi.fix_pathinfo предоставляет *реальную* поддержку PATH_INFO/PATH_TRANSLATED для CGI. PHP
; предыдущее поведение заключалось в том, чтобы устанавливать PATH_TRANSLATED в SCRIPT_FILENAME и не понимать,
; что такое PATH_INFO. Для получения дополнительной информации о PATH_INFO смотрите спецификации cgi. Установка
; этого в 1 заставит PHP CGI исправить свои пути в соответствии со спецификацией. Установка
; нуля заставляет PHP вести себя как раньше. По умолчанию 1. Вы должны исправить свои скрипты
; чтобы использовать SCRIPT_FILENAME вместо PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]И перезапустите службу php5-fpm, чтобы применить изменения конфигурации:
systemctl restart php5-fpm.serviceФайл конфигурации Lighttpd для PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf подходит для использования с spawn-fcgi, однако мы хотим использовать PHP-FPM, поэтому мы создаем резервную копию файла (с именем 15-fastcgi-php-spawnfcgi.conf) и изменяем 15-fastcgi-php.conf следующим образом:
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Запустите сервер FastCGI для php (необходим пакет php5-cgi)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php5-fpm.sock",
"broken-scriptfilename" => "enable"
))
)Чтобы включить конфигурацию fastcgi, выполните следующие команды:
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-phpЭто создаст символические ссылки /etc/lighttpd/conf-enabled/10-fastcgi.conf, которая указывает на /etc/lighttpd/conf-available/10-fastcgi.conf, и /etc/lighttpd/conf-enabled/15-fastcgi-php.conf, которая указывает на /etc/lighttpd/conf-available/15-fastcgi-php.conf:
ls -l /etc/lighttpd/conf-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.confЗатем мы перезагружаем Lighttpd:
systemctl force-reload lighttpd.service6 Тестирование PHP5 / Получение информации о вашей установке PHP5
Корневая директория документа по умолчанию — /var/www. Теперь мы создадим небольшой PHP-файл (info.php) в этом каталоге и вызовем его в браузере. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.
nano /var/www/html/info.phpТеперь мы вызываем этот файл в браузере (например, http://192.168.1.100/info.php):

Как вы видите, PHP5 работает, и он работает через FPM/FastCGI, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP5. MySQL там не указан, что означает, что у нас еще нет поддержки MySQL в PHP5.
7 Получение поддержки MySQL в PHP5
Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php5-mysqlnd. Это новый драйвер базы данных, совместимый с MySQL и MariaDB. Хорошая идея — установить некоторые другие модули PHP5, так как они могут понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 следующим образом:
apt-cache search php5Выберите те, которые вам нужны, и установите их следующим образом:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xslXcache — это бесплатный и открытый кэш PHP opcode для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэши PHP opcode, такие как eAccelerator и APC. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу страницу PHP.
Xcache можно установить следующим образом:
apt-get install php5-xcacheТеперь перезагрузите PHP-FPM:
systemctl restart php5-fpm.serviceТеперь обновите http://192.168.1.100/info.php в вашем браузере и прокрутите вниз до раздела модулей снова. Вы должны теперь найти много новых модулей, включая модуль MySQL:

8 phpMyAdmin
phpMyAdmin — это веб-интерфейс, через который вы можете управлять своими базами данных MySQL. Хорошая идея — установить его:
apt-get install phpmyadminВы увидите следующие вопросы:
Веб-сервер для автоматической перенастройки: <– lighttpd

Настроить базу данных для phpmyadmin с dbconfig-common? <-- Да
Пароль административного пользователя базы данных: <-- вашпарольsqlroot
Пароль приложения MySQL для phpmyadmin: <-- Нажмите После этого вы сможете получить доступ к phpMyAdmin по адресу http://192.168.1.100/phpmyadmin/:

9 Настройка PHP-FPM для использования TCP-соединения
По умолчанию PHP-FPM прослушивает сокет /var/run/php5-fpm.sock. Также возможно заставить PHP-FPM использовать TCP-соединение. Для этого откройте /etc/php5/fpm/pool.d/www.conf…
nano /etc/php5/fpm/pool.d/www.conf… и измените строку listen следующим образом:
[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]Это заставит PHP-FPM прослушивать порт 9000 на IP 127.0.0.1 (localhost). Убедитесь, что вы используете порт, который не занят на вашей системе.
Затем перезагрузите PHP-FPM:
systemctl restart php5-fpm.serviceЗатем откройте файл конфигурации PHP Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf и замените строку сокета на строки хоста и порта:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Запустите сервер FastCGI для php (необходим пакет php5-cgi)
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)Наконец, перезагрузите Lighttpd:
systemctl force-reload lighttpd.service10 Ссылки
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Get new posts in your inbox
No spam. Unsubscribe anytime.