Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 84
Текст из файла (страница 84)
16.2.Параметры программы mysqlshowПараметрТаблица 16.2Описание--поз1=имя_хостаЗадает имя хоста, к которому вы хотите подключиться--рог1=номер_портаОпределяет номер порта для сервера MySQL--socket=coKeTУказывает сокет--изег=имя пользователяС помощью этого параметра можно указать нужное имя пользователя-РЗапрашивает ввод пароляДля самих же операций с данными используется программа mysql. Она иявляется клиентом сервера. В этой программе можно использовать те жеопции, что и mysqlshow. Среди многочисленных параметров программа mysqlимеет один очень важный параметр -s.
Я рекомендую вам всегда его использовать. Этот параметр подавляет большинство ненужных сообщений, выводимых клиентом. На медленных линиях связи это должно повысить производительность. Да и наблюдать за всеми рамочками и ненужными сообщениями особо не хочется.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):rpm -Uh apache*Затем следует настроить сервер. Настройка Apache подробно обсуждалась в гл.
12 этой книги. Не нужно настраивать сервер полностью: достаточно указать только директиву ServerName и попробовать запустить сервер.362Установка MySQLКак правило, сервер должен успешно запуститься и функционировать. Дляпроверки его работы введите команду:lynx h t t p : / / l o c a l h o s tТекстовый браузер lynx должен отобразить стартовую страницу Apache.После успешного запуска сервера остановите его командой:/etc/init.d/httpd stopПроверьте наличие библиотеки gd - - она необходима для работы сграфикой в РНР:rpm -qa I grep gdЕсли библиотека gd не установлена, установите ее командой, предварительно указав ту версию библиотеки, которая у вас имеется (я используюверсию 1.8.4):rpm -Uhv g d - 1 .
8 . 4 - 4 . 1 3 8 6 . r p mУстановите пакет php, если вы его еще не установили:rpm -Uh php*После этого установите модуль Apache, обеспечивающий поддержку РНР:rpm -Uh mod_php*Данный модуль должен входить в состав дистрибутива и обычно находится на первом инсталляционном диске. Затем в файле httpd.conf найдите и раскомментируйте следующую строчку. После этого файлы с расширением . php будут правильно обрабатываться сервером:AddType application/x-httpd-php4 .phpТеперь можно проверять правильность настройки двух компонент связки: Apache и РНР.
Создайте тестовый файл test. php с таким содержимым:<?phpinfo ( ) ;?>Этот файл сохраните в каталоге DocumentRoot сервера Apache. Обычноэто каталог / v a r / w w w / h t m l . После этого запустите любой браузер и введитеследующий адрес:http://localhost/test.phpПри этом на экране вы должны увидеть различную информацию о РНР,сервере Apache и других компонентах и библиотеках, например, о библиотеке gd (см. рис. 16.1).Функция phpinfoQ очень информативна: внимательно изучив информацию, которую она предоставляет, вы много узнаете о своем Web-сервере.
Ктому же эту информацию можно использовать при Web-программировании.Теперь немного настроим РНР. С помощью функции phpinfo() узнайте, где расположен инициализационный файл РНР. Обычно он называется p h p . i n i и находится в каталоге /etc. Откройте этот файл в любомтекстовом редакторе и раскомментируйте следующую строку, убедившись, что в вашей системе есть файл m y s q l . s o (он устанавливается приустановке MySQL):extension=mysql.so363Установка MySQLСтраницаОгрейти Заилдаи Инефумеиты Ьастройки £(кно Помощь......sy^...,.:.m...1*19*3 ECmad DaleAug 27 206'Configure Command•ЭЕ-'- wirt- cof--wlh-fsL- -enable- .
---wthout-ъ--wifh-pspServer APIApsche -.Hrluai Directory Supportdtsauied' ':Configuration me (phpjui) Path rttc/php-imZEHO_D£BUO : . " • • • •mreaa Safetydisabled 1.*?.?w««..:...эагрузкэ завершенаРис. /6. t. Функция phpinfo()После этого перейдите в секцию MySQL файла p h p . i n i и установитепараметры сервера MySQL по умолчанию:mysql.default_port =mysql.default_socket =mysql.default_host =localhostmysql.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 /)364Установка MySQLобратите внимание на то, что сервер MySQL должен быть запущен ПЕРЕДсервером Apache. Представьте такую ситуацию: сначала запускается сервер Apacheи сразу же получает запрос от клиента к базе данных MySQL, а сервер баз данныхеще не запущен. Даже если запускать сервер MySQL сразу после Apache, то всеравно ему понадобится еще некоторое дополнительное время для инициализации.Не забудьте установить пароль для пользователя root сервера MySQL:mysql -u root -e "update user setp a s s w o r d = p a s s w o r d ( > n e w _ p a s s w o r d ' ) where u s e r = ' r o o t ' " mysqlПерезагрузите сервер:mysqladmin reloadТеперь можно проверить работу всей связки Apache + PHP + MySQL.
Сэтой целью создайте небольшой тестовый файл mysql_test.php в каталоге/var/www/html.<?// Используется имя пользователя root и пароль passwdif(!mysql_connect("localhost","root","password")){echo "He могу соединиться с сервером\п";echo mysql_error();exit;}echo "Работает!"?>Как вы уже успели догадаться, если в окне браузера вы увидите слово«Работает!», значит, вы все сделали правильно.16.3.2. Второй способ: из исходных текстовКак я уже говорил, это более сложный способ, но у него есть своипреимущества. Во-первых, у вас появится возможность использовать самыепоследние версии серверов Apache, MySQL и интерпретатора РНР, которыхнет в составе даже самого нового дистрибутива Linux.
Во-вторых, вы самисможете контролировать процесс сборки и включать поддержку необходимых вам функций, исключив такую ситуацию, когда, например, разработчики пакетов RPM при сборке интерпретатора РНР забыли включить поддержку сервера MySQL. Мне попадался такой дистрибутив php: функцииmysql_connect() в нем просто не было.Итак приступим к настройке. Но перед этим скачайте из Интернетпоследние версии Apache, MySQL и РНР. Предварительно удалите из системы старые версии, если такие были установлены.
После загрузки распакуйтеисходные тексты в каталог /src. Далее, сначала установите сервер MySQL.С этой целью перейдите в каталог с исходными текстами MySQL и введитеследующие команды (первая команда включает поддержку по умолчаниюкодировки koi8-r):./configure —with-charset=koi8_rumakemake i n s t a l l365Установка MySQLЗатем аналогично установите Apache, перейдя в соответствующий каталог:./configuremakemake i n s t a l lДля получения информации обо всех опциях команды configure введитекоманду configure —help.
После этого распакуйте РНР и перейдите в каталогс исходными текстами РНР. Введите команды:./configure —with-mysql —with-apache=../apache_l.3.20 —with-mod_charsetmakemake i n s t a l lПервая команда конфигурирует интерпретатор РНР для работы с сервером баз данных MySQL и Web-сервером Apache. Естественно, вы должныправильно указать путь к исходным текстам Apache с помощью параметра-with-apache.Затем вернитесь в каталог, содержащий исходные тексты Apache, ивведите команду:./configure —activate-module=src/modules/php4/libphp4.aПеред этим нужно убедиться в существовании файла Iibphp4.a.
Этотфайл должен существовать, если php собрался нормально. Если конфигуратор configure успешно завершил свою работу, введите команды:makemake installЭтими командами вы собираете сервер Apache с подключенным модулемlibphp. Проверить подключился ли нужный модуль вы можете после установки сервера (выполнения команды make install) с помощью команды:httpd -1В списке модулей должен быть модуль Iibphp4.c, а также модульmod_charset.c — его вы подключили при первой сборке.