Создание Интернет-проекта. Часть 4. WAMP сервер: MySQL, Perl и phpMyAdmin
06 10 2009 | Рубрика: Web, Аналитика, Интернет |
|
Мы продолжаем настраивать компоненты веб-сервера на локальной машине, которые помогут нам довести до ума cms нашего сайта и немного поработать над его контентом, так сказать, в домашних условиях. Делается это для того, чтобы не мешкать при старте проекта в сети и свести к минимуму промежуток времени, необходимый для наполнения уже работающего сайта. В конце концов, никто нам не мешает просто сделать бэкап базы данных и потом просто поставить его на рабочую БД.
В предыдущей части мы рассмотрели момент настройки веб-сервера Apache и интерпретатора языка php, который, по итогу, был настроен как модуль Apache. В этой статье я закончу говорить о настройке веб-сервера, а именно, расскажу как установить и настроить три недостающих нам до полного счастья компонента – это MySQL, Perl и phpMyAdmin для удобства работы с БД. Конечно, как я уже говорил, phpMyAdmin для работы с базой данных использовать не обязательно, можно воспользоваться и командной строкой, но удобство сосредоточено в графическом интерфейсе, следовательно, на этом и остановимся. Поехали.
MySQL
Итак, система управления базами данных MySQL очень популярна теперь. А вообще, для подобных целей используется часто одна из двух СУБД: MySQL или PostgreSQL. Отличаются они тем, что MySQL относится больше к разряду любительских, а PostgreSQL – профессиональных. Поэтому, при разработке массивных и серьезных проектов используется обычно PostgreSQL, под массивными я подразумеваю ресурсы с посещаемостью по несколько сот тысяч посетителей в сутки. Хотя, знаю я ресурсы с такой посещаемостью, в основе которых лежит MySQL. В общем, я решил не мудрить и использовать MySQL – то с чем пользователи более знакомы, а если и не знакомы, то слышали точно.
При выборе пакета становится вопрос о версии, ну, как обычно, в общем-то. В нашем случае это выбор между 5.x и 4.x. Конечно, в пятой версии имеется много того, чего нет в четвертой, например, хранимые процедуры, представления, поддержка внешних ключей для всех типов таблиц. Все это безумно хорошо, но особой важности для нас не имеет, поэтому не будем изобретать велосипед и поставим четвертую версию. Я использую версию 4.1.18, скачать которую можно на официальном сайте (http://www.mysql.com/). Тут с установкой и конфигурированием не так просто, зато настройка взаимодействия с php будет в несколько операций.
После запуска всеми любимого Setup.exe перед нами знакомая картина, на которой стоит нажать далее. Первое окно, которое нас интересует – окно выбора типа установки, в котором необходимо нам выбрать никак не Typical или Complete, а Custom – это позволит изменить путь установки. Если вы помните, мы договорились устанавливать все в E:\www\ – в моем случае, а в вашем любой другой раздел. Поэтому, после выбора пункта Custom перед нами возникает окно выбора устанавливаемых компонентов, внизу которого можно найти кнопочку change – именно эта кнопочка и позволит поменять каталог установки. Прописываем нужный путь, в моем случае E:\www\mysql\ и жмем далее.
После окончания процесса установки инсталлер нам предлагает настроить СУБД прямо сейчас, на что мы и соглашаемся. Вот тут начинается самый важный момент – конфигурирование. Первое окошко предлагает нам настроить автоматически по стандартному шаблону, но мы выберем ручную настройку и будем правы. СУБД MySQL используется не только в сайтостроении, но и в более «гражданских» целях, т.е. как обычное хранилище информации. И поэтому, следующее окно предлагает выбрать тип машины на которую ставится пакет. Предложено три варианта: Developer Machine (компьютер разработчика), Server Machine (сервер смешанного типа) и Dedicated MySQL Server Machine (сервер, целиком отведенный СУБД). Мы выбираем первый пункт, поскольку ставим пакет именно на машину разработчика (рис.1).

Далее предстоит выбрать тип хранилища базы данных (рис.2). И опять на выбор предоставлены три варианта:
- Mutltifunctional Database. Это самый подходящий вариант для нашей задачи. В этом случае создаются хранилища «общего назначения», с возможностью использования как InnoDB, так и MyISAM таблиц.
- Transactional Database Only. База оптимизируется для серверов приложений или Web приложений с большим числом транзакций. Основным движком для хранилищ становится InnoDB.
- Non-Transacional Database Only. Используется для большинства простых Web приложений, для сбора статистики и т. п. Активируется только движок MyISAM.

Чтобы мы не были темными и дремучими я немного поясню, что из себя представляют эти InnoDB и MyISAM. Начну с преимуществ MyISAM:
- Скорость
- Меньший расход дискового пространства
- Для обновлений используется меньше памяти.
Теперь преимущества InnoDB:
- Надежность.
- Можно сочетать несколько операторов и принимать все эти операторы одной командой COMMIT.
- Поддержка откатов
- Если произойдет сбой во время обновления, все изменения будут восстановлены (в нетранзакционных таблицах все внесенные изменения не могут быть отменены).
- Лучше обеспечивает параллелизм при одновременных обновлениях таблицы и чтении.
Едем дальше и в следующем окне нам предлагаю выбрать место хранения данных на жестком диске. Тут на ваше усмотрение, хотя учитывая то, что сервер мы настраиваем для домашнего использования, то можно не мудрить, а просто поставить в папку с установленной прогой. Дальше необходимо выбрать один из вариантов предполагаемой нагрузки, всего их три (рис.3):
- Decision Support (DSS)/OLAP – этот вариант актуален в том случае, если ожидается не более 20 одновременных подключений, т.е. в нашем случае.
- Online Transaction Processing (OLTP) – это уже серьезно, поскольку рассчитан он на 500 одновременных подключений.
- Manual Setting – этот позволяет выбрать настройку коннектов в ручную, это добаляет гибкости.

В следующем окне мы должны определиться с тем, необходим ли нашей БД доступ по сети и какой порт MySQL стоит прослушивать. Поскольку мы будем устанавливать phpMyAdmin, то эту опцию нужно оставить включенной и порт – дефолтным. В противном случае можно было бы смело вырубать эту опцию. Кодировка, выбираем cp1251, что равно windows 1251 и спокойно жмем кнопку далее.
Следующее окно (рис.4) поможет нам определиться с названием процесса и включить функцию его автоматического старта с системой. А вот ниже находится опция, которая во включенном состоянии позволит нам администрировать БД по средствам командной строки Windows. Поскольку я думаю обмолвиться парочкой команд, вам для демонстрации, то опцию включаю. Да и вообще, советовал бы включить и вам, всякое бывает, а еще один канал администрирования не лишний никогда. Вводим пароль главного пользователя (root) и ставим лагочку чуть ниже, чем разрешаем подключения к MySQL из вне (это так же необходимо для phpMyAdmin).

Все. Жмем далее, а в следующем окошке Execute и наблюдаем за конфигурированием и стартом сервиса. Теперь необходимо проверить работу, для этого мы воспользуемся командной строкой, в которой наберем следующее:
mysqladmin -uroot -p version status proc
Если вы отключили опцию TCP/IP при конфигурировании сервера, то команда будет выглядеть немного по-другому.
mysqladmin --pipe -uroot -p version status proc
Дело в том, что придется использовать еще одну опцию при запуске утилиты mysqladmin, а именно – опцию –pipe. По умолчанию MySQL использует TCP/IP, а если использование отключено, то при подключении к базе нам надо явно, опцией –pipe, указать, что мы используем именованные каналы.
После вода команды получим результат, как на рисунке 5.

Теперь осталось только настроить MySQL на работу с php. Идем в E:/www/php и находим файл php.ini, открываем его в блокноте. Там находим строчку extension_dir = «./» и меняем ее на extension_dir = » ./ext». Далее находим строчку
;extension=php_mysql.dll
и раскомментируем ее, т.е. уберем вначале строки точку с запятой. Ну и последний штрих заключается в том, что нужно добавить значение в системную переменную Path, для того, чтобы php подхватил библиотеку libmysql.dll. Поэтому, к значениям Path добавляем путь к каталогу, где лежит эта библиотека, у меня E:/www/php. Добавляем так: правой клавишей на Мой компьютер и выбираем свойства, после выбираем вкладку дополнительно и ищем там кнопочку переменные среды, нажимаем. В нижнем окне (системные переменные) находим Path, выделяем, жмем изменить и в конце, через точку с запятой добавляем к уже имеющимся путям путь к каталогу с библиотекой (рис.6). Готово.

Еще раз проверим работу, но на этот раз уже с php. Открываем блокнот и пишем:
<?php
$db = mysql_connect(".", "root", "123")
or
die("Could not connect : " . mysql_error());
mysql_select_db("test",$db) or die ("Could not select database");
$date = mysql_query("SELECT CURDATE()") or die ("Query failed: " . mysql_error());
echo mysql_result($date, 0);
mysql_close($db);
?>
Сохраняем как index.php и кладем в корень одного из наших сайтов, после чего пробуем открыть в браузере. Вы должны увидеть сегодняшнюю дату, если это произошло, то все работает правильно.
Perl
Пакет качаем с www.activeperl.com, запускаем мастер установки и выполняем уже привычные действия, но я хочу обратить ваше внимание на окошко, показанное на рисунке 7. Обязательно расставьте галочки так, как показано на рисунке. И на этом все, установка закончена. Проверить работу Perl CGI можно с помощью Perl скрипта, который устанавливается по умолчанию при инсталляции Apache в каталог cgi-bin, и называется printenv.pl. Поменяйте в заголовке путь к интерпретатору perl.exe на тот, который используете вы и все дела. Однако, я бы все же убрал бы немного головной боли: откройте httpd.conf (конфигурационный файл Apache, если забыли) и добавьте в него строку
ScriptInterpreterSource registry

Вот, теперь из printenv.pl вообще удалите первую строку, которая указывает каким интерпретатором пользоваться для обработки данного скрипта, попробуйте вызвать скприпт через браузер и он все равно исполниться. Дело в том, что, расставив галочки так, как я сказал, вы незаметно для себя выбрали операцию, которая при установке сделала запись в системном реестре, в которой указывается как открывать файлы с расширением .pl.
phpMyAdmin
Ну и последний аккорд нашей песни – установка phpMyAdmin, которая тоже не относится к числу сложных. Скачиваете с любого русскоязычного представительства phpMyAdmin-2.11.9.5-all-languages, он чем-то поход на движок сайта (cms). Распаковываем содержимое в один корень какого-либо домена (лучше всего создать отдельный) и пробуйте запустить index.php, который будет работать неверно. Для того, чтобы поменять ситуацию вызовете все скрипт установки scripts/setup.php (рис.8), который поможет вам сгенерировать конфигурационный файл. Открыв скрипт установки нажмите кнопочку add и там, в поля введите те значения, которые показаны на моем рисунке. Скачиваете файл и заливаете в папку в которой лежит phpMyAdmin и все, готово. Запускаем, вводим логин (root), пароль и входим. Вот, теперь нет проблем с созданием БД.

На этом все на сегодня. В следующей статье мы поставим wordpress, пробежимся по его настройках, установим несколько плагинов и рассмотрим структуру тем оформления для блогов. Если вы все же остались без понятия в некоторых вещах, то можете скачать видео в котором и запечатлено сие действо http://forum.sa-sec.org/index.php?showforum=66. Не забывайте про эксперименты над своим свежее испеченным сервером, но будьте аккуратны, поскольку все устанавливать заново, думаю, никому не охото.
Евгений Кучук
q@sa-sec.org
SASecurity gr.
Тэги: MySQL, perl, phpMyAdmin, WAMP сервер
Возник вопрос после прочтения? Или автор не описал важный момент?
Есть что сказать на эту тему, а комментарий - это не твое?
Тогда Go на наш форум.
Общайся на темы ИТ свободно, развивайся и рассказывай новое другим! Мы будем рады принять тебя в нашу компанию













13 Комментария (ев)
slogic
15 Дек 2009
Поясните, в строке mysql_connect(«.», «root», «123″) что означает точка в имени сервера? Не описано как все-таки цепляться к именованному каналу.
Spider Agent
18 Дек 2009
2slogic
этот пример для проверки только предназначен и работает только на localhost. А вообще, вместо точки прописывается адрес сервера с бд.
kolianius
12 Янв 2010
а как добавить значение в переменную path? Через мой компьютер не получается (во вкладке «дополнительно» нет кнопки «переменные среды»). у меня ХР sp2
Spider Agent
13 Янв 2010
2 kolianius
вот информация по переменным среды
хм.. насколько я знаю, в sp2 должна быть вкладка «переменные среды» в свойствах системы, возможно установлена сторонняя сборка дистрибутива..
YourFan
26 Фев 2010
Автору респект, за содеяное)))
—-Настроением, теперь хоть плюйся!)
——-О Статье – спасибо огомное Паучок
———О видеозаписях – Это и помогло мне улыбнуться в весенний день)
———После слов о Гагарине , начал плакать))), после lamerman – плач пере
———шол в истерику.
——-О совте , спасибо за воскрешение программ!
—-Об общем мнении , МО_ЛО_ДЕЦ! Браво! Бисс!
Обо мне – теперь, у тебя ещё один надоедливый фанат)
svet
12 Мар 2010
Спасибо за такое подробное руководство! :wink:
RuSever
14 Мар 2010
Да, то, что я искал, во всех подробностях, теперь буду знать как работать с БД и прочее
VAz
08 Апр 2010
Отличная, полезная статья!
OtvetimKak
09 Апр 2010
Спасибо, тема очень актуальная для русскоязычной части Интернета, можно книгу вам наверно уже написать про создание веб-ресурсов.
ddimetrylw
11 Апр 2010
Калссная статейка
Lisicin
14 Апр 2010
Ничего нового не узнал, зато знания закрепил. Спасибо и на этом, как говорится.
flower-kgb
19 Апр 2010
Интересная статья, особенно для тех кто совсем не в теме. Можно мне перепостить?
Spider Agent
26 Апр 2010
ну, перепости – я не против. только со ссылкой на источник и автора.
Оставьте комментарий