- 13, May 2024
- #1
Приветствую всех,
Я здесь новичок и не уверен, что это место, где я могу публиковать эти вопросы, но я пытался настроить свой Ubuntu 16.04 VPS для использования PHP-FPM с Apache2.
Я следил за этим источником:
1. https://www.howtoforge.com/tutorial/apache-with-php-fpm-on-ubuntu-16-04/
Изменил этот файл: /etc/apache2/sites-available/000-default.conf, чтобы теперь внутри было следующее: <Каталог /usr/lib/cgi-bin>
Требовать все предоставленные
AddHandler php7-fcgi.php
Действие php7-fcgi/php7-fcgi виртуальное
Псевдоним /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Авторизация
Также изменен этот файл /etc/apache2/conf-available, и теперь он содержит
# Перенаправление на локальный php-fpm, если mod_php недоступен
# Включить заголовки авторизации http
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
SetHandler "прокси:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
# Запретить доступ к необработанным источникам PHP по умолчанию
# Для повторного включения рекомендуется разрешить доступ к файлам
# только на определенном виртуальном хосте или каталоге
Требовать все отказы
# Запретить доступ к файлам без имени файла (например, '.php')
Требовать все отказы
Однако, когда я смотрю на выходные данные страницы info.php, которую я создал в корне документа, я вижу API сервера -> Обработчик Apache 2.0 вместо того, что я ожидал после игры с конфигурацией. Я ожидал API сервера -> FPM/FastCGI
Что мне кажется странным, так это содержимое /run/php и размер php7.0-fpm.sock, www-data и s перед каталогом, но не знаю, имеет ли это какое-либо отношение к этому.
.
/run/php$ ls -l
всего 4
-rw-r--r-- 1 корень root 4 3 июля 02:18 php7.0-fpm.pid
srw-rw---- 1 www-data www-data 0 3 июля 02:18 php7.0-fpm.sock
Команда uname -a дает:
4.4.0-83-generic #106-Ubuntu SMP Пн, 26 июня 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Команда dpkg -l | grep apache дает
ii apache2 2.4.18-2ubuntu3.3 amd64 HTTP-сервер Apache
ii apache2-bin 2.4.18-2ubuntu3.3 amd64 HTTP-сервер Apache (модули и другие двоичные файлы)
ii apache2-data 2.4.18-2ubuntu3.3 весь HTTP-сервер Apache (общие файлы)
ii apache2-utils 2.4.18-2ubuntu3.3 amd64 Apache HTTP Server (служебные программы для веб-серверов)
ii libapache2-mod-fastcgi 2.4.7~0910052141-1.2 amd64 Модуль Apache 2 FastCGI для долго выполняющихся CGI-скриптов
ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (модуль Apache 2)
Команда dpkg -l | grep php дает:
ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (модуль Apache 2)
ii php-common 1:35ubuntu6 все общие файлы для пакетов PHP
ii php-imagick 3.4.0~rc6-1ubuntu3 amd64 Предоставляет оболочку для библиотеки ImageMagick.
ii php-pear 1:1.10.1+подмодули+notgz-6 вся базовая система PEAR
ii php-xml 1:7.0+35ubuntu6 — все модули DOM, SimpleXML, WDDX, XML и XSL для PHP [по умолчанию]
ii php7.0 7.0.18-0ubuntu0.16.04.1 весь серверный язык сценариев, встроенный в HTML (метапакет)
ii php7.0-cli 7.0.18-0ubuntu0.16.04.1 интерпретатор командной строки amd64 для языка сценариев PHP
ii php7.0-common 7.0.18-0ubuntu0.16.04.1 amd64 документация, примеры и общий модуль для PHP
ii php7.0-curl 7.0.18-0ubuntu0.16.04.1 модуль amd64 CURL для PHP
ii php7.0-fpm 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (двоичный файл FPM-CGI)
ii php7.0-gd 7.0.18-0ubuntu0.16.04.1 модуль amd64 GD для PHP
ii php7.0-imap 7.0.18-0ubuntu0.16.04.1 модуль amd64 IMAP для PHP
ii php7.0-intl 7.0.18-0ubuntu0.16.04.1 amd64 Модуль интернационализации для PHP
ii php7.0-json 7.0.18-0ubuntu0.16.04.1 модуль amd64 JSON для PHP
ii php7.0-mcrypt 7.0.18-0ubuntu0.16.04.1 модуль amd64 libmcrypt для PHP
ii php7.0-mysql 7.0.18-0ubuntu0.16.04.1 Модуль MySQL amd64 для PHP
ii php7.0-opcache 7.0.18-0ubuntu0.16.04.1 amd64 Модуль Zend OpCache для PHP
ii php7.0-pspell 7.0.18-0ubuntu0.16.04.1 модуль amd64 pspell для PHP
ii php7.0-readline 7.0.18-0ubuntu0.16.04.1 модуль readline amd64 для PHP
ii php7.0-recode 7.0.18-0ubuntu0.16.04.1 модуль перекодирования amd64 для PHP
ii php7.0-snmp 7.0.18-0ubuntu0.16.04.1 модуль amd64 SNMP для PHP
ii php7.0-sqlite3 7.0.18-0ubuntu0.16.04.1 модуль amd64 SQLite3 для PHP
ii php7.0-tidy 7.0.18-0ubuntu0.16.04.1 модуль amd64 tidy для PHP
ii php7.0-xml 7.0.18-0ubuntu0.16.04.1 amd64 Модуль DOM, SimpleXML, WDDX, XML и XSL для PHP
ii php7.0-xmlrpc 7.0.18-0ubuntu0.16.04.1 модуль amd64 XMLRPC-EPI для PHP
ii php7.0-xsl 7.0.18-0ubuntu0.16.04.1 весь XSL-модуль для PHP (фиктивный)
Что я пропустил и что мне нужно сделать, чтобы apache2 работал с FastCGI?
С наилучшими пожеланиями,
django_sr
Изменил этот файл: /etc/apache2/sites-available/000-default.conf, чтобы теперь внутри было следующее: <Каталог /usr/lib/cgi-bin>
Требовать все предоставленные
AddHandler php7-fcgi.php
Действие php7-fcgi/php7-fcgi виртуальное
Псевдоним /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Авторизация
Также изменен этот файл /etc/apache2/conf-available, и теперь он содержит
# Перенаправление на локальный php-fpm, если mod_php недоступен
# Включить заголовки авторизации http
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
SetHandler "прокси:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
# Запретить доступ к необработанным источникам PHP по умолчанию
# Для повторного включения рекомендуется разрешить доступ к файлам
# только на определенном виртуальном хосте или каталоге
Требовать все отказы
# Запретить доступ к файлам без имени файла (например, '.php')
Требовать все отказы
Однако, когда я смотрю на выходные данные страницы info.php, которую я создал в корне документа, я вижу API сервера -> Обработчик Apache 2.0 вместо того, что я ожидал после игры с конфигурацией. Я ожидал API сервера -> FPM/FastCGI
Что мне кажется странным, так это содержимое /run/php и размер php7.0-fpm.sock, www-data и s перед каталогом, но не знаю, имеет ли это какое-либо отношение к этому.
.
/run/php$ ls -l
всего 4
-rw-r--r-- 1 корень root 4 3 июля 02:18 php7.0-fpm.pid
srw-rw---- 1 www-data www-data 0 3 июля 02:18 php7.0-fpm.sock
Команда uname -a дает:
4.4.0-83-generic #106-Ubuntu SMP Пн, 26 июня 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Команда dpkg -l | grep apache дает
ii apache2 2.4.18-2ubuntu3.3 amd64 HTTP-сервер Apache
ii apache2-bin 2.4.18-2ubuntu3.3 amd64 HTTP-сервер Apache (модули и другие двоичные файлы)
ii apache2-data 2.4.18-2ubuntu3.3 весь HTTP-сервер Apache (общие файлы)
ii apache2-utils 2.4.18-2ubuntu3.3 amd64 Apache HTTP Server (служебные программы для веб-серверов)
ii libapache2-mod-fastcgi 2.4.7~0910052141-1.2 amd64 Модуль Apache 2 FastCGI для долго выполняющихся CGI-скриптов
ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (модуль Apache 2)
Команда dpkg -l | grep php дает:
ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (модуль Apache 2)
ii php-common 1:35ubuntu6 все общие файлы для пакетов PHP
ii php-imagick 3.4.0~rc6-1ubuntu3 amd64 Предоставляет оболочку для библиотеки ImageMagick.
ii php-pear 1:1.10.1+подмодули+notgz-6 вся базовая система PEAR
ii php-xml 1:7.0+35ubuntu6 — все модули DOM, SimpleXML, WDDX, XML и XSL для PHP [по умолчанию]
ii php7.0 7.0.18-0ubuntu0.16.04.1 весь серверный язык сценариев, встроенный в HTML (метапакет)
ii php7.0-cli 7.0.18-0ubuntu0.16.04.1 интерпретатор командной строки amd64 для языка сценариев PHP
ii php7.0-common 7.0.18-0ubuntu0.16.04.1 amd64 документация, примеры и общий модуль для PHP
ii php7.0-curl 7.0.18-0ubuntu0.16.04.1 модуль amd64 CURL для PHP
ii php7.0-fpm 7.0.18-0ubuntu0.16.04.1 amd64 серверный язык сценариев, встроенный в HTML (двоичный файл FPM-CGI)
ii php7.0-gd 7.0.18-0ubuntu0.16.04.1 модуль amd64 GD для PHP
ii php7.0-imap 7.0.18-0ubuntu0.16.04.1 модуль amd64 IMAP для PHP
ii php7.0-intl 7.0.18-0ubuntu0.16.04.1 amd64 Модуль интернационализации для PHP
ii php7.0-json 7.0.18-0ubuntu0.16.04.1 модуль amd64 JSON для PHP
ii php7.0-mcrypt 7.0.18-0ubuntu0.16.04.1 модуль amd64 libmcrypt для PHP
ii php7.0-mysql 7.0.18-0ubuntu0.16.04.1 Модуль MySQL amd64 для PHP
ii php7.0-opcache 7.0.18-0ubuntu0.16.04.1 amd64 Модуль Zend OpCache для PHP
ii php7.0-pspell 7.0.18-0ubuntu0.16.04.1 модуль amd64 pspell для PHP
ii php7.0-readline 7.0.18-0ubuntu0.16.04.1 модуль readline amd64 для PHP
ii php7.0-recode 7.0.18-0ubuntu0.16.04.1 модуль перекодирования amd64 для PHP
ii php7.0-snmp 7.0.18-0ubuntu0.16.04.1 модуль amd64 SNMP для PHP
ii php7.0-sqlite3 7.0.18-0ubuntu0.16.04.1 модуль amd64 SQLite3 для PHP
ii php7.0-tidy 7.0.18-0ubuntu0.16.04.1 модуль amd64 tidy для PHP
ii php7.0-xml 7.0.18-0ubuntu0.16.04.1 amd64 Модуль DOM, SimpleXML, WDDX, XML и XSL для PHP
ii php7.0-xmlrpc 7.0.18-0ubuntu0.16.04.1 модуль amd64 XMLRPC-EPI для PHP
ii php7.0-xsl 7.0.18-0ubuntu0.16.04.1 весь XSL-модуль для PHP (фиктивный)
Что я пропустил и что мне нужно сделать, чтобы apache2 работал с FastCGI?
С наилучшими пожеланиями,
django_sr