PHP 4 на практике




Системы, не входящие в семейство Windows


Независимо от того, какой вариант был выбран, установка начинается с распаковки архивов. Для распаковки выполните два простых действия:

  1. Выполните следующие команды:

gunzip apache_1.3.9.tar.gz

gunzip php-4.0.0.tar.gz

После завершения распаковки остаются файлы с расширением *.tar.

  1. Извлеките файлы поставки из архивов:

tar -zxvf apache_1.3.x.tar

tar -zxvf php-4.0.x.tar

С этого момента начинается основной процесс установки.

Модуль Apache

Установка РНР в виде модуля Apache выполняется довольно просто. Ниже подробно описаны все необходимые действия:

  1. Перейдите в каталог Apache:
  2. cd apache_1.3.x

  3. Настройте Apache. Выберите путь по своему усмотрению, но помните, что за ним не должна следовать косая черта:
  4. ./configure -prefix=[путь]

  5. Перейдите в каталог РНР; настройте, соберите и установите поставку. Параметр -with-config-file-path задает каталог, в котором будет находиться файл конфигурации РНР. Обычно этот файл находится в каталоге /usr/local/lib, но вы можете выбрать другой каталог по своему усмотрению:
  6. ./configure -with-apache=../apache_1.3.x -with-config-file-path=[путь]

    make

    make install

  7. Вернитесь в каталог Apache. Теперь вы можете изменить конфигурацию, собрать и установить Apache. Параметр -other-configuration-options относится к любым специальным параметрам конфигурации, которые вы хотели бы передать web-серверу Apache. Данная тема выходит за рамки книги. Полное описание параметров приведено в документации Apache:
  8. ./configure -activate-module=src/modules/php4/libphp4.a

    -other-configuration-options

    make

    make install

  9. На последнем этапе происходит редактирование файла Apache httpd.conf. Одни модификации относятся к Apache, другие необходимы для того, чтобы сценарии РНР распознавались и передавались web-серверу. Сначала найдите такую строку:

ServerName new.host.name

Приведите ее к следующему виду:

ServerName localhost

Затем найдите строки

#AddType application/x-httpd-php .php .php4

#AddType application/x-httpd-php-source .php .phps

Чтобы файлы с поддержкой РНР правильно работали на сервере, эти строки необходимо раскомментировать. Для этого достаточно удалить знак фунта (#) в начале каждой строки. Сохраните файл и поднимитесь в иерархии каталогов на один уровень вверх. Запустите сервер Apache следующей командой:

./bin/apachectl start

Voila! PHP и Apache готовы к работе. Для проверки сохраните приведенный ниже фрагмент в файле phpinfo.php в корневом каталоге документов Apache — каталоге htdocs, находящемся в установочном каталоге Apache:

<?

php info();

?>

Откройте файл в браузере на сервере. В окне появляется длинный перечень сведений о конфигурации РНР. Вы успешно установили РНР в виде модуля Apache.

Динамический модуль Apache

Динамические модули удобны тем, что они позволяют обновлять поставку РНР без перекомпиляции web-сервера. Apache рассматривает поддержку РНР как один

из своих многочисленных модулей вроде ModuleRewrite или ModuleSpelling. Этот вариант особенно хорош в ситуациях, когда в РНР позднее будет добавляться поддержка новых возможностей — например, шифрования. Все, что вам придется сделать — переконфигурировать/откомпилировать РНР с поддержкой шифрования, и вы сможете немедленно использовать новую возможность в web-приложениях. Процесс установки описан ниже:

  1. Перейдите в каталог Apache:

cd apache_1.3.x

  1. Настройте Apache. Выберите путь по своему усмотрению, но помните, что за ним не должна следовать косая черта. Параметр -other-configuration-options относится к любым специальным параметрам конфигурации, которые вы хотели бы передать web-серверу Apache. Данная тема выходит за рамки книги. Полное описание параметров приведено в документации Apache.

./configure -prefix=[путь] -enable-module=so -other-configuration-options

  1. Соберите сервер Apache. После ввода команды make на экран выводится серия сообщений:

make

  1. Установите сервер Apache. После ввода команды make install на экран выводится следующая серия сообщений. После успешного завершения установки на экране появляется соответствующее сообщение:

make install

  1. Если предыдущие действия прошли без ошибок, можно переходить к редактированию файла httpd.conf. Этот файл находится в подкаталоге conf каталога, указанного на шаге 2. Откройте файл в текстовом редакторе и найдите строку

ServerName new.host.name

Приведите ее к следующему виду:

ServerName local host

  1. Перейдите в тот каталог, где находится пакет РНР. Настройте, соберите и установите РНР. В параметрах указывается путь к каталогу, содержащему файл apxs, — подкаталогу bin каталога, путь к которому был указан на шаге 2:

./configure -with-apxs=[путь/k/apxs]

make

make install

  1. Откройте файл Apache httpd.conf для очередной модификации. Для обеспечения правильного лексического анализа входящих запросов на файлы с поддержкой РНР расширение должно совпадать с одним из расширений, указанных в файле конфигурации сервера Apache, httpd.conf. Файл содержит параметры, которые могут изменяться по усмотрению администратора; некоторые из них имеют прямое отношение к РНР. Откройте файл httpd.conf в своем текстовом редакторе. В конце файла присутствуют две строки следующего вида:

#AddType application/x-httpd-php .php .php4

#AddType application/x-httpd-php-source .php .phps

  1. Чтобы файлы с поддержкой РНР правильно работали на сервере, эти строки необходимо раскомментировать. Для этого следует удалить'знак фунта (#) в начале каждой строки.
  2. Сохраните файл и перейдите на один уровень вверх в иерархии каталогов (командой cd). Запустите Apache следующей командой:

./bin/apachectl start

Voila! РНР и Apache готовы к работе.

Для проверки сохраните приведенный ниже фрагмент в файле phpinfo.php в корневом каталоге документов Apache — каталоге htdocs, находящемся в установочном каталоге Apache:

<?

php_info():

?>

Откройте файл в браузере на сервере. В окне появляется длинный перечень сведений о конфигурации РНР. Вы успешно установили РНР в виде динамического модуля Apache.









Начало    Назад    Вперед




Книжный магазин