Предположим, что потребовалось переместить директорию с веб-сервером 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», если он у вас задействован на сервере.
Вот и всё, сервер перенесён и готов к работе.