Книга: Linux-сервер своими руками

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

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):

rpm –Uh apache*

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

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

lynx http://localhost

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

/etc/init.d/httpd stop

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

rpm –qa | grep gd

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

rpm –Uhv gd-1.8.4-4.1386.rpm

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

rpm –Uh php*

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

rpm –Uh mod_php*

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

AddType application/x-httpd-php4 .php

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

<?
 phpinfo();
?>

Этот файл сохраните в каталоге 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):

extension=mysql.so

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

mysql.default_port =
mysql.default_socket =
mysql.default_host = localhost
mysql.default_user =
mysql.default_password =

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

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

rpm –Uh mysql*

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

mysql –u root –e "update user set password=password('new_password') user='root'" mysql

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

mysqladmin reload

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

<?
 // Используется имя пользователя root и пароль passwd
 if (!mysql_connect("localhost", "root", "password") )
 {
  echo "He могу соединиться с серверомn";
  echo mysql_error() ;
  exit;
 }
 echo "Работает!"
?>

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

Оглавление книги


Генерация: 1.100. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз