Книга: 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 "Работает!"
?>
Как вы уже успели догадаться, если в окне браузера вы увидите слово «Работает!», значит, вы все сделали правильно.
- Первый просмотр: краткий обзор
- Семерка - первый шаг нового семейства
- Три способа кодирования звука
- Глава 3 Способы монетизации
- Способы «запуска» слухов
- Управление rpm-пакетами: нынче не то, что давеча
- Есть ли быстрый способ доступа к папкам?
- Часть II Изменение способов ведения бизнеса
- Как сделать так, чтобы папка на одном компьютере в сети была доступна для другого компьютера, даже если первый выключен?
- Мне требуется информация с сайта, который я посещал позавчера, но я не помню его адрес. Есть ли способ его узнать?
- Презентация: 30 минут, которые способны изменить ваш бизнес
- Надо уменьшить размер ста изображений. Не делать же это вручную. Есть ли способ автоматизировать процесс?