Установка ПО · 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-fastcgi

PHP-FPM — это демон, который запускает сервер FastCGI на порту 9000.

Создайте системные ссылки для автозагрузки PHP-FPM и запустите его:

systemctl enable php-fpm.service  
systemctl start php-fpm.service

5 Настройка 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.service
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.