Установка и настройка Apache и PHP на Unix

Автор: content Понедельник, Апрель 9th, 2012 Нет комментариев

Рубрика: Язык PHP

Для того чтобы Вы могли разрабатывать и отлаживать PHP скрипты, Вам необходим веб-сервер и связанный с ним интерпретатор PHP. Рассмотрим установку веб-сервера Apache и PHP в среде операционной системы Unix (в частности, Linux и Free BSD).

Установка Apache на операционные системы семейства Unix

Классически, в Unix программное обеспечение устанавливается путем сборки из исходников:

Скачайте и распакуйте дистрибутив с httpd.apache.org с помощью браузера типа lynx/links или команды fetch/wget, например:

$ fetch http://apache.rin.ru/dist/httpd/apache_1.3.31.tar.gz
$ tar xzf apache_1.3.31.tar.gz

Конфигурируем Apache:

$ cd apache_1.3.31
$ ./configure

Для тонкой настройки Apache, следует изучить файл INSTALL (входящий в комплект исходников PHP) и указать необходимые параметры в строке ./configure. Впрочем, как правило, настройки по умолчанию вполне подходят.

Скомпилируйте Apache:

$ make

Установите Apache:

$ su — заходим под суперпользователем (root), если все предыдущие операции производили из-под своего обычного логина)
# make install

На этапе configure, вероятно, вы увидите ошибки, связанные с отсутствием в системе необходимых библиотек. Их необходимо скачать и установить в соответствии с инструкциями, находящимися в файлах INSTALL дистрибутивов (обычно – это та же последовательность ./configure && make && make install). Это дело довольно долгое и занудное, посему уже давно большинство Unix-систем включают в себя то или иное более удобное средство установки программного обеспечения.

Установка Apache на FreeBSD

Free BSD включает специальное средство для установки программного обеспечения – порты (ports), представляющие собой набор скриптов, автоматически скачивающих, настраивающих, компилирующих и устанавливающих программные продукты, включая необходимые для запуска библиотеки (dependences – зависимости). Здесь мы не будем подробно рассматривать, как в Free BSD работать с портами – это описано в Free BSD Handbook и множестве книг. Предположим, что в вашей системе библиотека портов установлена и обновлена.

Переходим в каталог порта Apache:

$ cd /usr/ports/www/apache13
Запускаем из-под root’а команду сборки и установки Apache (дистрибутив скачается автоматически):
$ su
# make install

Если нужно автоматически запускать Apache при загрузке – прописываем в /etc/rc.conf:

apache_enable=»YES»

Собственно, вот и всё. ;-)

При необходимости тонкой настройки изучите Makefile и добавьте необходимые параметры после команды make install (например, make install WITH_APACHE_SUEXEC=yes – для поддержки suexec).

Установка Apache на Red Hat Linux и другие RPM-based дистрибутивы (ASP, Mandrake и.т.п)

Все необходимое ПО входит в состав этих Linux, включая Apache, PHP и MySQL. Например, Red Hat 9.0 содержит Apache, который называется httpd-2.0. Однако, если вы хотите установить последние версии, вам придется потрудиться.

Red Hat Linux включает менеджер пакетов RPM. Подход к установке из RPM принципиально другой – .rpm-пакеты содержат уже скомпилированные бинарники. Это дает выигрыш во времени (компилировать ничего не нужно), однако, лишает возможности собрать программу так, как вы хотите.

Для установки Apache из rpm необходимо загрузить .rpm-файл Apache 1.3 (воспользуйтесь поиском, например Google), поскольку Apache Software Foundation (apache.org) не распространяет RPM-ки и запустите: rpm -Uvh apache*

Установка Apache на Gentoo Linux

Gentoo Linux – являющийся по сути своей «BSD-style Linux» – содержит portages – систему портов, похожую на используемую в Free BSD. Установка производится с помощью команды emerge, например:

$ cd /usr/portage/net-www/apache
$ su
# emerge apache-1.3.31.ebuild

Для автоматического запуска Apache при загрузке, введите:

# rc-update add apache default

Установка Apache на другие дистрибутивы Linux

Другие дистрибутивы Linux (Debian, Slackware, и.т.п.) содержат собственные менеджеры пакетов – обратитесь к их документации. В любом случае (даже в случае другой Unix OS) вы можете скомпилировать и установить Apache вручную – как описано выше.

Установка PHP на операционные системы Unix

Процесс установки PHP аналогичен установке Apache, за исключением того, что при сборке PHP вам понадобится указать гораздо больше конфигурационных опций.

При ручной сборке из исходников – для этого необходимо скачать и распаковать исходный код с www.php.net/downloads.php – сначала запустите ./configure —help и изучите список параметров сборки (весьма внушительный).

В любом случае, понадобится параметр —with-apxs=/путь/к/apxs – это необходимо для сборки модуля Apache mod_php. Например, если Apache установлен в /usr/local, то параметр будет выглядеть следующим образом: —with-apxs=/usr/local/sbin/apxs.

После конфигурирования, запустите make, и make install.

Чем больше вы используете опций, подключающих различные расширения, тем больше понадобится вручную скачивать и устанавливать необходимые библиотеки. Лучше, конечно, воспользоваться менеджером пакетов или портов вашей ОС.

Независимо от выбранного способа, после успешной установки, скопируйте php.ini-dist в php.ini:

cd /usr/local/etc
cp php.ini-dist php.ini

(в зависимости от ОС, вместо /usr/local/etc может использоваться каталог /etc и т.д.).

Установка PHP на FreeBSD

PHP удобно устанавливать из портов Free BSD.

Воспользовавшись командой su для получения прав суперпользователя, перейдем в каталог /usr/ports/lang/php4.

Есть два варианта сборки PHP из портов – интерактивный и с помощью параметров команды make.

В первом случае, просто запустим команду make install. После того, как make скачает и распакует дистрибутив php, на экране появится окно со списком возможных опций конфигурирования – просто поставьте «крестики» против нужных.

У интерактивного способа, при всем его удобстве, есть недостаток – выбранные однажды параметры нельзя сохранить для использования той же конфигурации повторно. Можно указать все нужные параметры в командной строке, например make install WITH_MYSQL=YES WITH_GD=YES. Список возможных опций находится в файле /usr/ports/lang/php4/scripts/php4_options (этим файлом, кстати, и пользуется скрипт, выводящий окно в интерактивном режиме).

Примечание: Недавно сборка PHP со статической линковкой расширений (т.е. компиляция PHP и выбранных расширений в один so-файл) из портов стала невозможна. Теперь — либо вручную, либо, если динамические (shared) расширения устраивают – cd /usr/ports/lang/php4, make install, cd /usr/ports/lang/php4_extensions, make install. Для php5 – аналогично. Соответствующие строки extension=.. в php.ini пропишутся автоматически. Впрочем, при использовании PHP как Apache-модуля, динамические расширения ничуть не медленнее статических.

Установка PHP на Red Hat Linux и другие RPM-based дистрибутивы (ASP, Mandrake и.т.п)

Поскольку, как уже говорилось, Red Hat-пакеты содержат уже скомпилированные бинарники, вам следует отыскать в интернете готовый rpm с наиболее подходящей вам конфигурацией, и установить его, воспользовавшись командой rpm.

Установка PHP на Gentoo Linux

Gentoo-portage PHP (модуля Apache) находится в /usr/potrage/dev-php/mod_php. Для указания параметров configure используйте переменную USE (неполный список возможных значений USE в Gentoo Linux: www.gentoo.org/dyn/use-index.xml). Можно отредактировать etc/make.conf, но удобнее так:

# USE=»gd mysql pdf xml xslt -X» emerge mod_php

В этом случае, переменная USE устанавливается только на время выполнения команды emerge. («-X» – для гарантии, что ни одна библиотека не потащит за собой XFree86).

После установки, файл php.ini (а точнее – симлинк на него) находится в /etc/apache/conf.

Связка и конфигурирование PHP и Apache

Если это еще не сделала программа установки из пакетов/портов, добавьте в файл конфигурации Apache httpd.conf следующие строки:

Для всех ОС семейства Unix:

LoadModule php4_module libexec/apache/libphp4.so
#после последней директивы Add Module:
AddModule mod_php4.c
#Внутри блока <IfModule mod_mime.c>:
AddType application/x-httpd-php .php
#В строке DirectoryIndex пропишите:
DirectoryIndex index.php index.html

Подключение расширений

В Unix (если только вы не указывали атрибут shared параметров —with… при сборке), расширения подключаются путем пересборки php.

Конфигурирование php.ini

Откройте файл конфигурации php.ini и произведите некоторые изменения в нем. Рекоммендуется установить значения указанных переменных следующим образом:

register_globals = off
magic_quotes_gpc = off
magic_quotes_runtime = off
error_reporting = E_ALL
;и именно так, никаких E_ALL & ~E_NOTICE и пр.! display_errors = on

Запуск Apache

Теперь все готово к запуску Apache. Запустите веб-сервер следующей командой:

# apachectl start

Примечания относительно PHP5

Apache+PHP5 устанавливается точно так же, как и Apache+PHP4 – просто везде замените в этой инструкции PHP4 на PHP5 (в т.ч и в именах файлов и конфигурационных директивах). Например:

LoadModule php5_module C:/php5/php5apache.dll
AddModule mod_php5.c
AddType application/x-httpd-php .php

Примечания относительно Apache 2

Если вы решили использовать Apache 2, настоятельно рекомендуется собирать его с prefork MPM

Источник: http://www.php.su/prepare/?apache_php_unix

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты