Меню Рубрики

Установка apache mysql perl

Установка и настройка Web — сервера Apache, базы данных MySQL и интерпретаторов языков PHP и Perl

Часть 1. Установка.

1.1 Установка Apache

Первым делом поставим сам Веб-сервер Apache, что логично. Для этого заходим на сайт www.apache.org, и скачиваем оттуда самого Апача: ссылка на файл должна выглядеть примерно так:

Apache 1.3.xx Win32 Binary (Self extracting)

Я буду все рассказывать на примере Apache версии 1.3.33. Он довольно стабилен и проблем с его установкой и настройкой не возникало. Хотя Вы сможете скачать свежачок с сайта. КРАЙНЕ НЕ РЕКОМЕНДУЮ ставить Apache 2. Так как связка Apache 2 + php является скорее экспериментальной и с ее установкой и настройкой проблем возникает гораздо больше (особенно, когда еще подключается MySQL).

Еще хочу развеять одно заблуждение — Apache 2 — это не новая версия Apache 1.3, а проект, который разрабатывается параллельно с Apache 1.3. Сам Apache 1.3 продолжает развиваться независимо от 2 версии.

1.1.1 Итак, Вы скачали Apache. Название файла выглядит примерно как apache_1.3.33-win32-x86-no_src.exe. Открывайте этот файл. Бегут буковки, циферки и в результате Вы видите следующее окно:

Значит, Вы скачали то, что нужно и сейчас начнется инсталляция: Жмите Next.

1.1.2 Появится окно с лицензионным соглашением. Выберите пункт I accept the terms in the license agreement и жмите Next.

1.1.3 В следующем окне тоже жмите Next.

1.1.4 Теперь должно появиться окно:

Первое поле — название домена. Допустим, напишите mysite.ru

Второе поле — название сервера. Допустим, www.mysite.ru

Третье поле — e-mail адрес администратора. Напишите что — нибудь, вроде admin@mysite.ru

Если Вы будете использовать свой Веб — сервер только для тестирования скриптов на локальном компьютере — то неважно, что Вы там напишите. После установки, если захотите, можете переправить эти поля.

Ниже выберите пункт Run as a service for Al Users.

1.1.5 В следующем окне выберите пункт Complete и нажмите Next.

1.1.6 Теперь Вас спросят, куда ставить Apache. Советую, не мудрствуя лукаво, ставить в папку по умолчанию: C:\Program Files\Apache Group\

1.1.7 Вам напишут, что все готово к установке. Нажмите Install, чтобы ее начать.

1.1.8 Если все прошло успешно, по окончанию инсталляции Вы увидите окно

Жмите Finish. Вот и все! Мы установили самый лучший Веб — сервер в мире — Apache!

Но не расслабляйтесь, нам еще предстоит много. Переходим к следующему пункту:

1.2 Установка php

Сперва нам надо получить сам php. Заходим на сайт http://www.php.net/ и качаем оттуда ZIP-архив Windows Binaries (PHP 5.x.x Zip package).

Не стоит качать «PHP 5.x.x installer» — так как там отсутствуют многие необходимые нам файлы!

Далее распаковываем архив в C:\php, хотя Вы можете распаковать куда хотите, но в дальнейшем я буду описывать настройку, полагая, что он у Вас все — таки в C:\php :

Вот и все, php мы установили. Если захотите его стереть, то надо будет всего навсего удалить папку c:\ php, а не через Установку и Удаление. Идем дальше:

1.3 Установка perl

Теперь займемся установкой интерпретатора другого популярного языка для web — кодинга — Perl. Для Win32 нам нужен не обычный Перл, который изначально создавался под *nix — системы, а уже скомпилированная под Windows версия — Active Perl (хотя, если есть желание, то можете скачать исходники и скомпилировать сами Perl под Win32). Качаем его с сайта www.activestate.com.

Я буду рассказывать на примере Active Perl 5.8.0, так как его установить будет проще — он имеет привычный графический Windows — инсталлятор (хотя, если хотите, можете поставить свежачок — Active Perl 5.8.6. Он имеет консольную инсталляцию и устанавливается тоже очень просто. Подробно об установке этой версии можете прочитать тут http://poizon.net.ru/?s=4;f=5).

1.3.1 Итак, мы скачали файл. Он выглядит примерно, как ActivePerl-5.8.0.805-MSWin32-x86.msi — обычный Win — инсталлятор. Запускаем и видим окно:

1.3.2 Появится окно с лицензионным соглашением. Выберите пункт I accept the terms in the license agreement и жмите Next.

1.3.3 Выбираем, куда ставить Perl. Я советую сменить имя директории на C:\usr.

Это следует сделать по следующей причине: если Вы тестируете скрипты на локальной машине, то наверняка потом выкладываете на Web — сервер. А хорошие сервера, как известно, работают под *nix — системами. В начале перл — скрипта Вы пишете путь к интерпретатору перла. Обычно на сервере он выглядит как

#!/usr/bin/perl. А если на локальной машине Перл у Вас будет стоять в папке, скажем, С:\Perl, то первая строчка будет выглядеть так #!/Perl, и после тестирования скриптов и перед их закачкой на сервер, Вам придется менять первую строчку во всех Ваших скриптах.

Читайте также:  Установка крышки колодца из пластика

1.3.4 В следующем окне жмем Next (не надо ставить галочку).

1.3.5 В следующем окне оставляем галочки, где они стоят и жмем Next

1.3.5 Должно появиться окно:

Теперь все готово к инсталляции, жмем Install.

1.3.6 Инсталляция завершена. Жмем Finish. Читаем справку и радуемся — мы уже установили сам веб — сервер и интерпретаторы 2 самых популярных языков программирования в Вебе — PHP и Perl. Но на этом установка не закончилась.

Каждый веб — мастер, пишущий серьезные проекты (а рано или поздно Вы начнете их писать) использует базы данных, а самой популярной, удобной и простой в использовании базой данных является, безусловно, MySQL. Не стоит откладывать этот шаг до лучших времен — давайте лучше сразу все установим и получим полноценный рабочий Веб — сервер со всеми наворотами. Поэтому, переходим к следующей части:

1.4 Установка MySQL

Как обычно, сначала нам надо скачать эту красоту. Делаем это тут: http://www.mysql.com/

В разделе Downloads. Выбирайте там самую последнюю версию под Windows и скачивайте. Я буду рассказывать на примере MySQL 4.1.9, хотя инсталляция более новых ничем не отличается от этой. Дистрибутив представляет собой zip — архив, который надо куда — нибудь развернуть.

1.4.1 Теперь запускайте файл setup.exe. Должно появится окошко:

1.4.2 В следующем окне выбираем тип установки Custom. Жмем Next.

1.4.3 Щелкаете по кнопке Change и меняете путь на C:\Program Files\MySQL\

1.4.4 Все готово к установке, жмем Install.

Выбираем нижний пункт и жмем Next.

1.4.6. В следующем окошке ставим галочку и давим Next.

1.4.7 Появится окно Configuration Wizard

Ну что ж, будем конфигурировать:. Жмем Next.

1.4.8 Выбираем Detailed Configuration и жмем Next.

1.4.9 Выбираем Developer Machine и жмем Next.

1.4.10 Выбираем Multifunctional Database и давим Next.

Оставляем все, как на рисунке и нажимаем на Next.

1.4.12 Выбираем пункт Decision Support (DSS)/OLAP и опять жмем Next.

1.4.13 Оставляем галочку Enable TCP/IP Networking, номер порта оставляем 3306 и давим на Next.

1.4.14 Выбираем Standart Character Set и жмем Next.

1.4.15 Ставим галку напротив Install As Windows Service, имя оставляем MySQL, а с Launch the MySQL Server automatically снимаем. Хотя если хотите, то можете оставить, но она будет постоянно висеть в памяти и кушать ресурсы (хоть и не большие, где-то 9 мегабайт). Лично я предпочитаю все запускать вручную, когда понадобится.

1.4.16 Ставим галку напротив Modify Security Settings, пишем пароль рута (так в *nix системах зовется администратор), потом подтверждаем во втором поле и жмем Next.

Запускается и останавливается сервер MySQL соответственно командами

1.5 Заключение к первой части

Подведем итоги: мы с вами установили джентльментский набор Web — мастера под Win — платформу :

  • Сам Web — server Apache
  • Интерпретаторы Perl и PHP
  • Базу данных MySQL

Теперь можете отдохнуть перед следующей частью нашей с Вами работы — настройкой всего выше перечисленного добра 🙂

Часть 2. Настройка.

Ну что ж, мы все успешно установили, теперь нам нужно сделать так, чтобы это все друг с другом работало. Итак:

2.1 Настройка работы Apache

Сперва так настроим Apache, чтобы нам было удобно работать с нашим сервером. Основные настройки сервера храняться в файле httpd.conf, который находится по адресу c:\Program Files\Apache Group\Apache\conf\httpd.conf (если Вы, конечно, установили его туда как я описывал в первой части). Это обычный текстовый файл, открывайте его блокнотом.

2.1 Настройка работы Apache

Сперва так настроим Apache, чтобы нам было удобно работать с нашим сервером. Основные настройки сервера храняться в файле httpd.conf, который находится по адресу c:\Program Files\Apache Group\Apache\conf\httpd.conf (если Вы, конечно, установили его туда как я описывал в первой части). Это обычный текстовый файл, открывайте его блокнотом.

2.1.1 Первым делом ищем строчку

DocumentRoot «C:/Program Files/Apache Group/Apache/htdocs» и меняем ее на DocumentRoot «C:/www/html»

Теперь объясню, зачем мы это сделали. Не очень удобно делать так, чтобы все html — страницы Вашего сайта находились по адресу C:\Program Files\Apache Group\Apache\htdocs. Гораздо удобнее, когда все HTML — документы на Вашем сервере лежали бы в одной папке C:\www\html.

Обратите внимание, что в пути вместо стандартного для Win — систем обратного слэша «\» используется прямой — «/». Это объясняется тем, что Apache разрабатывался изначально под *nix — системы, а там везде вместо «\» используется «/».

и меняем ее на 2 следующие строчки:

Тут мы делаем, таким образом, 2 вещи: первая, что все cgi — скрипты будут располагаться в папке c:\ www\cgi. Делается это также исключительно для удобства. А вторая, что для каталога C:/www/cgi создается 2 псевдонима. Таким образом, если будет указан путь http://localhost/cgi или http://localhost/cgi-bin , то на самом деле обращение будет идти к одной и той же папке c:\www\cgi

Читайте также:  Установка из под dos что это

2.1.2 Ищем секцию и заменяем ее содержимое на следующее:

Тут мы задаем ряд настроек по умолчанию для нашего каталога c:\www и всех подкаталогов, которые в нем содержатся: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, возможность использовать файлы .access для индивидуальной настройки каталогов.

стираем перед ней комментарий и добавляем .bat .exe

В результате строчка принимает вид:

Тут мы указываем серверу, что файлы с расширениями .bat, .exe, .cgi надо рассматривать как cgi — модули

Здесь мы указываем серверу, файлы с какими р будут обрабатываться как SSI.

SSI (Server Side Include) — технология, которая позволяет включать в WEB — страницу «внешние» файлы (будь то другая html — страница или скрипт, находящийся в папке cgi). Таким образом можно строить сайт как бы по кирпичикам.

2.1.5 Не забудьте сохранить изменения в файле httpd.conf

Общая настройка Apache закончена. Нажмите Пуск -> Выполнить, введите команду

Теперь если в адресной строке браузера Вы введете http://localhost, то высветится страничка index.html, расположенная в папке c:\www\html, а если ее там нет, то список файлов в этой папке.

2.2 Настройка связки Apache + PHP5

2.2.1 Скопируйте файл php5ts.dll из папки C:\php в папку C:\WINDOWS\SYSTEM32

2.2.2 Скопируйте файл php.ini-dist из папки C:\php в каталог C:\WINDOWS и переименуйте его в php.ini, откройте в блокноте, найдите переменные, указанные ниже и установите их значения, как написано ниже:

Если Вы начинающий программист на PHP, то советую Вам установить значение register_globals = on. Объясню почему: почти во всех руководствах по РНР пишут, что даные, полученные из формы, или переданные по ссылке, вот так: http://localhost/my_script.php?variable1=x&variable2=y автоматически становятся переменными PHP, $x и $y. Но эта информация немного устарела.

Приведу по этому поводу отрывок с сайта http://phpfaq.ru

«Дело в том, что в целях безопасности, начиная с версии 4.1, РНР настраивается по умолчанию так, чтобы переданные значения не назначались переменным.

Получить же переданное значение можно обратившись к соответствующему массиву.

Если передаем методом GET, обратившись к скрипту по ссылке вида

или отправив форму, указав в ней method=»GET»,

то все переменные содержатся в массиве $_GET.

Если получаем данные из формы, отправленной методом POST, то все поля этой формы содержатся в массиве $_POST. Допустим, в форме был элемент

то в скрипте, который указан в action формы, можно написать echo $_POST[‘var’]; и будет выведена 1.

Поэтому, если вы уверены, что переменная есть, но вы не можете ее найти — ищите ее в суперглобальных массивах.

Подробнее о них можно почитать на русском языке в официальной документации http://ru2.php.net/variables.predefined

То же касается и серверных переменных, таких, как $REMOTE_ADDR, $PHP_SELF. Получить их можно, обратившись к массивам $_SERVER, $_ENV или функцией getenv — getenv(‘HTTP_REFERER’);

Переменные, зарегистрированные в сессии, следует искать в массиве $_SESSION.

Данные cookie содержатся в массиве $_COOKIE, сведения о закачанных файлах — в $_FILES

Переменные окружения — в $_ENV, а так же, существует массив $_REQUEST, в котором собраны данные из GET, POST и cookie.

Важно! Весьма в поисках переменных помогает одна их главных функций PHP — phpinfo()

ее следует применять всякий раз, когда вы «потеряли» переменную, вызовите phpinfo(32); в скрипте, в котором не работает авторизация, в скрипте, который принимает файл при аплоаде — и все найдется!

За назначение переменных отвечает параметр register_globals в php.ini.

Если register_globals=on, то все полученные скриптом данные будут назначены соответствующим переменным.

Разработчики PHP настоятельно рекомендуют выключать register_globals (такой режим даже введен по умолчанию во всех новых версиях) и пользоваться данными, полученными от пользователя, только обращаясь к соответствуюим массивам.

Это сделано потому, что при register_globals = on легко взломать небрежно написаный скрипт.

К примеру, функция авторизации выставляет переменную $admin=1, а если авторизации не было, то не делает ничего. В таком скрипте при register_globals=on очень легко стать админом, просто обратившись к нему script.php?admin=1

Огоромное количество сайтов было взломано таким образом.

К тому же, register_globals = off заставляет пользоваться суперглобальнми массивами ($_GET, $_POST и т.д.), что помогает избежать путаницы. ОЧЕНЬ много людей, записав некую переменную в сессию, а потом пытаясь изменить ее значение, передавая ее скрипту методом GET, долго не могли понять, почему у них ничего не работает? Поэтому

очень важно при работе с сессиями, при любых настройках (и особенно — при register_globals=on!) работать только с массивом $_SESSION, как это описано в соответствующем разделе.

Читайте также:  Установка арматуры проектное положение

То есть, register_globals=off — на самом деле не цель, а средство. Побудительный мотив для программиста писать защищенные скрипты и избегать путаницы.

Если вы хотите написать скрипт, не зависящий от настройки register_globals, и при этом защищенный — переменные надо объявлять перед использованием. На это нацелена еще одна инициатива разработчиков PHP — написание программ при уровне отображения ошибок (error_reporting) равном E_ALL, при котором об использовании необъявленных переменных выдаются предупреждения.

Именно объявление ВСЕХ переменных, используемых в скрипте и являетс гарантией от взлома. Если вы пишете программу для распространения, то гарантией ее безопасности является только объявление переменных.

Если же нет возможности переделать готовый скрипт, но его надо заставить работать при register_globals=off, то надо помнить, что во-первых, вы делаете потенциальную дыру у себя на сайте, а во-вторых, для этого можно воспользоваться функциями extract и import_request_variables

НО: Бездумное использование этих функций является таким же опасным!

Если вы хотите адаптировать старый скрипт под новые правила, то выполните приведенный код именно в таком порядке!

сначала назначаются переменные, пришедшие от юзера, а потом — предопределенные серверные, чтобы первые не могли затереть одноименные серверные.

ВАЖНО. Этот код должен вызываться как можно раньше в скрипте. ДО любого кода и присвоения переменных.

Поскольку он являет собой дыру похлеще register_globals=on!

Ведь если он будет вызываться после присвоения переменных в скрипте, то хакер с легкостью перезапишет их.

Последние версии PHP сообщают вам об этом нотайсом при использовании import_request_variables.

И то правда — три года прошло с тех пор, как введены новые правила. Пора бы уже и научиться писать скрипты правильно.

Но лучше всего пользоваться не свалеными в кучу переменными, а соответствующими массивами. Особенно, если в одном скрипте встречаются переменные из кук, из формы, из сессии — очень много путаницы от этого происходит.

2.2.3 Настроим PHP двумя способами: как модуль Апача и как CGI — бинарник

2.2.3.1 Настройка PHP, как модуля Apache:

В файл конфигурации Apache httpd.conf добавляем:

(хотя может быть и LoadModule php5_module C:/php/sapi/php5apache.dll. Зависит от Вашей версии PHP. У меня 5.0.3 и этот файл лежит, как в первом случае )

После последней директивы AddModule добавляем строку

Внутри блока добавляем строку

В строке DirectoryIndex надо прописать еще index.php:

2.2.3.2 Настройка PHP, как CGI — бинарника:

В файл конфигурации Apache httpd.conf добавляем:

Внутри блока добавляем строку:

Сразу после нее добавляем 2 строки:

Если у Вас стоит четвертая версия PHP, то вместо последней строки надо написать:

В строке DirectoryIndex надо прописать еще index.php:

Я советую Вам устанавливать PHP как модуль Apache. В противном случае, Вы лишитесь некоторых функций в PHP, например очень полезной полезной функции virtual(). Да и вообще, на мой взгляд, PHP, установленный как модуль Apache работает стабильнее и быстрее.

2.2.4 Вот и все! Мы уже настроили Apache и PHP. Теперь проверим работу. Создайте файл index.php в папке C:\www\html, а в нем напишите следующие строчки:

Теперь если Вы, написав в адресной строке браузера http://localhost/index.php, увидите страничку с информацией о версии PHP, установленной на Ваш компьютере, то значит, что все работает, связка Apache+PHP настроена правильно.

2.3 Настройка связки Apache + Perl

В принципе, в разделе «Настройка работы Apache» мы уже все настроили. Теперь остается только проверить работу. Напишем следующий простенький скрипт test-perl.cgi на Perl:

Сохраним его в папке C:\www\cgi. В адресной строке пишем

Если видите надпись «It works!», значит действительно It works ;).

2.4 Настройка работы MySQL и PHP

2.4.1 Из каталога с:\php скопируйте в C:\windows\system32 файл libmysql.dll

2.4.2 В файле php.ini раскомментируйте строку extension=php_mysql.dll

2.4.3 Проверьте, чтобы в php.ini строчка, с указанием расположения файлов — расширений выглядела так:

2.4.4 Работоспособность связки Apache+MySQL+PHP проверим следующим скриптом

Под «ваш_пароль» имеется ввиду тот пароль, который Вы указали при установке MySQL (root password)

Если Вы увидели надпись «Работает. «, значит нам с вами удалось настроить работу MySQL через PHP.

2.5 Настройка работы MySQL и Perl

Здесь нам, в принципе, ничего настраивать не надо. Для доступа к базе будем использовать модуль DBI. Для проверки работы Perl с MySQL напишем скрипт mysql_test_perl.cgi:

Хочу Вам напомнить, что после изменения любых конфигурационных файлов, надо перезапускать Apache:

2.6 Заключение ко второй части:

Ну вот Вы и научились устанавливать и настраивать джентльменский набор Web — мастера. Теперь Вы можете спокойно тестировать любые скрипты на своем домашнем компьютере.

источник

Добавить комментарий