Как переместить директорию Apache на ОС Windows

Предположим, что потребовалось переместить директорию с веб-сервером Apache в другое место, напр., на другой локальный диск. Многие подумают: «Что за глупости? С чего это вдруг мне в голову должна придти мысль о внезапном перемещении директории с программой?». Есть множество программ, которые не сильно зависимы от окружения ОС. Такие программы не сильно привязаны к реестру ОС Windows, они переносные и их можно использовать без установки. Практически у всех программ есть такие переносимые версии называемые «портативными» (portable). Многие программы, несмотря на наличие инсталлятора, по сути такими и являются, даже будучи установленными по всем канонам ОС Windows.

Веб-сервер Apache относится именно к таким переносным программам. Есть смысл хранить такие программы в отдельной директории на другом жёстком диске, т.е. не на диске C в директории «Program Files». Зачем это надо? Да всё просто! Этим программам безразлично окружение, они работают практически в любых условиях. Зачем переустанавливать эти программы вместе с очередной переустановкой ОС? Такие экземпляры можно хранить отдельно, они спокойно переживают конец света переустановку ОС, и работают как ни в чём не бывало после некоторых незначительных настроек, в то время как многие другие программы надо ставить заново на новую ОС, что у многих регулярно слетает.

Алгоритм действий по переносу

Ситуацию с переносом программной директории в другое место пояснил. Как же перенести директорию веб-сервера в другое место? Нужно изменить пути в конфигурационных файлах программы и службы.

Служба программы в ОС

Изменение существующей службы

Нужно переписать путь исполняемого файла службы Apache. Служба обращается к конкретному исполняемому файлу, ей обязательно нужно знать новое местоположение исполняемого файла веб-сервера. Идём в следующую ветку реестра ОС Windows: «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services». Здесь, в списке служб, ищем название нужной службы, в данном случае это «Apache», и выбираем её. В окне редактора реестра Windows ищем параметр «ImagePath», нажимаем на него и в контекстном меню жмём пункт «Изменить», открывается новое окно, в нём, в строке «Значение» вставляем новый путь к исполняемому файлу. Служба готова к работе!

Создание новой службы

Если по каким-либо причинам не хочется изменять настройки имеющейся службы Apache, то её можно удалить, чтобы создать новую. Удалить и создать службу можно как средствами самого Apache, так и средствами ОС.

Удалить службу Apache:

httpd -k uninstall

или

sc delete "Apache"

Когда старой службы Apache нет, можно создать новую:

httpd -k install

или

sc create "Apache" binPath= "D:/Apache" "-k runservice"

Сделанные изменения можно узреть в свойствах службы выбрав её здесь: Пуск ⇒ Панель управления ⇒ Администрирование ⇒ Службы ⇒ Apache.

Файлы конфигурации программы

Теперь осталось поменять пути в конфигурационных файлах самого веб-сервера. Открываем файл «httpd.conf», и средствами текстового редактора заменяем все старые значения адресов на новые. Там достаточно много, описывать не буду, всё делается легко и быстро в автоматическом режиме поиска и замены. Так же не забудьте поменять пути в файле виртуальных хостов «httpd-vhosts.conf», и в файле конфигурации PHP — «php.ini», если он у вас задействован на сервере.

Вот и всё, сервер перенесён и готов к работе.