Извлечение дистрибутива
Общий подход к установке РНР
Сборочное конфигурирование РНР
Директивы конфигурационного файла Apache
Конфигурационный файл php.ini
В состав подавляющего большинства дистрибутивов Linux средства поддержки РНР не входят, поэтому вам придется извлекать их из Интернета и устанавливать самостоятельно. Скорее всего, к моменту выхода книги из печати вы сможете
найти на сервере www.php.net новую версию РНР, которую и имеет смысл установить.
примечание
К сожалению, процесс массового наступления Linux сопровождается наплывом полуграмотных администраторов, которые полагают, что устанавливать пакет из исходных текстов слишком хлопотно и накладно. Не уподобляйтесь орангутангам, нажимающим кнопку
в ожидании банана! Подавляющая часть пакетов, входящих в дистрибутивы, не отвечает
вашим нуждам: эти продукты либо уже устарели, либо не содержат необходимых для русскоязычного пользователя компонентов.
В этой главе мы рассмотрим, как установить РНР на своей машине и как состыковать установленную систему с Apache. Естественно, все изложение будет построено в предположении, что на вашей машине установлена ОС Linux.
Прежде всего вы должны извлечь с сервера разработчика www.php.net последнюю
версию РНР. Настоятельно рекомендую загрузить именно исходные тексты, поскольку это сэкономит много времени впоследствии. Кроме того, не поленитесь
загрузить и документацию1, которая представлена в большом разнообразии форматов и языков. Русского варианта, к сожалению, нет, но я искренне надеюсь, что
с выходом этой книги в нем и надобности особой не будет.
На момент написания этой книги последняя стабильная версия РНР на сервере
была 4.0.5, и именно о ней мы будем говорить дальше.
После загрузки поместите дистрибутивный файл в один из каталогов (я обычно
использую /usr/src) и распакуйте его:
zcat php-4.0.5.tar.gz | tar xvf -
совет
Пользователи Midnight Commander могут просто «провалиться»
в архив и скопировать его содержимое во внешний каталог.
К этому моменту у вас должен быть установлен дистрибутив web-сервера Apache,
который, скажем, расположен в каталоге /usr/src/apache. Настоятельно рекомендуется использовать так называемый «Русский Apache», представляющий
собой модификацию стандартного сервера, выполненную и поддерживаемую Алексеем Тутубалиным. Найти последнюю версию сервера всегда можно по адресу:
http://apache.lexa.ru/.
Для установки РНР вам потребуются исходные тексты Apache-Rus. Я пользовался версией 1.3.27, но полагаю, что подойдет любая из серии 1.3. Вообще говоря,
WWW-сервер и РНР сплетены между собой, как мозаика (puzzle), и сцепить их
вместе так, чтобы они заработали, не оченьто просто. Но без лишней скромности
замечу, что мы с этой проблемой справимся.
внимание
Не читайте файлы INSTALL в документации к Apache и к самому дистрибутиву РНР! Они не
соответствуют действительности. Действительно работоспособная методика изложена
ниже.
Да, я осознаю всю меру ответственности перед читателями за столь радикальный
совет. Но, как ни крути, именно к этому я пришел в ходе нескольких неудачных
попыток установки РНР. Однако в конце концов мне удалось найти последовательность действий, которая, в отличие от шаманских заклинаний, является научной, поскольку:
- обладает воспроизводимостью (то есть вы можете повторить ее с тем же результатом самостоятельно);
- представлена в виде документа — вот этой самой книги.
Но хватит шуток! Пора заняться делом.
Итак, вы загрузили из сети дистрибутивы РНР и Apache-RUS и поместили их в каталоги/usr/src/php-4.0.5 и /usr/src/apache соответственно.
Теперь нам необходимо сгенерировать конфигурационные файлы, необходимые
для последующей сборки Apache. Делается это достаточно просто:
cd /usr/src/apache
./configure --prefix=/www
примечание
Символы . / указывают, что программа конфигурации должна запускаться из текущего
каталога. Дело в том, что список каталогов PATH суперпользователя,который обычно
устанавливает подобные пакеты, не содержит текущего каталога по соображениям безопасности [1], [2].
В результате будут созданы заголовочные файлы, которые потребуются нам при
конфигурировании РНР. Теперь нам необходимо перейти в каталог с дистрибутивом РНР и ввести команды:
cd /usr/src/php-4.0.5
./configure --with-pgsql --with-apache=../apache --with-mod_charset
make
make install
Для нас важно то, что в результате сборки и установки мы получим модуль РНР,
предназначенный для встраивания в Apache, который автоматически будет помещен в каталог/usr/src/apache/modules/php4.
Теперь мы возвращаемся к Apache и сообщаем ему о необходимости учесть при
сборке вновь созданный модуль:
cd . . /apache
./configure --activate-module=src/modules/php4/libphp4.a
make
make install
Вот теперь собранный нами Apache в лице программы /www/httpd будет поддерживать работу с РНР! Нам осталась самая малость: подготовить конфигурационные файлы Apache и РНР.
Начнем с РНР. Вам необходимо просто скопировать дистрибутивную версию инициалиационного файла php.ini в каталог /usr/local/lib, вот так:
cd ../php-4.0. 5
ср php.ini-dist /usr/local/lib/php.ini
Это обычный текстовый файл, в котором вы можете настроить отдельные параметры PHP-машины. Подробно его содержимое будет рассмотрено в разделе 1.5.
Теперь необходимо известить Apache о том, что мы хотим обрабатывать РНР-файлы. Как правило, файлы с PHP-кодом имеют расширение .php. Чтобы активизировать их специальную интерпретацию, вам достаточно включить в файл /www/conf/
httpd.conf строку:
AddType application/x-httpd-php .php
совет
Чтобы перезапустить уже работающий сервер Apache, вы должны «убить» процесс httpd
с минимальным номером из числа полученных посредством команды: ps -ax | grep httpd,
а после этого заново запустить сервер. Простой перезагрузки конфигурационных файлов недостаточно!
После этого вы можете проверить работоспособность РНР с помощью простых
тестовых программ, приведенных в главе 2.
|