Предполагается,
что к настоящему моменту вы успешно загрузили РНР и Apache. Следующий шаг - выбор
способа установки. Для компьютеров, не использующих систему Windows, существует
три варианта: двоичный файл CGI, статический модуль Apache и динамический модуль
Apache. Скорее всего, вы не захотите строить РНР в виде двоичного файла CGI. Более
того, построение РНР в виде серверного модуля имеет некоторые преимущества, поэтому
я уделю внимание построению РНР в виде статического и динамического модуля. Главное
различие между этими двумя вариантами заключается в том, что при любых изменениях
в статическом модуле РНР придется заново компилировать и Apache, и РНР, а изменения
в динамическом модуле РНР потребуют компиляции только РНР, без сервера.
На
компьютерах с системой Windows РНР может устанавливаться в виде либо двоичного
файла CGI, либо статического модуля Apache. На этот раз я опишу построение двоичного
файла CGI, потому что пользователи Windows обычно используют вместо Apache другие
web-серверы (например, Microsoft Internet Information Server или Microsoft Personal
Web Server). CGI-версия легко интегрируется с этими серверами. Хотя описанный
процесс установки относится к РНР/Apache, установка для перечисленных выше web-серверов
выполняется практически так же.
Как говорилось ранее, РНР4 поддерживает
разнообразные web-серверы, в том числе AOL Server, Netscape Enterprise Server,
Microsoft IIS, Zeus и многие другие. Впрочем, я ограничусь описанием установки
для сервера Apache. За подробными инструкциями о том, как установить РНР для других
серверов, обращайтесь к документации РНР по адресу http://www.php.net/.
Системы,
не входящие в семейство Windows
Независимо от того, какой вариант был выбран,
установка начинается с распаковки архивов. Для распаковки выполните два простых
действия:
Выполните следующие команды:
gunzip apache_1.3.9.tar.gz
gunzip
php-4.0.0.tar.gz
После завершения распаковки остаются файлы с расширением
*.tar.
Извлеките файлы поставки из архивов:
tar -zxvf apache_1.3.x.tar
tar -zxvf php-4.0.x.tar
С этого момента начинается основной процесс
установки.
Модуль Apache
Установка РНР в виде модуля Apache выполняется
довольно просто. Ниже подробно описаны все необходимые действия:
Перейдите
в каталог Apache:
cd apache_1.3.x
Настройте Apache. Выберите путь по
своему усмотрению, но помните, что за ним не должна следовать косая черта:
./configure
-prefix=[путь]
Перейдите в каталог РНР; настройте, соберите и установите
поставку. Параметр -with-config-file-path задает каталог, в котором будет находиться
файл конфигурации РНР. Обычно этот файл находится в каталоге /usr/local/lib, но
вы можете выбрать другой каталог по своему усмотрению:
./configure -with-apache=../apache_1.3.x
-with-config-file-path=[путь]
make
make install
Вернитесь в
каталог Apache. Теперь вы можете изменить конфигурацию, собрать и установить Apache.
Параметр -other-configuration-options относится к любым специальным параметрам
конфигурации, которые вы хотели бы передать web-серверу Apache. Данная тема выходит
за рамки книги. Полное описание параметров приведено в документации Apache:
./configure
-activate-module=src/modules/php4/libphp4.a
-other-configuration-options
make
make
install
На последнем этапе происходит редактирование файла 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-приложениях. Процесс установки описан ниже:
Перейдите в каталог Apache:
cd apache_1.3.x
Настройте Apache. Выберите путь по своему усмотрению,
но помните, что за ним не должна следовать косая черта. Параметр -other-configuration-options
относится к любым специальным параметрам конфигурации, которые вы хотели бы передать
web-серверу Apache. Данная тема выходит за рамки книги. Полное описание параметров
приведено в документации Apache.
./configure -prefix=[путь] -enable-module=so
-other-configuration-options
Соберите сервер Apache. После ввода команды
make на экран выводится серия сообщений:
make
Установите сервер Apache.
После ввода команды make install на экран выводится следующая серия сообщений.
После успешного завершения установки на экране появляется соответствующее сообщение:
make install
Если предыдущие действия прошли без ошибок, можно переходить
к редактированию файла httpd.conf. Этот файл находится в подкаталоге conf каталога,
указанного на шаге 2. Откройте файл в текстовом редакторе и найдите строку
ServerName
new.host.name
Приведите ее к следующему виду:
ServerName local host
Перейдите в тот каталог, где находится пакет РНР. Настройте, соберите и
установите РНР. В параметрах указывается путь к каталогу, содержащему файл apxs,
- подкаталогу bin каталога, путь к которому был указан на шаге 2:
./configure
-with-apxs=[путь/k/apxs]
make
make install
Откройте файл
Apache httpd.conf для очередной модификации. Для обеспечения правильного лексического
анализа входящих запросов на файлы с поддержкой РНР расширение должно совпадать
с одним из расширений, указанных в файле конфигурации сервера Apache, httpd.conf.
Файл содержит параметры, которые могут изменяться по усмотрению администратора;
некоторые из них имеют прямое отношение к РНР. Откройте файл httpd.conf в своем
текстовом редакторе. В конце файла присутствуют две строки следующего вида:
#AddType
application/x-httpd-php .php .php4
#AddType application/x-httpd-php-source
.php .phps
Чтобы файлы с поддержкой РНР правильно работали на сервере, эти
строки необходимо раскомментировать. Для этого следует удалить'знак фунта (#)
в начале каждой строки.
Сохраните файл и перейдите на один уровень вверх в
иерархии каталогов (командой cd). Запустите Apache следующей командой:
./bin/apachectl
start
Voila! РНР и Apache готовы к работе.
Для проверки сохраните
приведенный ниже фрагмент в файле phpinfo.php в корневом каталоге документов Apache
- каталоге htdocs, находящемся в установочном каталоге Apache:
<?
php_info():
?>
Откройте файл в браузере на сервере. В окне появляется длинный
перечень сведений о конфигурации РНР. Вы успешно установили РНР в виде динамического
модуля Apache.
Установка в Windows 95/98/NT
Если вам когда-нибудь
приходилось устанавливать новые приложения в операционной системе Windows, вероятно,
это не вызывало у вас особых трудностей. Вы щелкаете на нескольких кнопках, отвечаете
на несколько вопросов - и все готово. Так же обстоит дело и с установкой Apache
и РНР на компьютерах с системой Windows.
Дважды щелкните на значке исполняемого
файла Apache. Запускается процесс установки, и на экране появляется начальное
окно программ мастера (wizard) установки. Внимательно прочитайте текст лицензионного
соглашения и подтвердите его.
Мастер запрашивает каталог для установки и предлагает
вариант по умолчанию (C:\Program Files\Apache Group\Apache). Возможно, вам захочется
сократить его до C:\Apache - решайте сами.
Затем вам будет предложено указать
имя, под которым программа будет находиться в меню Пуск (Start). Введите имя по
своему усмотрению или подтвердите предложенный вариант.
Следующий вопрос относится
к типу установки. Выберите вариант Typical (Стандартная установка). После того
как решение будет принято, выполняется установка.
На следующем шаге редактируется
файл httpd.conf, находящийся в подкаталоге conf каталога, указанного на шаге 2.
Откройте файл в текстовом редакторе и найдите строку ServerAdmin yourname@yoursite.com
Замените yourname@yoursite.com правильными данными. Затем укажите правильное
имя сервера (если его нет, воспользуйтесь именем localhost):
ServerName
localhost
Запустите Apache и убедитесь в том, что все работает правильно.
Конкретные действия зависят от того, в какой системе вы работаете.
Если вы
используете Windows NT, выберите в меню Пуск (Start) команду Install Apache as
Service (NT Only). Затем вызовите панель управления, откройте окно Службы (Services),
выберите Apache и щелкните на кнопке Пуск (Start). Apache запускается и будет
запускаться автоматически при каждой последующей загрузке системы.
Запустите
браузер, установленный на сервере, и введите адрес http: /local host/. В окне
открывается страница с сообщением о том, что установка была выполнена успешно.
Следующий этап - установка РНР. Перейдите в каталог, где находится пакет РНР,
и распакуйте его в произвольный каталог.
Перейдите в каталог, в который были
помещены распакованные файлы, и найдите в нем файл php.ini-dist. Переименуйте
его в php.ini и переместите в каталог C:\Windows.
Вернитесь в каталог РНР
и найдите два других файла, php4ts.dll и Mscvrt.dll. Поместите эти файлы в каталог
C:\Windows\System\. Возможно, файл Mscvrt.dll уже существует - если вам будет
предложено его перезаписать, не соглашайтесь.
Вернитесь к файлу Apache http.conf
и откройте его в текстовом редакторе. Необходимо внести еще несколько изменений.
Найдите строку
ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"
Непосредственно
под этой строкой введите следующую:
ScriptAlias /php4/ "C:/php4/"
Найдите
секцию AddType. Вы увидите две закомментированные строки:
#AddType application/x-httpd-php3.
phtml
#AddType application/x-httpd-php3-source .phps
Непосредственно
под этими строками добавьте следующие:
AddType application/x-httpd-php
.phtml .php
AddType application/x-httpd-php-source .phps
Прокрутите
содержимое файла и найдите следующий закомментированный фрагмент:
#
#
Action lets you define media types that will execute a script whenever
#
a matching file is called. This eliminates the need for repeated URL
# pathnames
for oft-used CGI file processors.
# Format: Action media/type /cgi-script/location
#
Format: Action handler-name /cgi-script/location
#
Добавьте под этим
фрагментом следующую строку:
Action application/x-httpd-php /php4/php.exe
РНР
и Apache готовы к работе.
Для проверки сохраните приведенный ниже фрагмент
в файле phpinfo.php в корневом каталоге документов Apache - каталоге htdocs. Он
находится в том каталоге, который был указан на шаге 2:
<?
php_info();
?>
Хотя
при успешном завершении действий, описанных выше, вы сможете использовать web-сервер
и РНР для тестирования, это еще не значит, что ваш web-сервер будет доступен из
World Wide Web. За информацией по этому вопросу обращайтесь на официальный сайт
Apache (http://www.apache.org/). Более того, хотя описанная процедура позволяет
работать с пакетом РНР, вероятно, вы захотите изменить конфигурацию РНР так, чтобы
она лучше соответствовала вашим потребностям. Эта тема рассматривается в следующем
разделе <Конфигурация РНР>.
Откройте файл в браузере на сервере -
в окне появляется длинный перечень сведений о конфигурации РНР.