Установка ПО · 5 min read · Jan 27, 2026
Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на Fedora 19
Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на Fedora 19
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Lighttpd — это безопасный, быстрый, соответствующий стандартам веб-сервер, предназначенный для сред, критичных к скорости. Этот учебник показывает, как установить Lighttpd на сервер Fedora 19 с поддержкой 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. Эти настройки могут отличаться для вас, поэтому вам нужно заменить их, где это необходимо.
2 Установка MySQL/MariaDB 5
Сначала мы устанавливаем MySQL 5 следующим образом:
yum install mysql mysql-serverЗатем мы создаем системные ссылки для автозагрузки MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:
systemctl enable mysqld.service
systemctl start mysqld.serviceСоздайте пароль для пользователя root MySQL (замените yourrootsqlpassword на желаемый пароль):
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
Чтобы войти в MariaDB и обеспечить ее безопасность, нам понадобится текущий
пароль для пользователя root. Если вы только что установили MariaDB, и
вы еще не установили пароль root, то пароль будет пустым,
поэтому вам просто нужно нажать Enter здесь.
Введите текущий пароль для root (нажмите Enter для отсутствия): <– ENTER
OK, успешно использован пароль, продолжаем…
Установка пароля root гарантирует, что никто не сможет войти в
пользователя root MariaDB без надлежащей авторизации.
Установить пароль root? [Y/n] <– ENTER
Новый пароль: <– yourrootsqlpassword
Повторите новый пароль: <– yourrootsqlpassword
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
… Успех!
По умолчанию установка MariaDB имеет анонимного пользователя,
что позволяет любому войти в MariaDB без необходимости создания
учетной записи для них. Это предназначено только для тестирования,
и чтобы сделать установку немного более гладкой.
Вы должны удалить их перед переходом в
производственную среду.
Удалить анонимных пользователей? [Y/n] <– ENTER
… Успех!
Обычно root должен иметь возможность подключаться только с ‘localhost’.
Это гарантирует, что кто-то не сможет угадать
пароль root из сети.
Запретить удаленный вход root? [Y/n] <– ENTER
… Успех!
По умолчанию MariaDB поставляется с базой данных с именем ‘test’,
к которой может получить доступ любой. Это также предназначено
только для тестирования и должно быть удалено
перед переходом в производственную среду.
Удалить тестовую базу данных и доступ к ней? [Y/n] <– ENTER
- Удаление тестовой базы данных…
… Успех! - Удаление привилегий на тестовую базу данных…
… Успех!
Перезагрузка таблиц привилегий обеспечит, что все изменения,
внесенные до сих пор, вступят в силу немедленно.
Перезагрузить таблицы привилегий сейчас? [Y/n] <– ENTER
… Успех!
Очистка…
Все готово! Если вы завершили все вышеперечисленные шаги,
ваша установка MariaDB теперь должна быть защищена.
Спасибо за использование MariaDB!
[root@server1 ~]#
3 Установка Lighttpd
Lighttpd доступен как пакет Fedora, поэтому мы можем установить его следующим образом:
yum install lighttpdЗатем мы создаем системные ссылки для автозагрузки Lighttpd (чтобы Lighttpd запускался автоматически при загрузке системы) и запускаем его:
systemctl enable lighttpd.service
systemctl restart lighttpd.serviceТеперь откройте ваш браузер и перейдите по адресу http://192.168.0.100, и вы должны увидеть страницу-заглушку Lighttpd:

Корневая директория документа Lighttpd по умолчанию находится в /var/www/lighttpd на Fedora, а файл конфигурации — в /etc/lighttpd/lighttpd.conf.
4 Установка PHP5
Мы можем заставить PHP5 работать в Lighttpd через PHP-FPM, который мы устанавливаем следующим образом:
yum install php-fpm lighttpd-fastcgiPHP-FPM — это демон, который запускает сервер FastCGI на порту 9000.
Создайте системные ссылки для автозагрузки PHP-FPM и запустите его:
systemctl enable php-fpm.service
systemctl start php-fpm.service5 Настройка Lighttpd и PHP5
Чтобы включить PHP5 в Lighttpd, мы должны изменить два файла: /etc/php.ini и /etc/lighttpd/lighttpd.conf. Сначала откроем /etc/php.ini и раскомментируем строку cgi.fix_pathinfo=1:
vi /etc/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://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Затем мы открываем /etc/lighttpd/conf.d/fastcgi.conf и убеждаемся, что “mod_fastcgi” включен:
vi /etc/lighttpd/conf.d/fastcgi.conf| [...] server.modules += ( "mod_fastcgi" ) [...] |
Затем, дальше по файлу, есть раздел fastcgi.server — оставьте его закомментированным и добавьте свой собственный раздел fastcgi.server следующим образом:
| [...] ## ## Пример PHP ## Для PHP не забудьте установить cgi.fix_pathinfo = 1 в php.ini. ## ## Количество процессов php, которые вы получите, можно легко рассчитать: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## для примера php-num-procs это означает, что вы получите 17*5 = 85 php ## процессов. вам всегда нужно это высокое число для ваших очень ## загруженных сайтов. И если у вас много ОЗУ. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
Откройте /etc/lighttpd/modules.conf…
vi /etc/lighttpd/modules.conf… и активируйте файл /etc/lighttpd/conf.d/fastcgi.conf:
| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
Затем мы перезапускаем Lighttpd:
systemctl restart lighttpd.serviceGet new posts in your inbox
No spam. Unsubscribe anytime.