Главная » 2013 » Декабрь » 12 » 16.3. Связка Apache + PHP + MySQL
02:03
16.3. Связка Apache + PHP + MySQL

Настроить данную связку, которая очень полезна при Web‑программировании, можно двумя способами. Первый из них – это использовать программы, которые входят в состав дистрибутива и, как правило, устанавливаются из пакетов RPM. Второй способ заключается в загрузке последних версий Apache, MySQL и PHP и в самостоятельной их сборке из исходных текстов. Первый способ я могу порекомендовать начинающим пользователям, так как он более прост. Если же вы чувствуете уверенность в своих силах, приступайте сразу к чтению второго способа.

16.3.1. Первый способ: из пакетов RPM

Могу сразу обрадовать пользователей дистрибутивов Red Hat 7.2 и Mandrake 8.1 (или более поздних версий): вам не нужно настраивать первую часть связки – все настраивается во время установки системы. В состав дистрибутива Red Hat 7.2 входит сервер Apache 1.3.20‑16, а при установке системы устанавливаются библиотека gd и интерпретатор php версии 4.0.6, а также модуль для сервера Apache. Поэтому вы можете сразу приступить к тестированию связки Apache + PHP (см. файл test. php ниже). Не забудьте установить сервер Apache, если он еще не установлен (перед выполнением данной команды перейдите в каталог, в котором находятся пакеты RPM):

Затем следует настроить сервер. Настройка Apache подробно обсуждалась в гл. 12 этой книги. Не нужно настраивать сервер полностью: достаточно указать только директиву ServerName и попробовать запустить сервер.

Как правило, сервер должен успешно запуститься и функционировать. Для проверки его работы введите команду:

Текстовый браузер lynx должен отобразить стартовую страницу Apache. После успешного запуска сервера остановите его командой:

Проверьте наличие библиотеки gd – она необходима для работы с графикой в РНР:

Если библиотека gd не установлена, установите ее командой, предварительно указав ту версию библиотеки, которая у вас имеется (я использую версию 1.8.4):

Установите пакет php, если вы его еще не установили:

После этого установите модуль Apache, обеспечивающий поддержку РНР:

Данный модуль должен входить в состав дистрибутива и обычно находится на первом инсталляционном диске. Затем в файле httpd. conf найдите и раскомментируйте следующую строчку. После этого файлы с расширением. php будут правильно обрабатываться сервером:

Теперь можно проверять правильность настройки двух компонент связки: Apache и РНР. Создайте тестовый файл test. php с таким содержимым:

Этот файл сохраните в каталоге DocumentRoot сервера Apache. Обычно это каталог /var/www/html. После этого запустите любой браузер и введите следующий адрес: http://localhost/test. php

При этом на экране вы должны увидеть различную информацию о РНР, сервере Apache и других компонентах и библиотеках, например, о библиотеке gd (см. рис. 16.1).

Рис. 16.1. Функция phpinfo()

Функция phpinfo() очень информативна: внимательно изучив информацию, которую она предоставляет, вы много узнаете о своем Web‑сервере. К тому же эту информацию можно использовать при Web‑программировании.

Теперь немного настроим РНР. С помощью функции phpinfo() узнайте, где расположен инициализационный файл РНР. Обычно он называется php. ini и находится в каталоге /etc. Откройте этот файл в любом текстовом редакторе и раскомментируйте следующую строку, убедившись, что в вашей системе есть файл mysql. so (он устанавливается при установке MySQL):

После этого перейдите в секцию MySQL файла php. ini и установите параметры сервера MySQL по умолчанию:

Эти параметры будут использоваться при установлении соединения с сервером, если в функциях РНР они не будут явно указаны. Никогда не указывайте пользователя root (а тем более его пароль) в качестве пользователя по умолчанию!

Теперь можно приступить к установке и настройке сервера MySQL. В состав современных дистрибутивов, например, Red Hat 7.2, входит сервер MySQL версии 3.23. Вы можете использовать эту версию, но я рекомендую установить более старую версию – 3.20. Если вы установили версию 3.23, установите также пакет mod_auth_mysql. Данный пакет обеспечивает базовую аутентификацию для сервера Apache с использованием таблиц MySQL. Напомню, что сам сервер MySQL устанавливается командой:

Запустите сервер. Можно также добавить вызов сервера MySQL в сценарии автозагрузки. При добавлении сервера MySQL в сценарии загрузки (/etc/re. d/) обратите внимание на то, что сервер MySQL должен быть запущен ПЕРЕД сервером Apache. Представьте такую ситуацию: сначала запускается сервер Apache и сразу же получает запрос от клиента к базе данных MySQL, а сервер баз данных еще не запущен. Даже если запускать сервер MySQL сразу после Apache, то все равно ему понадобится еще некоторое дополнительное время для инициализации. Не забудьте установить пароль для пользователя root сервера MySQL:

Перезагрузите сервер:

Теперь можно проверить работу всей связки Apache + PHP + MySQL. С этой целью создайте небольшой тестовый файл mysql_test. php в каталоге /var/www/html.

Как вы уже успели догадаться, если в окне браузера вы увидите слово «Работает!», значит, вы все сделали правильно.

16.3.2. Второй способ: из исходных текстов

Как я уже говорил, это более сложный способ, но у него есть свои преимущества. Во‑первых, у вас появится возможность использовать самые последние версии серверов Apache, MySQL и интерпретатора РНР, которых нет в составе даже самого нового дистрибутива Linux. Во‑вторых, вы сами сможете контролировать процесс сборки и включать поддержку необходимых вам функций, исключив такую ситуацию, когда, например, разработчики пакетов RPM при сборке интерпретатора РНР забыли включить поддержку сервера MySQL. Мне попадался такой дистрибутив php: функции mysql_connect() в нем просто не было.

Итак приступим к настройке. Но перед этим скачайте из Интернет последние версии Apache, MySQL и РНР. Предварительно удалите из системы старые версии, если такие были установлены. После загрузки распакуйте исходные тексты в каталог /src. Далее, сначала установите сервер MySQL. С этой целью перейдите в каталог с исходными текстами MySQL и введите следующие команды (первая команда включает поддержку по умолчанию кодировки koi8‑r):

Затем аналогично установите Apache, перейдя в соответствующий каталог:

Для получения информации обо всех опциях команды configure введите команду configure ‑‑help. После этого распакуйте РНР и перейдите в каталог с исходными текстами РНР. Введите команды:

Первая команда конфигурирует интерпретатор РНР для работы с сервером баз данных MySQL и Web‑сервером Apache. Естественно, вы должны правильно указать путь к исходным текстам Apache с помощью параметра –‑with‑apache.

Затем вернитесь в каталог, содержащий исходные тексты Apache, и введите команду:

Перед этим нужно убедиться в существовании файла Iibphp4.a. Этот файл должен существовать, если php собрался нормально. Если конфигуратор configure успешно завершил свою работу, введите команды:

Этими командами вы собираете сервер Apache с подключенным модулем libphp. Проверить подключился ли нужный модуль вы можете после установки сервера (выполнения команды make install) с помощью команды:

В списке модулей должен быть модуль libphp4.c, а также модуль mod_charset. c – его вы подключили при первой сборке. После этого можно отредактировать файл /etc/php. ini и установить пароль для пользователя root сервера MySQL (не путайте пользователя root всей системы с пользователем root сервера MySQL!). Обе операции уже были описаны в п. 16.3.1. Теперь только остается добавить запуск серверов в сценарии автозагрузки системы. Напомню, что сервер MySQL должен запускаться до сервера Apache.

Категория: Установка MySQL | Просмотров: 485 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: