Урок 3. Установка локального сервера Apache PHP MySQL.
Введение.
Чтобы более углубленно подойти к разработке скриптов и понять принцип их работы, необходимо установить сервер, подобный тому, что используется на хостингах, но в более упрощенной форме. Установка локального сервера потребует от вас немного внимания и примерно 30 минут времени. Причем установка сервера заключается не в том, чтобы установить apache, но и ещё правильно прикрутить обработчик скриптов, а именно php интерпретатор. Я знаю что в интернете есть куча подобных руководств, но многие руководства либо устарели, либо тупо копированы у друг друга. Зачастую даже все что там изложено – не работает. Поэтому эту статью я подготовил сам, все шаги я сопровождал скриншотами, чтобы даже новичку было достаточно понятно.
Основные достоинства установки сервера
- Возможность создать сайт на локальном компьютере, на котором Вы будете тренироваться и работать с различными функциями языка и структурой сайта.
- Гибко управлять функциями сервера, подключать и отключать нужные модули.
- Детально рассмотреть настройку httpd.conf и php.ini
- Работать с базами данных MySQL
Детали.
Для установки сервера необходимы следующие дистрибутивы:
- Apache 2.2 – официальная страница загрузки, качаем дистрибутив Win32 Binary without crypto (no mod_ssl) (MSI Installer)
- PHP5 – официальная страница, качаем версию Windows Binaries, можете архивом , а можете сразу дистрибутивом (MSI Installer)
- MySQL 5.0.51b – официальная страница загрузки, качаем дистрибутив под Windows ZIP/Setup.EXE (x86)
Установка и настройка
После того, как вы скачали все дистрибутивы, создайте на любом из ваших локальных дисков папку, пусть её имя будет server. Далее распаковываем архивы в папку server и переходим к следующему шагу.
Установка и настройка Apache 2.
Запустите дистрибутив Apache, на экране появиться следующее окно:
это окно начала установки, жмем «next».
Далее нас просят ввести информацию сервера, в первые два поля вводим значение localhost. В третьем поле нас просят указать e-mail администратора, обычно он отображается если возникает какая нибудь внутренняя ошибка сервера, поэтому для локального использования мы используем адрес почты любой, например admin@localhost:
Жмем кнопку «Next» и продолжаем подготовку к установке. Т.к. нам необходима нестандартная установка, мы выбираем тип установки «custom»:
Далее мы жмем кнопку «Change» для того чтобы поменять путь установки .
Указываем папку куда необходимо установить наш сервер, причем путь должен включать название папки пример указан на скриншоте ниже.
Жмем кнопку «Next» и продолжаем установку.
Во время установки, будут всплывать окна, ничего страшного не происходит, просто программа устанавливает службы и запускает сервер. После того как установка завершилась , обратите внимание на трей. Там должна появиться иконка розового пера со статусным значком.

Если никаких ошибок при установке не возникло, то вы можете запустить любой браузер установленный на вашем компьютере, и набрать адрес http://127.0.0.1/ , в ответ браузер отобразит следующую страницу:
Поздравляю, вы установили веб сервер. Т.к. мы хотим использовать apache в связке с PHP, нам необходимо настроить файл конфигурации httpd.conf, но этим мы займемся позже, нам ещё необходимо установить php.
Установка и настройка PHP
Для того чтобы нам установит PHP интерпретатор,нам придется пройти примерно такой же процесс, что и при установке Apache. Нажимаем на файл инсталлятора и видим окно приветствия.
Нажимаем кнопку «Next» и в следующем окне соглашаемся с лицензией, ставим галочку в «чекбоксе» и жмем «Next». Далее нас просят указать путь куда будет установлен обработчик, в нашем случае это папка D:\server\php5\
Жмем кнопку «Next» и продолжаем установку.
В следующем окне нас просят указать какой веб сервер используется на нашем компьютере, т.к. до этого был установлен Apache версии 2.2 мы ставим галочку напротив нужного.
Жмем кнопку «Next» и продолжаем установку.
В следующем окне нас просят указать путь до директории , в которой расположены конфигурационные файлы сервера, т.е. путь до директории D:\server\Apache2\conf\
Жмем кнопку «Next» и продолжаем установку.
Далее окно , в котором необходимо указать конфигурацию PHP, поэтому в подменю Extension мы включаем все, и продолжаем установку
Жмем кнопку «Next» и продолжаем установку. Ждем пока программа установит все необходимые файлы.
После этого нажимаете на кнопку «Finish», на этом этапе мы закончили с установкой обработчика php скриптов.
Установка и настройка MySQL
Нажимаем на файл установки и по традиции нас встретит окно приветствия установки. На самом деле процесс установки MySQL самый долгий =). Чтобы не делать ошибок внимательно смотрте на скриншоты и у вас все получиться.
Тип установки «Custom» , т.е. вручную.
Жмем на кнопку «Change» и указываем путь установки.
Указываем путь до нашей папки, а именно D:\server\MySQL\
После того как программа установиться, нам придется её настроить. В последнем окне нас спросят о регистрации, мы просто отказываемся (Skip sign-up) и продолжаем установку.
Жмем кнопку «finish», чтобы попасть в окно конфигурации. Выбираем Standart Configuration, жмем «next»
В следующем окне оставляем все без изменений
Указываем пароль для root’а (главный пользователь)
В следующем окне нажимаем кнопку «Execute». Если в итоге вы видите данное окно и всё прошло без ошибок, то я могу вас поздравить, вы установили MySQL.
Настройка httpd.conf
Данный файл отвечает за настройку Apache и находиться в директории conf, а точнее D:\server\Apache2\conf\. Для начала остановите сервер, кликните мышкой по значку сервера в трее, и нажмите на «Stop». Откройте этот файл конфигурации при помощи любого текстового редактора, находите следующие строчки и меняйте на следующие значения:
- найдите строчку ServerRoot , обязательно обратите внимание чтобы перед ней небыло символа #,
данный символ запрещает строку на обработку сервером, в строчке ServerRoot прописываем адрес до папки с установленным Apache, в нашем случае это строчка принимает значение ServerRoot «D:/server/Apache2″ - Найдите строчку Listen 80 , оставьте её без изменений. Данная строка говорит на каком порту будет работать наш сервер.
- Находим ServerAdmin admin@localhost , можно оставить без изменений, это e-mail, который будет выводиться на экран при возникновении ошибки на сервере.
- Находим ServerName localhost:80 , можно оставить без изменений, означает домен и порт
- Находим строчку DocumentRoot «D:/server/Apache2/htdocs» и меняем её на DocumentRoot «D:/server/www» . Эта строчка сообщает серверу путь к папке где будут храниться наши скрипты, html-страницы и т.д.
- Находим строчку <Directory «D:/server/Apache2/htdocs»> и меняем её <Directory «D:/server/www»> , далее в этом же контейнере, до закрытия тега </Directoty> Найдите строчку Deny from all и удалите её,оставьте только Allow from all.
- Далее находим строчку DirectoryIndex index.html и меняем её на DirectoryIndex index.php index.php3 index.html index.htm . Она указывает имена файлов по умолчанию, которые будут грузиться при обращении к адресу http://127.0.0.1/
- Находим строку ScriptAlias /cgi-bin/ «D:/server/Apache2/cgi-bin/», заменяем её на ScriptAlias /cgi-bin/ D:/server/www/cgi-bin.
- Опять находим контейнер <Directory «D:/server/Apache2/cgi-bin/»> и меняем его на <Directory «D:/server/www/cgi-bin/»>
- Далее в контейнере <IfModule mime_module> находим строчки AddType application/x-gzip .gz .tgz, и после них добавляем ещё 2 строчки AddType application/x-httpd-php .php
и AddType application/x-httpd-php .php3.
Настройка php.ini
Данный файл отвечает за режим работы php интерпретатора. В нем можно отключать/подключать различные модули, а также задавать/менять необходимые параметры. Перейдите в папку D:\server\php5\ и найдите файл php.ini, откройте его при помощи блокнота, и проверяйте следующие строчки. При указании путей используем WINDOWS-формат, правильное написание «\».
- находим раздел «Paths and Directories» и преходим к строчке extension_dir, если найти данную строку не удалось, то просто вставте в этом разделе следующую строку:
extension_dir =»D:\server\php5\ext» . - Далее переходим в раздел «Dynamic Extensions». Находим строку: ; Be sure to appropriately set the extension_dir directive. После неё вставляем необходимые расширения для корректной работы. Вот список необходимых расширений:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_sqlite.dll
- Находим строчку ; End: и всё что ниже находиться этой строчки должно быть удалено.
Создайте папку www в папке server, и папку cgi-bin в папке www.Теперь перезагрузите компьютер,
если все было сделано правильно, то после полной загрузки Windows появиться зеленая стрелочка в статусе сервера, если нет ,то в статусе сервера будет красная точка,а при попытке его запустить – выскочит окно с ошибкой следующего содержания
Если сервер не запускается, обязательно пересмотрите файл конфигурации httpd.conf, посмотрите чтобы все пути были указаны правильно. Обратите внимание на написание слэшей внутри файла httpd.conf. Здесь необходимо написание в UNIX-стандарте , правильно – «/».
Теперь откройте PHP Expert Editor, создайте новый файл и напишите следующий код:
1 2 3 4 5 6 | <?php echo phpinfo(); ?> |
Сохраните его в папке сервера, а именно D:\server\www с именем index.php. Откройте браузер и наберите http://127.0.0.1 или http://localhost/. Результат должен быть следующий:
Запуск и отладка
Если запуск сервера прошел успешно, то я могу вас поздравить, можно приступать к более близкому знакомству с программированием.
Для тестирования сервера можно взять пример скриптов из второго урока. Для тестирования соединения с базой данных необходимо написать следующий скрипт, вы можете просто скопировать следующий фрагмент кода в новый файл, и сохранить его в папке www, под именем mysql.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php $dblocation = "127.0.0.1"; $dbname = "test"; $dbuser = "root"; $dbpasswd = ""; //Укажите здесь пароль который вы вводили при установке MySQL $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); if (!$dbcnx) { echo " К сожалению, не доступен сервер mySQL "; exit(); } if (!@mysql_select_db($dbname,$dbcnx) ) { echo " К сожалению, не доступна база данных "; exit(); } $ver = mysql_query("SELECT VERSION()"); if(!$ver) { echo " Ошибка в запросе "; exit(); } echo mysql_result($ver, 0); ?> |
Обратитесь к нему по адресу http://localhost/mysql.php
В итоге браузер выведет версию сервера, например:
Бонус
В качестве бонуса добавлю описание установки менеджера баз данных PhpMyAdmin. Предназначен он для управления базами данных (создание/удаление/редактирование и тд).
Дистрибутив программы находиться на официальном сайте http://php-myadmin.ru/ , качайте последнюю стабильную версию, например phpMyAdmin 2.11.6. Советую качать файл all-languages.zip.
После того как скачаете, распакуйте файлы в папку phpmyadmin, и переместите её в папку www нашего сервера.
Далее скачайте config.inc.php, извлеките из архива и скопируйте его в папку phpmyadmin. Откройте его редактором, нам необходимо прописать только пароль. Найдите строчку $cfg['Servers'][$i]['password'] = ‘pass’; Здесь вы должны вместо pass вписать тот пароль, который указали при установке MySQL. Сохраните файл. Далее в браузере наберите http://localhost/phpmyadmin/. Вы должны увидеть следующую картинку:
Заключение
Вообще процедура установки сервера не сложна, сложно заставить его работать правильно. Данная связка, была благополучно установлена на Windows XP SP3, все заработало с первого раза. Продублировал процесс на Windows Vista SP1, аналогично.
Этим уроком мы ответили на вопрос – «Как установить PHP Apache и MySQL». Тепер у нас есть полноценный локальный веб сервер и всё необходимое для организации дальнейшей работы.
P.S. Не забудьте добавить страницу в закладки =)
Ссылки
http://php.ru/ - официальный сайт разработчиков PHP.
http://httpd.apache.org/ – сайт проекта Apache
http://dev.mysql.com/ – Developer Zone проекта MySQL
+http://www.softtime.ru
UPD
Выкладываю файлы httpd.conf и php.ini, на которых работает мой веб-сервер. Если все сделали по руководству, и если рабочие папки совпадают, то все должно заработать.
Подпишись на RSS, впереди много интересного.

























Март 4th, 2009 at 10:09
Это надо искать на официальном сайте php.net , просто у вас я так понял стоит MySQL 6 версии, а в дистрибутиве php – 5
Март 4th, 2009 at 02:27
неправильно скопироволось выше, добавляю этот код:
2
3
4
5
6
7
8
<VirtualHost projects>
ServerAdmin webmaster@localhost
ServerName projects
DocumentRoot "d:/server/project/www"
ErrorLog d:/server/project/error.log
CustomLog d:/server/project/access.log common
</VirtualHost>
Март 4th, 2009 at 02:24
Установилось все замечательно (на Висту), работает только один сайт, который кладу в www. Для подключения нескольких виртуальных хостов дописываю в httpd.conf секции по числу хостов вида:
NameVirtualHost 127.0.0.1
#—-projects
ServerAdmin webmaster@localhost
ServerName projects
DocumentRoot «d:/server/project/www»
ErrorLog d:/server/project/error.log
CustomLog d:/server/project/access.log common
Затем дописываю в файл hosts
127.0.0.1 project
127.0.0.1 sait1
127.0.0.1 sait2
После этого приобращении к любому из этих сайтов получаю 403 ошибку, а, вроде, все верно делаю.
Март 3rd, 2009 at 23:26
не «не появилась» а «но появилась» сорри опечатка.
Март 3rd, 2009 at 23:24
Здравствуйте Александр. Спасибо, всё получилось конечно не с первого раза пришлось переустанавливать. Там у вас в статье «Находим строку ScriptAlias /cgi-bin/ “D:/server/Apache2/cgi-bin/”, заменяем её на ScriptAlias /cgi-bin/ D:/server/www/cgi-bin.» Там вроде кавычек не хватает, У Вас в файле они кстати есть. Но у меня вопрос не в этом. Когда я установил файл: config.inc.php в папку: phpmyadmin и внес там пароль, у меня всё заработало не появилось внизу сообщение: «Версия клиентской библиотеки MySQL (5.0.51a) отличается от версии установленного MySQL-сервера (6.0.9). Это может привести к некорректной работе.» Так вот не подскажете где взять файл: config.inc.php для моей версии, или может там не в файле дело?
Февраль 28th, 2009 at 03:10
Спасибо, информация была полезной! все получилось, но не с первого раза)))
Февраль 27th, 2009 at 13:22
Опа, верно, папку обозвал на русском, вот и не работало. Спасибо.
Февраль 27th, 2009 at 13:19
Какие пути? вот что есть, выдало
Февраль 27th, 2009 at 12:54
Интересные какие то пути у вас. Они случаем не на русском языке?
Февраль 27th, 2009 at 03:34
Доброго времени. Никак не могу запустить апача, дает ошибку, при установке дало httpd.exe: Syntax error on line 35 of D:/\xd1\x81\xd0\………\x80/Apache2.2/conf/httpd.conf:ServerRoot must be a valid direktory/
Вамп тоже не работает ( апача не запускается)