Пару лет назад в своей статье «О веб-программировании» я описывал принцип взаимодействия сервера с пользователем. Среди прочего было сказано, что для того чтобы писать скрипты и проверять их работу на домашнем компьютере, необходимо установить какой-либо язык программирования в придачу с сервером. Не откладывая надолго продолжение нашей беседы, хотелось бы рассказать, а как это собственно сделать...

Шаг 1 - Загрузка компонентов
Шаг 2 - Инсталяция
Шаг 3 - Проба

Шаг 1 - Загрузка компонентов

На время написания статьи последними стабильными версиями (бывают еще тестовые или бета-версии, они весьма ненадежны, так что смотрите что скачиваете) были:
Apache 2.2.11
PHP 5.2.8
Установка производилась на Windows Vista Business Service Pack 1 и XP (2002) Professional Service Pack 3
Эти данные важны потому что от версии к версии, увы, не всегда все одинаково; программное обеспечение имеет свойство развиваться (но и справочные материалы к нему тоже). В первую очередь нам нужен веб-сервер. Он послужит для имитации полноценного хостинга. Как я уже говорил, практически повсеместно сегодня используется Apache HTTP Server. Скачать его можно отсюда: http://httpd.apache.org/download.cgi. Вам предлагаются для скачивания несколько вариантов. Нас интересует «Win32 Binary without crypto (no mod_ssl) (MSI Installer)». Немного разъяснений:
Win32 - для семейства операционных систем Windows 32-х битных версий.
Binary - бинарный код, то есть это уже готовая программа. Антонимом является Source, что значит исходный код — только текст программы. Впрочем, если у Вас есть Visual Studio C++, то можете скачать и «исходники» и самостоятельно откомпилировать (превратить в «бинарники»), потом расскажите как Вы это сделали :).
without crypto (no mod_ssl) - SSL – это особое средство защиты WEB-соединения, которое наврядли в ближайшее время понадобится, в принципе, если есть желание и трафик, можете и версию с OpenSSL (один из вариантов в списке) скачать.
Далее нам понадобится интерпретатор (программа, обрабатывающая все то безобразие, которое мы пишем) какого-либо языка программирования. На сегодняшний день самый популярный, да и, наверное, наиболее удобный язык для веб-программирования — это PHP. Скачать можно с официального сайта: http://www.php.net/downloads.php. На данный момент параллельно распространяются две версии php: 5.3 и 5.2. Рекомендауется скачивать именно 5.2.x (то есть, где вторая цифра 2, а не 3). PHP 5.3.x имеет много особенностей при установке, в которых еще нет смысла разбираться, ибо не известно как пойдет развитие PHP дальше. Каждая из веток (то есть версий) имеет раздел «Windows Binaries», который представляет из себя довольно-таки большой список. Но в нем в основном одни модули (дополнения). На самом верху находится zip-архив, а пониже PHP Installer (инсталятор, по-русски). Zip-архив содержит множество файлов для ручной установки, Installer же, это программа, делающая все за нас, и размером при этом в 2 раза больше. Что примерно повествует документация к PHP: «В Интернете существует несколько инсталляторов «Все-в-одном», но ни один из них не разрешен php.net, так как мы верим, что ручная установка — лучший выбор, чтобы сделать Вашу систему безопасной и оптимизированной». Почему не послушать рекомендации умных людей? Итак, качаем zip-архив.

Что касается Windows XP и еще некоторых вещей — в местах, где существует разница в установке, будут помещены небольшие примечания.

Шаг 2 - Инсталяция

Устанавливать будем в той же последовательности в которой и скачивали.

Итак, Apache встречает нас симпатичным экраном приветствия. Щелкаем «Next» для продолжения. Далее предлагается лицензионное соглашение, которое, естественно, необходимо принять:

Выбираем пункт «I accept the terms in the license agreement» и переходим на следующую страницу с различной информацией о веб-сервере. Пропускаем и ее... Ах!, наконец-то что-то интересное:

Домен и имя сервера (подчеркнуты красным) — это адрес нашего будущего сайта. Для домашнего компьютера стандартом является «localhost». Email администратора можно выбрать любой, я, допустим, написал «admin@localhost» - все равно для работы почты нужен почтовый сервер (но его мы рассматривать не будем — это тема других статей). С помощью переключателя внизу окошка (между полями ввода и кнопками) указывается будет ли работать сервер для всех пользователей компьютера или только для данного. Мы выбираем первый пункт, так как в этом случае Apache запускается автоматически как Служба – что очень облегчает жизнь в дальнейшем.

На следующем экране предоставляется сделать выбор между стандартной и выборочной установкой:

Не будем прихотливыми...

И наконец, папка для установки. Если Вас не устраивает стандартная, то кликните «Change» и выберите подходящую. У меня, например, все посторонние программы находятся в C:\Programs\. В идеале название папки не должно быть более 8 символов и не должно содержать пробелы и буквы русского алфавита. В дальнейшем я буду указывать пути так, как они есть у меня на компьютере, так что внимательно следите за тем, где и что у меня установлено (и в какой версии, ибо иногда от смены версии меняется названия некоторых папок, но прочий процесс остается тем же), чтобы делать соответствующие изменения.

В конце концов можно приступить к установке — давим «Install» Если все пройдет успешно, инсталлятор Apache Вам об этом сообщит и останется нажать лишь кнопку «Finish». Сервер также должен был автоматически запуститься и добавиться в автозапуск (чтобы автоматически включаться вместе с Windows)

Запустим браузер и в адресной строке наберем: localhost. Должна загрузиться примерно такая страница (кликните по скриншоту для увеличения):

Как и написано, хоть и немножко на английском, все пока идет гладко. Двигаемся дальше. PHP.

Первым делом распаковываем куда-нибудь архив. Я выбрал по своему обыкновению папку C:\Programs\php, вы можете предпочесть что-нибудь другое, но php дает одно предостережение: желательно, чтобы путь не содержал пробелов (например, C:\Program Files\php), ибо тогда веб-сервер может отказаться работать. Итак, правой клавишей по zip-файлу → Extract All... (Или Extract Here, или еще что-то в этом роде, в зависимости от установленного архиватора) → Browse для выбора пути → Ok → Extract.

Далее нам нужно объяснить системе где находится наш php. Меня Start (Пуск) → правой клавишей по Computer (My Computer или Мой компьютер) → в выпавшем списке выбираем Properties (Свойства) → Advanced system settings → Вкладка Advanced (Дополнительно) → Environment variables (Переменные среды) → в нижнем списке (System variables (Системные переменные)) ищем пункт Path и щелкаем Edit... (Изменить) → в конце второй строки добавляем точку с запятой и указываем путь к папке с php (c:\programs\php, например; слэш и точку с запятой в конце ставить не обязательно) → и жмем Ok, пока не закроем все окна.

Что касается Windows XP... Путь проникновения к нужному нам окошку выглядит следующим образом: Start → правой клавишей на My Computer → Properties → Advanced system settings → Вкладка Advanced → Environment Variables. И далее претворяем в жизнь то, что описано выше.

ПЕРЕЗАГРУЖАЕМСЯ!

Переходим в указанную Windows'у папку (C:\Programs\php). Файл php.ini-recommended переименуем в php.ini (правой клавишей по нему → Rename (Переименовать)). Это файл конфигурации... Вместо php.ini-recommended можно использовать php.ini-dist. Второй — это стандартные настройки, но поскольку группа разработчиков подготовила для нас нечто лучшее — воспользуемся. Откройте новоиспеченный файл. Конфигурации обычно состоят из директив, их значений и комментариев. Директива это название какой-либо настройки, значение, - думаю, понятно; комментарии служат просто для пояснений; в них может быть написано все что угодно. В php.ini комментарии следуют после точки с запятой (;). Самая важная часть кода выглядит как:

директива = значение
Может такое случится, что весь файл будет представлять из себя сплошной текст чуть ли ни в одну строчку; в который влеплены еще небольшие квадратики. Не пугайтесь. Это связано с тем, что родная среда для PHP – это Linux, а в Windows и Linux символы перехода на новую строку отличаются (хоть мы этого и не видим). Если у Вас такое приключилось, выполняйте поиск как описано ниже ни на что не взирая.
Итак, найдем директиву register_globals и изменим значение с on на off. Для этого воспользуемся поиском: Edit (Правка) → Find (Найти)... → Введите «register_globals» → Find Next (Найти далее):

(кликните по скриншоту для увеличения)

Данная настройка выполнена на всех хостингах – поэтому мы её устанавливаем в off для совместимости при тестировании наших сркиптов.

Сохраняем изменения File (Файл) → Save (Сохранить). Закроем блокнот. Все. PHP установлен. Осталось немного покапаться в настройках Apache, дабы объяснить и ему, что к чему.

Добавьте в любое место файла C:\Programs\Apache2.2\conf\httpd.conf (или меню Start (Пуск) → All Programs (Все программы) → Apache HTTP Server 2.2 → Configure Apache Server → Edit the Apache httpd.conf Configuration File) три строки:
LoadModule php5_module "c:/programs/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/programs/php"
Внимание! Нужно как всегда исправить указанные мной директории на реальные для Вашей системы. И все обратные слэши (\) заменяются на /. В конце пути слэша нигде не должно стоять. Комментарии здесь следуют за символом #.

Но это еще не все!

Найдите в этом же файле директиву DocumentRoot, то есть строку, начинающуюся с этого слова (!не с «# DocumentRoot»!, без #). Значением этой директивы является путь к корневой папке (каталогу, директории) Вашего сайта. Это значит что, когда Вы наберете в браузере «http://localhost/index.php», файл index.php будет искаться в этой папке, а если «http://localhost/my_page/biography.php», то biography.php должен находиться в поддиректории my_page, которая в свою очередь — в корневом каталоге. Если Вам удобно C:/Programs/Apache2.2/htdocs, то строку можно оставить без изменений, для примера я укажу «C:/First steps». Чуть пониже найдите строку типа: <Directory "C:/Programs/Apache2.2/htdocs"> - и измените путь в ней на тот, что указали выше («C:/First steps»). Папка должна уже существовать! Apache не создаст ее за Вас!

Далее вышеописанным способом найдите директиву DirectoryIndex и добавьте в список (через пробел) index.php. Это, так называемые, индексные файлы. Если в адресной строке не указана конкретная страница (например, просто http://localhost), то в каталоге, на который ведет эта ссылка, будет поочередно искаться один из перечисленных файлов.

На этом мы пока закончим. Закроем файл, сохранив при этом сделанные изменения. В правом нижнем углу найдем значок Апача, и щелкнув по нему правой клавишей выберем Open Services. В появившемся окне нам нужно выбрать Apache2 и чуть левее нажать Restart (Перезапустить).

Если что-то не так (выскочит окошко с ошибкой), попробуйте запустить веб-сервер вручную: Start (Пуск) → All Programs (Все программы) → Apache HTTP Server 2.0 → Control Apache Server → Start. Apache в случае краха выдаст в черном окошке сообщение об ошибке. Например:

(кликните по скриншоту для увеличения)

Тогда еще раз перепроверьте попунктно все действия, проделанные совместно нами и попробуйте еще раз запустить сервер (в открытом нами окне с сервисами нажать только уже не Restart (Перезапустить), а просто Start (Запустить) (впрочем, других вариантов у Вас и не будет :)).

Шаг 3 - Проба

Самый интригующий момент. Start (Пуск) → All Programs (Все программы) → Accessorias (Стандартные) → Notepad (Блокнот). Набирите или скопируйте:

<?php
phpinfo();
?>

File (Файл) → Save as (Сохранить как)... → в графе Save as type (Тип файла) выберите All Files (Все файлы), в графе File Name (Имя файл) введите C:\First steps\index.php, где «First steps» - путь к корневой папке сайта соответственно, и жмете на клавиатуре Enter.

Теперь запускаете снова браузер и вводие знакомое localhost в адресной строке. Вашему взору должен предстать примерно следующий экран:

Этот коротенький php-код выводит множество настроек как сервера, так и самого PHP. Можете полистать, почитать - не повредит.

Но как не старайся, а у меня все же нет возможности проверить работоспособность моей писанины на всех версиях Windows с разными версиями Apache и PHP (да и еще в разных комбинациях :)). Поэтому всегда рад замечаниям и вопросам, которые прошу оставлять на форуме http://forum.postroika.ru//index.php?showforum=12.