Установка локального сервера (в картинках)
Apache, PHP, MySQL, phpMyAdmin - под Windows XP
Если вам нужно просто установить локальный сервер с минимальными временными затратами, то можете попробовать Денвер, но данная статья предназначена для тех кто хочет установить на своем компьютере оригинальные Apache, PHP и MySQL.
Здесь приведен софт, необходимый для установки локального сервера в Windows, и некоторые инструкции, которые могут пригодиться во время такой установки. В пакет server_soft_2008.zip включены следующие версии программ:
- Apache 2.0.59 (for Win32)
- PHP 5.2.4 (for Win32)
- MySQL 5041
- phpMyAdmin 2.11.5
Данные программы я устанавливал неоднократно на нескольких машинах, на которых сам работал, и на компьютерах моих знакомых, которым нужно использовать веб-технологии. Учтите что эти версии программ скачаны в начале 2008 года, и я думаю будут более-менее актуальны еще в течении года. Если хотите установить более новые версии каких-либо программ - “гугл в помощь”, но тогда я не ручаюсь за точность приведенных инструкций (хотя принципы установки для более новых версий все равно останутся те-же).

При установке данных программ, я руководствовался следующими принципами: выбирал из предлагаемых вариантов наиболее простые (т.е. если предлагают “Expert mode” и “Default” - я выбираю “Default”, т.е. там, где меньше настроек). Этого с лихвой хватает для целей типа “погонять скрипты на домашнем компьютере”.
Установка Apache




После завершения установки Apache, несколько раз появится и исчезнет черное окно DOS. Если они исчезли - значит все в порядке.



В папочку mysql я обычно ложу файлы phpMyAdmin, а потом запускаю его набирая в адресной строке браузера “localhost/mysql”.
Установка PHP 5

Впринципе директорию установки PHP можно выбрать любую, но я оставил ее по-умолчанию для уменьшения потенциально возможных связанных с этим проблем.
Дальше нужно указать версию Apache, который установлен на вашем локальном сервере. В нашем случае версия Apache - 2.0.59.

Указываем папку, в которой лежат конфигурационные файлы апача. Если вы не меняли директорию установки апача, то папка будет по этому адресу:

Обязательные библиотеки:
- MySQL - устаревшая, но все еще используемая библиотека взаимодействия с MySQL средствами PHP
- MySQLi - новая библиотека взаимодействия с MySQL (MySQL impruved)
- SQLite - библиотека для взаимодействия с SQLite - маленькой, легкой и быстрой базой данных
Дополнительные библиотеки:
- XSL - для работы с XSL-документами
- Multi-Byte String - работа с многобайтными кодировками (unicode)
- GD2 - библиотека для генерации и обработки изображений
- domxml - библиотека для работы с DOM средствами PHP
- EXIF - библиотека для обработки технической информаци в снимках с цифровых фотоаппаратах
- SOAP - библиотека сервиса передачи данных через интернет (Microsoft)
- XML-RPC - предок SOAP (http://ru.wikipedia.org/wiki/XML-RPC)
- Extras - PEAR Install - библиотека готовых скриптов
Далее следует часть моего файла php.ini (список библиотек, которые я выбрал при установке PHP):
[PHP_GD2]
extension=php_gd2.dll
[PHP_MBSTRING] (Multi Byte String)
extension=php_mbstring.dll
[PHP_MIME_MAGIC]
extension=php_mime_magic.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_PDO]
extension=php_pdo.dll
[PHP_SOAP]
extension=php_soap.dll
[PHP_SQLITE]
extension=php_sqlite.dll
[PHP_XMLRPC]
extension=php_xmlrpc.dll
[PHP_XSL]
extension=php_xsl.dll
Конфигурационный файл PHP лежит здесь: C:\Program Files\PHP\php.ini
Установка MySQL
Выбираем вариант с наименьшим количеством настроек:

Если вы хотите сразуже сконфигурировать ваш MySQL, поставьте флажок в данном чекбоксе, и запустится утилита конфигурирования MySQL:

Выбираем вариант с наименьшим количеством настроек:

Название сервиса можете писать любое, но я предпочитаю MySQL5:

Далее следует ввести пароль суперадминистратора (root). Так как phpMyAdmin в моем наборе программ настроен на пароль “secret”, рекомендую его и использовать. Обратите особенное внимание на раскладку и величину букв, которые вы туда вводите. Если не можете понять, что набирается в поле для паролей - напишите его в блокноте, и скопировав вставьте в эти поля.


Далее следует разрешить порт в брандмауэре windows, и нажать кнопку Execute.
После добавления порта, список программ и служб брандмауэра будет выглядеть так:

Если создание и запуск новой системной службы MYSQL5 прошел успешно, вы увидите следующее:

Но чаще всего возникают нижеследующие ошибки.
Такая ошибка возникает, если не прописать в брандмауэре необходимый порт:



Все это дело лечится довольно легко. Во-первых нужно перезагрузить компьютер, и если это необходимо повторно запустить утилиту конфигурирования СУБД MySQL, (см. следующую картинку):

Так выглядят файлы phpMyAdmin и главный файл, который следует запускать, если в конфигурационном файле PHP не прописан тип индексных файлов index.php.


Сравнение одной и той-же папки с точки зрения локального сервера, и с точки зрения файловой системы компьютера. В обоих окнах открыта одна и та-же папка (порядок папок и файлов может отличаться из-за различий сортировки)

Здесь привожу небольшой конспект моментов, на которые следует обратить внимание при установке пакета программ, необходимых для работы локального сервера (этот список не полный):
- номер порта в конфигурационном файле PHPMYADMIN (my.ini)
- пароль пользователя “root” при установке СУБД MySQL - обязательно латиницей
- брандмауер windows - разрешить программы mysql.exe, mysqld.exe и порт
- установить в PHP библиотеки mysql.dll, mysqli.dll, sqlite.dll
- php.ini - включить отображение ошибок. строка: display_errors = on
Надеюсь эти скрины как-то помогут.
Если появятся вопросы, или заметите неточность - пишите в комментах.
Во время написания некоторых частей данного поста я ориентировался на информацию в книге Бенкен Елены Сергеевны PHP, MySQL, XML. Программирование для Интернета (Озон, Болеро)


19/05/2008 в 2:09 дп
Очень спорно, но есть о чём подумать
19/05/2008 в 11:16 пп
А Денвер не катит? С ним помоему всё проще
16/06/2008 в 11:20 пп
to Макс: я согласен что изложение может оказаться однобоким и в некоторых моментах неподробным, но я старался сделать наглядно для того чтобы было легче разобраться начинающим - куда жать, что запускать, куда что писать…
to pervertz: денвер - прекрасная весчь. Сам с него начал и всем рекомендую, но выбор определяется целями. Для выполнения задачи типа “погонять ПХП-скрипт” на локальной машине без амбиций - то да, Денвер рулит, а если нужно разобраться как устанавливается и конфигурируется настоящий апач с пхп и мускулом - то для этого и сделаны данные скрины.
На серверах в интернете ведь не Денвер…
18/06/2008 в 11:23 пп
Прекрасная статья, мне о4ень пригодилась… до этого пробовал по другим статьям, не как( т.к. старые были.. хотя делается всё по аналогии.. ну серавно с этой статьи у меня всё полу4илось с первого раза) Спасибо*
25/06/2008 в 2:14 дп
у меня не заработало……
28/06/2008 в 5:59 дп
apache и php ставятся без проблем! Все библиотеки подключаю… а вот MySql виснет на той чертовой ошибке 1045.
Че я только ни делал! Ниче не помогает!
Здесь столько скринов этой ошибке посвящено, а из действий - только перезагрузка?
Брандмауэр я вырубил вообще, файрвол тоже отключил, толку - 0.
ЧТО ДЕЛАТЬ?
8/07/2008 в 3:40 дп
petrovnn
“На серверах в интернете ведь не Денвер… ”
ну на серверах в интернете и не Windows XP
29/07/2008 в 3:51 дп
А под Висту установлю? История: скачал оригиналы, пробовал устанавливать - не могу победить…
30/07/2008 в 11:32 пп
Я денвером пользуюсь и всё ок!
27/08/2008 в 9:23 дп
Блин ёмаё !!
всё сделал как надо, даже лучшще!
но вот когда я написал скрипт
<?php
print “Current PHP version: “. phpversion() .”
<$link = mysql_connect(”localhost”, “root”,”password”) or die(”Could not connect”);
if( !$link ) die( mysql_error() );
$db_list = mysql_list_dbs($link);
while ($row = mysql_fetch_object($db_list))
{
echo “Database \”".$row->Database.”\”\n”;
$result = mysql_list_tables($row->Database);
if(!$result) die( “DB Error, could not list tables\n MySQL Error: “.mysql_error() );
else {
while ($row = mysql_fetch_row($result))
print “Table: $row[0]”;
mysql_free_result($result);
}
}
?>
то по идее должно отобразить базу данных мускуля, а отображет какую т херь… типа:
Current PHP version: 5.2.1
Fatal error: Call to undefined function mysql_connect() in C:\server\Apache2\htdocs\test\index2.php on line 7
типа ошибка.
не в курсе в чём может быть дело????
14/09/2008 в 8:26 пп
меня интересует тоже самое НО под ASPLinux 12 карбон в установочном дистрибутиве все есть все пакеты
но я хз как это все увязать под апачь во всех найденых мной руководствах идет установка из исходников
а у меня уже все установлено из рпм пакетов и как это все заставить работать вместе на локальной машине
просто чтобы научиться правлять джумлой не закидывая все на хостинг так как проблемы с инетом я через (gprs) так же ставить все под винду это надо качать ((( и просто под винду не интересно как хадварщик пральна сказал в инете апач не под хр стоит ))) скорее под фрибсдой 7.
очень надеюсь на ваш ответ
с уважением заранее спасибо !!
29/09/2008 в 11:27 пп
За руководство спасибо, только у меня Apache 2.2 все равно не пашет. Может, это потому, что я в локалке?