Установка серверов · 5 min read · Dec 23, 2025

Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на Ubuntu 14.04LTS

Lighttpd — это безопасный, быстрый, соответствующий стандартам веб-сервер, предназначенный для критически важных с точки зрения скорости сред. В этом руководстве показано, как установить Lighttpd на сервере Ubuntu 14.04 с поддержкой PHP5 (через PHP-FPM) и поддержкой MySQL. PHP-FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI с некоторыми дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов. В этом руководстве я использую PHP-FPM вместо spawn-fcgi от Lighttpd.

1 Предварительная заметка

В этом руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их там, где это необходимо.

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

sudo su

2 Установка MySQL 5

Сначала мы устанавливаем MySQL 5 следующим образом:

apt-get install mysql-server mysql-client

Вам будет предложено ввести пароль для пользователя root MySQL — этот пароль действителен для пользователя root@localhost, а также для [email protected], поэтому нам не нужно будет указывать пароль root MySQL вручную позже:

Новый пароль для пользователя MySQL “root”: <– вашпарольmysql Повторите пароль для пользователя MySQL “root”: <– вашпарольmysql

3 Установка Lighttpd

Lighttpd доступен как пакет Ubuntu, поэтому мы можем установить его следующим образом, так как apache2 установлен по умолчанию в ubuntu14.04, сначала мы удалим apache2, а затем установим lighttpd.

service apache2 stop  
update-rc.d -f apache2 remove  
apt-get remove apache2
apt-get install lighttpd

Теперь откройте ваш браузер и перейдите по адресу http://192.168.0.100/index.lighttpd.html, и вы должны увидеть страницу-заглушку Lighttpd:

Корневая директория документа по умолчанию для Lighttpd — /var/www на Ubuntu, а файл конфигурации — /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 php5

PHP-FPM — это демон-процесс (с init-скриптом php5-fpm), который запускает сервер FastCGI на сокете /var/run/php5-fpm.sock.

5 Настройка Lighttpd и PHP5

Чтобы включить PHP5 в Lighttpd, мы должны изменить /etc/php5/fpm/php.ini и раскомментировать строку cgi.fix_pathinfo=1:

vi /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 [...] |

Файл конфигурации Lighttpd для PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf подходит для использования с spawn-fcgi, однако мы хотим использовать PHP-FPM, поэтому мы создаем резервную копию файла (с именем 15-fastcgi-php.conf.bak) и изменяем 15-fastcgi-php.conf следующим образом:

cd /etc/lighttpd/conf-available/  
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.bak  
vi 15-fastcgi-php.conf

| # /usr/share/doc/lighttpd-doc/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-enabled
root@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled  
total 0  
lrwxrwxrwx 1 root root 33 May  7 05:33 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 May  7 05:33 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf  
root@server1:/etc/lighttpd/conf-available#

Затем мы перезагружаем Lighttpd:

service lighttpd force-reload

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

apt-get install language-pack-en-base   
dpkg-reconfigure locales

6 Тестирование PHP5 / Получение информации о вашей установке PHP5

Корневая директория документа для веб-сайта по умолчанию — /var/www. Теперь мы создадим небольшой PHP-файл (info.php) в этом каталоге и вызовем его в браузере. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.

vi /var/www/info.php

| |

Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, PHP5 работает, и он работает через FPM/FastCGI, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP5. MySQL не указан, что означает, что у нас еще нет поддержки MySQL в PHP5.

7 Получение поддержки MySQL в PHP5

Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php5-mysql. Также неплохо установить некоторые другие модули PHP5, так как они могут понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 следующим образом:

apt-cache search php5

Выберите те, которые вам нужны, и установите их следующим образом:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Xcache — это бесплатный и открытый кэш-оператор PHP для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэш-операторы PHP, такие как eAccelerator и APC. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу страницу PHP.

Xcache можно установить следующим образом:

apt-get install php5-xcache

Теперь перезагрузите PHP-FPM:

service php5-fpm reload

Теперь обновите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны увидеть множество новых модулей, включая модуль MySQL:

8 phpMyAdmin

phpMyAdmin — это веб-интерфейс, через который вы можете управлять своими базами данных MySQL. Установить его — хорошая идея:

apt-get install phpmyadmin

Вы увидите следующие вопросы:

Веб-сервер для автоматической перенастройки: <– lighttpd
Настроить базу данных для phpmyadmin с dbconfig-common? <– Нет

После этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:

9 Настройка PHP-FPM для использования TCP-соединения

По умолчанию PHP-FPM слушает на сокете /var/run/php5-fpm.sock. Также возможно заставить PHP-FPM использовать TCP-соединение. Для этого откройте /etc/php5/fpm/pool.d/www.conf…

vi /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:

service php5-fpm reload

Затем откройте файл конфигурации PHP Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf и замените строку сокета на строки хоста и порта:

vi /etc/lighttpd/conf-available/15-fastcgi-php.conf

| # /usr/share/doc/lighttpd-doc/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:

service lighttpd force-reload

10 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.