Web сервер на Windows
Поставить web сервер на винду дома может понадобиться в разных случаях. Например Вы захотели устроить дома импровизированный Дата Центр. Мало вероятно, но возможно. Правда, личто я бы доверил такой сервер UNIX-системе.
Или же Вам понадобился сервер для разработки чего-либо.
Чтож, в этой статье я опишу процесс установки связки Apache + PHP + MySQL
Приготовления
Чтобы что-то установить, необходимо сначало скачать это что-то. Приступим.
- Apache версии 2.2 с поддержкой шифрования я возьму здесь. Win32 Binary including OpenSSL 0.9.8i (MSI Installer)
- PHP версии 5.2.9 возьмём здесь. Windows Binaries Installer
- MySQL версии 5.1.35 взяли тут. Windows Essentials (x86)
Вроде больше ничего нам не нужно.
Установка Apache HTTP Server
Как всегда, первыми окнами визарда установки видим приветствие оного визарда и лицензионное соглашение…
Далее идёт страница настройки домена, сервера, и адреса электронной почты администратора.
Для «домашнего» использования логично вписать доменное имя и имя сервера как localhost. Адрес почты администратора — как хотите, я указал свой
Также предлогается выбрать режим работы сервера и порт для подключения: для всех пользователей (с 80-ым портом) и добавлением в системные службы (с автоматическим запуском при загрузке системы) или только для текущего пользователя (с 8080-ым портом) и ручным запуском.

Apache HTTP Server: имя домена и сервера, адрес админа
Далее предлогается выбрать тип устоновки: полный или пользовательский (собственно, ничего интерестного. Я взял пользовательскую устновку только чтобы выкинуть оттуда документацию).
Если брать пользовательскую установку, то менять адрес установки надо на странице с выбором компонентов. Для полной установки — появится отдельная страничка визарда.
Мне удобно чтобы всё было в одном месте. Для этого я установил адрес установки Apache C:\Web-Server\Apache2.2\
Всё, теперь далее, далее, далее… и готово. После установщик сам запустит сервер.
Проверить его работу можно, введя в адресной строке браузера localhost. Если всё хорошо — увидем надпись «It works!»
Также, в трее появился значёк приложения «Apache Service Monitor». С его помощью можно управлять сервером: запускать, останавливать, перезапускать и др.

Apache Service Monitor: иконка в трее.

Apache Service Monitor: окно приложения.
Файл конфигурации находится по адресу path\to\Apache2.2\conf\httpd.conf, где path\to\Apache2.2 — папка Apache.
Если хотите хранить файлы сервера (скрипты движков и т. д.) в другом месте, то нужно изменить значение переменной DocumentRoot, указав полный новый адрес.
Установка PHP5
Перед установкой PHP5 следует остановить сервис Apache, что можно сделать через уже знакомый Apache Service Monitor.
Установщик PHP5 также, как и установщик Apache, приветсвует нас, показывает лицензионное соглашение с просьбой принять его и даёт возможность изменить папку установки (я отправил его в C:\Web-Server\PHP5).
Следующая страничка визорда — страничка выбора модуля для спаривания PHP5 с web-сервером. Поскольку устанавливали Apache версии 2.2, то выбираем соответствующий модуль: Apache 2.2.x Module.

Установка PHP5: выбор модуля для web-сервера.
Далее — просят ввести адрес до файла конфигурации Apache (чтобы установщик сам спарил их). Вводим что-то типа path\to\Apache2.2\conf\, где, естественно, path\to\Apache2.2 — папка Apache.

Установка PHP5: выбор адреса папки конфигурации Apache.
Далее — самое нужное: выбор конмпонентов установки. Тут, наверно стоит отметить, что надо выбрать модуль расширения для MySQL. Остальные — что необходимо.

Установка PHP5: выбор дополнительных модулей.
Всё, далее… готово!
Установщий PHP5 вписал в файл конфигурации Apache информацию, что PHP5 тоже имеет место быть. Найти эти строки можно в самом конце файла. Увидите что-то типа:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Web-Server/PHP5/"
LoadModule php5_module "C:/Web-Server/PHP5/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
Теперь надо добавить index.php в файл конфигурации Apache в секции IfModule dir_module чтобы файлы index.php считались «главными» в папке и их результат выдавался при обращении к папке. Извените за мой французский. (чтобы при обращении к, скажем, http://localhost/anywhere/ выдовался результат выполнения index.php, размещённого в этом каталоге, а не список файлов и папок этого каталога)
Перезапускаем Apache.
Если что — файл конфигурации PHP5 находится в корне папки и имеет имя php.ini.
Теперь наверно стоит проверить, а работает ли PHP? Для этого нужно выполнить какой-нибудь php’шный скрипт. Например — php info. Создадим файл info.php в каталоге документов сайта (по умолчанию, если не меняли, — это path\to\Apache2.2\htdocs\) с 1 строкой содержимого:
<?php phpinfo(); ?>
Не забудем запустить сервер Apache.
Теперь попытаемся выполнить наш скрипт info.php, перейдя в браузере по адресу http://localhost/info.php. Тут очевидно работает PHP или нет
Установка MySQL 5.1
Установщик приветствует, но лицензию не показывает
Сдесь сразу предлогают выбрать тип установки: полная, совсем полная (вообще всё, что впихнули в инсталлер) или пользовательская. Выбиру пользовательскую, чтобы иметь шанс изменить адрес устновки.
Самое интерестное — можно выбрать папку, в которой будут храниться сами базы данных
Главное — не прошляпить этот момен. На странице выбора компонентов надо ткнуть MySQL Server Datafiles и тогда в нижней части окна появится возможность изменить адрес файлов баз. Для выбора адреса установки самого сервера — ткнуть в MySQL Server.

Установка MySQL: выбор директории файлов БД.
Теперь далее.. готово. Теперь установщик что-то рекламирует. Жмём опять далее и видим другие параметры конфигурации. Он предлогает настроить сервер сейчас и добавить его в системные службы. Не вижу причин ему мешать, ок :)
Давайте детльную настройку… Визард предлогает выполнить настройку сервера под разные нужды: для разработчика, для сервера (как домашний Дата Центр) и для выделенного сервера (имеется ввиду, что на этой машине больше никто и ничего делать не будет. Будет только этот сервер баз данных, что позволит ему захавать все имеющиеся ресурсы компьютера. При неодходимости, естественно). Здесь выбор за вами.

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

Настройка MySQL: выбор движка БД.
Теперь надо сделать ещё немного настроек, в том чиле установить максимальное количество активных запросов на сервер БД, настройки кодировок, настройка запуска сервера (автоматически запускаться с системой или нет) и наверно самое главное: ввести пароль пользователя root базы данных! Всё, Execute! Теперь установщик настроет и запустит сервер.
Для правильного «спаривания» PHP и MySQL необходимо скопировать библиотеку libmysql.dll из каталога PHP в папку C:\WINDOWS.
Перезапускаем Apache.
Для проверки работы сервера Баз Данных нужно создать проверочный скрипт с таким содержимым:
<?php
$dblocation = "127.0.0.1";
$dbname = "test";
$dbuser = "root";
$dbpasswd = "< ваш_пароль_пользователя_root>";$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);
?>
Вроде теперь всё. Пользуйтесь на здоровье
> скопировать библиотеку libmysql.dll из каталога PHP в папку C:\WINDOWS.
Хоть бы написал «в каталог %systemroot%» %)
А вообще самый разумный способ (ИМХО) — не плодить копии, а добавлять нужные каталоги с DLL-ками в переменную окружения PATH.
@WST
Лично у меня в %PATH% и так бардак. У меня там стоит полное снаряжение для Qt