mirror of
https://github.com/php/doc-ru.git
synced 2025-08-16 18:22:04 +00:00
Update to En apache2.xml + infostyle
This commit is contained in:
@ -1,44 +1,44 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- EN-Revision: a89c6d71c7b65e3de84f26230fbf72c9b8948adf Maintainer: shein Status: ready -->
|
<!-- EN-Revision: b0dd627899cf5c57d3d64fac07e9b6579dfca082 Maintainer: shein Status: ready -->
|
||||||
<!-- Reviewed: no -->
|
<!-- Reviewed: no -->
|
||||||
<sect1 xml:id="install.unix.apache2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
<sect1 xml:id="install.unix.apache2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<title>Apache 2.x на Unix системах</title>
|
<title>Apache 2.x на Unix системах</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Этот раздел описывает установку PHP c Apache 2.x на Unix системах.
|
Раздел описывает установку PHP c веб-сервером Apache 2.x на Unix-системах.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
&warn.apache2.compat;
|
&warn.apache2.compat;
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Самым авторитетным источником информации по Apache 2.x является
|
Наиболее авторитетный источник информации по Apache 2.x —
|
||||||
<link xlink:href="&url.apache2.docs;">документация Apache</link>.
|
<link xlink:href="&url.apache2.docs;">документация к Apache</link>.
|
||||||
Более подробная информация о настройках при установке может быть найдена
|
Документация даёт подробную информацию о настройках при установке.
|
||||||
там.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Самая последняя версия Apache Http Server может быть получена
|
Последняя версия веб-сервера Apache HTTP Server доступна для загрузки
|
||||||
на <link xlink:href= "&url.apache;">странице загрузки Apache</link>,
|
<link xlink:href= "&url.apache;">на странице загрузки Apache</link>,
|
||||||
а адрес соответствующей версии PHP был указан выше.
|
а совместимая версия PHP — на странице Download на этом сайте.
|
||||||
Это краткое руководство описывает лишь базовую установку Apache 2.x и PHP.
|
Это краткое руководство описывает только базовую установку Apache 2.x и PHP.
|
||||||
Для получения более детальной информации прочитайте
|
Дополнительную информацию даёт
|
||||||
<link xlink:href="&url.apache2.docs;">документацию Apache</link>.
|
<link xlink:href="&url.apache2.docs;">документация к Apache</link>.
|
||||||
В инструкции ниже опущены номера версий - замените 'NN' на
|
В инструкции ниже опустили номера версий — замените 'NN' на
|
||||||
номер, соответствующий скачанной вами версии Apache.
|
номер, который соответствует версии Apache.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
На данный момент есть две версии Apache 2.x - 2.4 и 2.2.
|
Сайт веб-сервера предлагает для загрузки две версии Apache 2.x — 2.4 и 2.2.
|
||||||
Хотя для выбора каждой из них существуют отдельные доводы, 2.4 является
|
Лучше предпочесть последнюю версию — 2.4, если нет причин для установки
|
||||||
наиболее свежей и рекомендуемой версией, если вас устраивает такой выбор.
|
версии 2.2.
|
||||||
Тем не менее, данные инструкции будут работать как для 2.4, так и для 2.2.
|
Инструкции этого раздела будут работать как для версии 2.4, так и для версии 2.2.
|
||||||
Обратите внимание, что Apache httpd 2.2 официально больше не поддерживается,
|
Обратите внимание, что поддержку Apache httpd 2.2 официально прекратили,
|
||||||
поэтому дальнейшая разработка не будет продолжаться, также как и приниматься новые патчи.
|
поэтому разработку этой версии остановили, а исправления больше не выпускают.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Скачайте Apache HTTP server как было указано выше и распакуйте его:</para>
|
<para>Скачайте Apache HTTP Server по приведённой ссылке и распакуйте его:</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen>
|
<screen>
|
||||||
@ -63,8 +63,8 @@ tar -xzf php-NN.tar.gz
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Скомпилируйте и установите Apache. Более подробную информацию по сборке
|
Скомпилируйте и установите Apache. Подробнее об установке
|
||||||
Apache смотрите в его документации.
|
рассказывает документация к Apache.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -81,11 +81,12 @@ make install
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Теперь ваш Apache 2.x.NN доступен как /usr/local/apache2,
|
Теперь Apache 2.x.NN доступен по адресу /usr/local/apache2,
|
||||||
сконфигурирован с поддержкой подгружаемых модулей и стандартным
|
установщик настроил веб-сервер на поддержку загружаемых модулей и работу через
|
||||||
мульти-процессным модулем (MPM) prefork.
|
стандартный мультипроцессный MPM-модуль, который отвечает на запросы по модели prefork:
|
||||||
Чтобы протестировать правильность установки используйте стандартную
|
обрабатывает запросы в отдельном потоке однопоточных процессов.
|
||||||
процедуру запуска Apache, такую как:
|
Правильно ли прошла установка, проверяют через стандартную
|
||||||
|
процедуру запуска Apache — командой наподобие вот такой:
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen>
|
<screen>
|
||||||
@ -108,21 +109,22 @@ make install
|
|||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Теперь мы сконфигурируем и соберём PHP. Здесь вы можете настроить установку
|
Теперь сконфигурируем и соберём PHP. На этом этапе PHP настраивают
|
||||||
PHP с помощью различных опций, указывающих, например, какие модули нужно включить.
|
через опции конфигурации, чтобы указать, например, какие модули требуется включить.
|
||||||
Просмотрите вывод команды ./configure --help для получения полного списка параметров
|
Запустите команду ./configure --help, чтобы получить список доступных параметров
|
||||||
конфигурации. В нашем примере мы сконфигурируем PHP очень просто -
|
конфигурации. В примере мы выполним простую настройку
|
||||||
с поддержкой Apache и MySQL.
|
с поддержкой веб-сервера Apache и БД MySQL.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Если вы собирали Apache из исходников, как было описано выше, то используйте
|
При сборке Apache из исходного кода по приведённой на этой странице инструкции
|
||||||
путь до apxs как указано в следующем примере, иначе, корректируйте этот путь
|
путь к команде apxs будет соответствовать пути в следующем примере, но если Apache
|
||||||
соответствующим вашей установке образом. Учтите также, что в некоторых
|
установили другим способом, потребуется изменить пример и указать к apxs путь,
|
||||||
дистрибутивах apxs может иметь имя apxs2.
|
который соответствует установке. Обратите внимание, что отдельные дистрибутивы
|
||||||
|
переименовывают apxs в apxs2.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@ -135,23 +137,21 @@ make install
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Если вы решите изменить параметры конфигурации после установки, вам надо
|
Если потребуется изменить параметры конфигурации после установки,
|
||||||
будет повторить только три последних шага (configure, make, make install).
|
то потребуется повторно выполнить шаги configure, make и make install.
|
||||||
Вам нужно будет только перезапустить Apache, чтобы новые модули подгрузились и начали работать.
|
Просто перезапустите Apache, чтобы изменения вступили в силу и новый модуль начал работать.
|
||||||
Перекомпиляция Apache для этого не требуется.
|
Перекомпиляция Apache для этого не требуется.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Заметьте, что если не указано обратное, то 'make install' установит так же PEAR,
|
Обратите внимание: если не указали иное, команда make install установит также пакетный менеджер PEAR,
|
||||||
различные инструменты PHP - такие как phpize, версию PHP для командной
|
инструменты PHP наподобие phpize, установит CLI-интерфейс для работы с PHP в командной оболочке и другие компоненты.
|
||||||
строки (PHP CLI) и т.д.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Настройка вашего php.ini
|
Настройте файл php.ini.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -163,30 +163,27 @@ cp php.ini-development /usr/local/lib/php.ini
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Вероятно, вы захотите изменить некоторые настройки в php.ini.
|
Установка параметров PHP доступна через редактирование файла php.ini.
|
||||||
Если вы предпочитаете держать файл php.ini в другом месте, используйте
|
Укажите параметр --with-config-file-path=/some/path в шаге 5,
|
||||||
параметр --with-config-file-path=/some/path в шаге 5.
|
если предпочитаете хранить файл php.ini в другом месте.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Если же вы используете php.ini-production, прочитайте его, чтобы знать какие изменения в
|
Если вместо этого вы выберете файл php.ini-production, прочитайте список изменений внутри,
|
||||||
поведении PHP это повлечёт.
|
поскольку они влияют на поведение PHP.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Отредактируйте ваш httpd.conf, чтобы Apache загружал модуль PHP. Путь в
|
Отредактируйте файл httpd.conf, чтобы Apache загружал модуль PHP.
|
||||||
правой части инструкции LoadModule должен указывать на модуль PHP. Команда make
|
Путь к PHP-модулю указывают справа от инструкции LoadModule. Команда make
|
||||||
install может добавить эту инструкцию автоматически, но этого может и не
|
install, возможно, уже добавила эту инструкцию автоматически,
|
||||||
произойти, поэтому проверьте, чтобы убедиться.
|
ну лучше проверить.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<para>
|
<para>Для PHP 8:</para>
|
||||||
Для PHP 8:
|
|
||||||
</para>
|
|
||||||
<programlisting role="apache-conf">
|
<programlisting role="apache-conf">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
LoadModule php_module modules/libphp.so
|
LoadModule php_module modules/libphp.so
|
||||||
@ -195,31 +192,24 @@ LoadModule php_module modules/libphp.so
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<para>
|
<para>Для PHP 7:</para>
|
||||||
Для PHP 7:
|
|
||||||
</para>
|
|
||||||
<programlisting role="apache-conf">
|
<programlisting role="apache-conf">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
LoadModule php7_module modules/libphp7.so
|
LoadModule php7_module modules/libphp7.so
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Теперь следует сконфигурировать Apache, чтобы он передавал файлы с
|
Скажите веб-серверу Apache, чтобы он разбирал файлы с конкретными расширениями как PHP-код. Например,
|
||||||
некоторыми расширениями на обработку модулю PHP. В нашем примере сделаем
|
пусть Apache разбирает как PHP-код файлы с расширением .php. Вместо установки только Apache-директивы
|
||||||
это для .php файлов. Вместо обычного использования директивы
|
AddType избегают исполнения опасных загрузок и файлов наподобие exploit.php.jpg.
|
||||||
Apache AddType, мы хотим избежать интерпретации как PHP потенциально опасных загрузок и
|
Аналогично следующему примеру указывают одно или больше произвольных расширений,
|
||||||
файлов наподобие exploit.php.jpg. С помощью данного примера можно
|
которые веб-сервер будет разбирать как файлы с PHP-кодом. Для демонстрации добавим расширение .php.
|
||||||
указать для интерпретации PHP любые расширения, просто добавив их
|
|
||||||
в конец списка. Продемонстрируем это на расширении .php.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<programlisting role="apache-conf">
|
<programlisting role="apache-conf">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@ -231,8 +221,9 @@ LoadModule php7_module modules/libphp7.so
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Или, если мы хотим добавить расширения .php, .php2, .php3, .php4, .php5, .php6 и
|
Или, когда требуется разрешить запуск PHP-кода из файлов
|
||||||
.phtml, это можно записать так:
|
с расширениями .php, .php2, .php3, .php4, .php5, .php6 и .phtml, но не другими,
|
||||||
|
настройка выглядит вот так:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -246,8 +237,9 @@ LoadModule php7_module modules/libphp7.so
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Чтобы PHP отображал содержимое файлов .phps с подсветкой синтаксиса, нужно
|
А чтобы фильтр исходного PHP-кода обрабатывал файлы с расширением .phps
|
||||||
внести соответствующую директиву
|
и показывал как исходный код с подсветкой синтаксиса,
|
||||||
|
настройку записывают вот так:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -261,8 +253,9 @@ LoadModule php7_module modules/libphp7.so
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Можно использовать mod_rewrite для отображения любого .php файла
|
Модуль mod_rewrite умеет показывать произвольные файлы с расширением .php
|
||||||
с подсветкой синтаксиса, без нужды его переименования в .phps:
|
как исходный код с подсветкой синтаксиса
|
||||||
|
без переименования или копирования в файл с расширением .phps:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -275,16 +268,15 @@ RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
|
|||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Данный фильтр, отображающий исходный код, должен быть отключён в
|
Фильтр исходного PHP-кода отключают
|
||||||
промышленном использовании, так как он может открыть конфиденциальную
|
в производственной среде, поскольку он раскрывает конфиденциальную
|
||||||
или другую важную информацию, включённую в исходный код.
|
или другую чувствительную информацию, которую встроили в исходный код.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Используйте стандартную процедуру запуска Apache, например:
|
Сервер Apache запускают стандартной процедурой наподобие:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@ -304,23 +296,26 @@ service httpd restart
|
|||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Если вы следовали инструкциям выше, то на данном этапе должны иметь запущенный
|
Выполнение действий, которые описала эта страница, запускает веб-сервер Apache2
|
||||||
веб-сервер Apache2 с поддержкой PHP, как модуля <literal>SAPI</literal>.
|
с поддержкой PHP в виде <literal>SAPI</literal>-модуля.
|
||||||
Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации.
|
Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации.
|
||||||
Используйте <command>./configure --help</command> в соответствующей папке с
|
Дополнительную информацию даёт команда <command>./configure --help</command>
|
||||||
исходными кодами для получения полного списка параметров конфигурации.
|
при запуске в соответствующем дереве исходного кода.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Если вы хотите собрать многопоточную версию Apache,
|
Для сборки веб-сервера Apache, который будет работать в многопоточном режиме,
|
||||||
то при сборке вам следует указать модуль MPM <filename>worker</filename>
|
при сборке Apache вместо стандартного мультипроцессного MPM-модуля <filename>prefork</filename>
|
||||||
вместо стандартного модуля MPM <filename>prefork</filename>.
|
выбирают мультипроцессный MPM-модуль, который отвечает на запросы
|
||||||
Чтобы сделать это, нужно добавить следующий аргумент к ./configure на шаге 3:
|
по модели <filename>worker</filename>: обрабатывает отдельный запрос в отдельном потоке
|
||||||
|
многопоточного процесса. Чтобы сделать это, к аргументу, который передали команде ./configure
|
||||||
|
на шаге 3, добавляют следующую опцию:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@ -328,26 +323,28 @@ service httpd restart
|
|||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</informalexample>
|
</informalexample>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Не следует бездумно использовать эту настройку, используйте её только если вы
|
Веб-сервер собирают для работы по такой модели, только если осознают
|
||||||
понимаете все последствия этого решения. Документация Apache
|
последствия решения и отчётливо понимают смысл действий. Документация Apache
|
||||||
по <link xlink:href="&url.apache2.mpm;">модулям MPM</link>
|
<link xlink:href="&url.apache2.mpm;">к MPM-модулям</link>
|
||||||
значительно глубже раскрывает эту тему.
|
рассматривает работу модулей MPM подробнее.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Если вы хотите использовать зависимый контент (content negotiation),
|
В разделе FAQ в ответе на вопрос
|
||||||
прочитайте
|
<link linkend="faq.installation.apache.multiviews">о параметре MultiViews в настройках Apache</link>
|
||||||
<link linkend="faq.installation.apache.multiviews">Apache MultiViews
|
обсуждается согласование контента множественного представления при работе веб-сервера с PHP-файлами.
|
||||||
FAQ</link>.
|
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Для сборки многопоточной версии Apache, ваша система должна
|
Только в системах с поддержкой потоков получится собрать многопоточную версию Apache.
|
||||||
поддерживать потоки. Это так же подразумевает сборку PHP c
|
Тогда требуется и PHP-сборка с поддержкой потокобезопасного ZTS-режима (англ. Zend Thread Safety).
|
||||||
поддержкой Zend Thread Safety (ZTS). И, как следствие, не все модули PHP смогут работать.
|
В этой конфигурации не каждое расширение будет доступно. Разработчики PHP рекомендуют
|
||||||
Рекомендуется установка Apache с модулем MPM по умолчанию - <filename>prefork</filename>.
|
собрать Apache, который настроили на работу с MPM-модулем <filename>prefork</filename> по умолчанию.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
Reference in New Issue
Block a user