Добавить в Twitter  Поделиться в контакте  Опубликовать в своем блоге livejournal.com Добавить в Google Buzz Поделиться в Facebook

Создание Интернет-проекта. Часть 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:

  1. Скорость
  2. Меньший расход дискового пространства
  3. Для обновлений используется меньше памяти.

Теперь преимущества InnoDB:

  1. Надежность.
  2. Можно сочетать несколько операторов и принимать все эти операторы одной командой COMMIT.
  3. Поддержка откатов
  4. Если произойдет сбой во время обновления, все изменения будут восстановлены (в нетранзакционных таблицах все внесенные изменения не могут быть отменены).
  5. Лучше обеспечивает параллелизм при одновременных обновлениях таблицы и чтении.

Едем дальше и в следующем окне нам предлагаю выбрать место хранения данных на жестком диске. Тут на ваше усмотрение, хотя учитывая то, что сервер мы настраиваем для домашнего использования, то можно не мудрить, а просто поставить в папку с установленной прогой.  Дальше необходимо выбрать один из вариантов предполагаемой нагрузки, всего их три (рис.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.


Тэги: , , ,

Возник вопрос после прочтения? Или автор не описал важный момент? Есть что сказать на эту тему, а комментарий - это не твое?


Тогда 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

:cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool:
Автору респект, за содеяное)))
—-Настроением, теперь хоть плюйся!)
——-О Статье – спасибо огомное Паучок
———О видеозаписях – Это и помогло мне улыбнуться в весенний день)
———После слов о Гагарине , начал плакать))), после lamerman – плач пере
———шол в истерику.
——-О совте , спасибо за воскрешение программ!
—-Об общем мнении , МО_ЛО_ДЕЦ! Браво! Бисс!
Обо мне – теперь, у тебя ещё один надоедливый фанат)
:cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool:

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

ну, перепости – я не против. только со ссылкой на источник и автора.

Оставьте комментарий

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: