PHP, Apache · 3 min read · Jan 01, 2026
Использование PHP5-FPM с Apache2 на OpenSUSE 12.1 - Страница 2
6 Настройка Apache
Чтобы Apache работал с PHP-FPM, нам нужна следующая конфигурация:
| |
(Чтобы узнать больше о директиве FastCgiExternalServer, посмотрите на http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)
Вы можете поместить это в глобальную конфигурацию Apache (чтобы это было включено для всех виртуальных хостов), например, в /etc/apache2/conf.d/mod_fastcgi.conf, или вы можете разместить это в каждом виртуальном хосте, который должен использовать PHP-FPM. Я хочу использовать PHP-FPM со всеми виртуальными хостами, поэтому я открываю /etc/apache2/conf.d/mod_fastcgi.conf…
vi /etc/apache2/conf.d/mod_fastcgi.conf… и добавляю следующий раздел в конец:
| [...] |
Директория /usr/lib/cgi-bin/ должна существовать, поэтому мы создаем ее следующим образом:
mkdir /usr/lib/cgi-bin/Перезапустите Apache после этого:
systemctl restart apache2.serviceТеперь создайте следующий PHP файл в корневом каталоге документа /srv/www/htdocs стандартного виртуального хоста Apache:
vi /srv/www/htdocs/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, так как они могут понадобиться для ваших приложений:
yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshmТеперь перезагрузите PHP-FPM:
systemctl reload php-fpm.serviceТеперь перезагрузите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны найти много новых модулей, включая модуль MySQL:

8 phpMyAdmin
phpMyAdmin - это веб-интерфейс, через который вы можете управлять вашими базами данных MySQL.
phpMyAdmin можно установить следующим образом:
yast2 -i phpMyAdminЧтобы убедиться, что мы можем получить доступ к phpMyAdmin со всех сайтов, созданных через ISPConfig позже, используя /phpmyadmin (например, http://www.example.com/phpmyadmin) и /phpMyAdmin (например, http://www.example.com/phpMyAdmin), откройте /etc/apache2/conf.d/phpMyAdmin.conf…
vi /etc/apache2/conf.d/phpMyAdmin.conf… и добавьте следующие два алиаса сразу в начале:
| Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin [...] |
Перезапустите Apache и перезагрузите PHP-FPM:
systemctl restart apache2.service
systemctl reload php-fpm.serviceПосле этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpMyAdmin/:

9 Настройка PHP-FPM для использования Unix-сокета
По умолчанию PHP-FPM слушает на порту 9000 на 127.0.0.1. Также возможно сделать так, чтобы PHP-FPM использовал Unix-сокет, что избегает накладных расходов TCP. Для этого откройте /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… и измените строку listen следующим образом:
| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |
Также установите владельца, группу и разрешения сокета следующим образом:
| [...] ; Установите разрешения для unix-сокета, если он используется. В Linux разрешения на чтение/запись ; должны быть установлены, чтобы разрешить подключения от веб-сервера. Многие ; системы, производные от BSD, позволяют подключения независимо от разрешений. ; Значения по умолчанию: пользователь и группа установлены как работающий пользователь ; режим установлен на 0666 listen.owner = nobody listen.group = nobody listen.mode = 0666 [...] |
Затем перезагрузите PHP-FPM:
systemctl reload php-fpm.serviceЗатем пройдите через вашу конфигурацию 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/conf.d/mod_fastcgi.conf| [...] |
Наконец, перезагрузите Apache:
systemctl reload apache2.service10 Ссылки
- 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/
- OpenSUSE: http://www.opensuse.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Get new posts in your inbox
No spam. Unsubscribe anytime.