PHP, Apache, Ubuntu · 4 min read · Jan 09, 2026
Использование PHP5-FPM с Apache2 на Ubuntu 12.04 LTS
Использование PHP5-FPM с Apache2 на Ubuntu 12.04 LTS
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Это руководство показывает, как установить веб-сервер Apache2 на сервере Ubuntu 12.04 LTS с поддержкой PHP5 (через PHP-FPM) и MySQL. PHP-FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI с дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
В этом руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться для вас, поэтому вам нужно заменить их, где это необходимо.
Я выполняю все шаги в этом руководстве с правами root, поэтому убедитесь, что вы вошли как root:
sudo su2 Установка MySQL 5
Сначала мы устанавливаем MySQL 5 следующим образом:
apt-get install mysql-server mysql-clientВам будет предложено ввести пароль для пользователя root MySQL — этот пароль действителен для пользователя root@localhost, а также для [email protected], поэтому нам не нужно будет указывать пароль root MySQL вручную позже:
Новый пароль для пользователя MySQL “root”: <– вашпарольrootsql
Повторите пароль для пользователя MySQL “root”: <– вашпарольrootsql
3 Установка Apache2
Apache2 доступен как пакет Ubuntu. Нам нужен пакет apache2-mpm-worker, который мы можем установить следующим образом:
apt-get install apache2-mpm-workerТеперь направьте ваш браузер на http://192.168.0.100, и вы должны увидеть страницу-заглушку Apache2 (Работает!):

Корневая директория документа Apache по умолчанию — /var/www на Ubuntu, а конфигурационный файл — /etc/apache2/apache2.conf. Дополнительные конфигурации хранятся в подкаталогах директории /etc/apache2, таких как /etc/apache2/mods-enabled (для модулей Apache), /etc/apache2/sites-enabled (для виртуальных хостов) и /etc/apache2/conf.d.
4 Установка PHP5
Мы можем заставить PHP5 работать в Apache2 через PHP-FPM и модуль mod_fastcgi Apache, который мы устанавливаем следующим образом:
apt-get install libapache2-mod-fastcgi php5-fpm php5PHP-FPM — это демон-процесс (с init-скриптом /etc/init.d/php5-fpm), который запускает сервер FastCGI на порту 9000.
Далее включите следующие модули Apache…
a2enmod actions fastcgi alias… и перезапустите Apache:
/etc/init.d/apache2 restart5 Конфигурация Apache
Чтобы Apache работал с PHP-FPM, нам нужна следующая конфигурация:
| |
(Чтобы узнать больше о директиве FastCgiExternalServer, посмотрите на http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)
Вы можете поместить это в глобальную конфигурацию Apache (чтобы это было включено для всех виртуальных хостов), например, в /etc/apache2/conf.d/php5-fpm.conf (этого файла не существует, поэтому вам нужно создать его), или вы можете разместить это в каждом виртуальном хосте, который должен использовать PHP-FPM. Я хочу использовать PHP-FPM с виртуальным хостом по умолчанию, поэтому я открываю его конфигурационный файл виртуального хоста /etc/apache2/sites-available/default…
vi /etc/apache2/sites-available/default… и помещаю следующий раздел где-то между
| [...] |
Перезапустите Apache после этого:
/etc/init.d/apache2 restartТеперь создайте следующий PHP-файл в корневой директории документа /var/www:
vi /var/www/info.php| |
Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, PHP5 работает, и он работает через FPM/FastCGI, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP5. MySQL не указан там, что означает, что у нас еще нет поддержки MySQL в PHP5.
6 Получение поддержки 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Теперь перезагрузите PHP-FPM:
/etc/init.d/php5-fpm reloadТеперь обновите http://192.168.0.100/info.php в вашем браузере и прокрутите вниз до раздела модулей снова. Теперь вы должны найти много новых модулей там, включая модуль MySQL:

7 phpMyAdmin
phpMyAdmin — это веб-интерфейс, через который вы можете управлять вашими базами данных MySQL. Неплохо установить его:
apt-get install phpmyadminВы увидите следующие вопросы:
Веб-сервер для автоматической перенастройки: <– apache2
Настроить базу данных для phpmyadmin с dbconfig-common? <– Нет
После этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:

8 Настройка PHP-FPM для использования Unix-сокета
По умолчанию PHP-FPM слушает на порту 9000 на 127.0.0.1. Также возможно заставить PHP-FPM использовать Unix-сокет, что избегает накладных расходов TCP. Для этого откройте /etc/php5/fpm/pool.d/www.conf…
vi /etc/php5/fpm/pool.d/www.conf… и измените строку listen следующим образом:
| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |
Затем перезагрузите PHP-FPM:
/etc/init.d/php5-fpm reloadДалее пройдите через вашу конфигурацию Apache и все ваши виртуальные хосты и измените строку FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization на FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization, например, так:
vi /etc/apache2/sites-available/default| [...] |
Наконец, перезагрузите Apache:
/etc/init.d/apache2 reload9 Ссылки
- Apache: http://httpd.apache.org/
- Модуль Apache mod_fastcgi: http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
- phpMyAdmin: http://www.phpmyadmin.net/
Об авторе
Фалко Тимме является владельцем Timme Hosting (ультрабыстрая веб-хостинг на nginx). Он является ведущим куратором HowtoForge (с 2005 года) и одним из основных разработчиков ISPConfig (с 2000 года). Он также внес вклад в книгу O’Reilly “Администрирование систем Linux”.
Get new posts in your inbox
No spam. Unsubscribe anytime.