Много раз сталкивался с проблемой когда Apache не запускался на Denwer`е. Перед тем как загружать наш сайт на хостинг мы его тестировали и наполняли контентом используя Джентльменский набор Denwer. Но чаще всего мы боролись с проблемой при которой Apache не хотел работать, при попытке запустить денвер, запускался эмулятор SMTP-сервера и сам Apache, но спустя 2-3 секунды Apache попросту отключался. Мы давно хотели выложить эту статью в которой мы собрали различные варианты решения этой проблемы, но все никак руки не доходили :-).
Для начала разберемся почему Apache так яростно не хочет иногда запускаться, все дело в том что денвер по умолчанию работает используя порт 80. И запуститься он не может потому что другая программа или служба установленная на Вашем компьютере уже заняла этот порт. Как узнать какая программа и какой порт занимает, читайте в этой статье — Как определить какой порт занимает программа? В этой статье мы напишем про те самые программы и службы которые мешают денверу.
Самое банальное это то что порт может занять Skype. Про это написано уже много статей да и в документации тоже написано что нужно проверить настройки скайпа. Ничего сложного в этом нет, все просто:
- Запускаете Skype
- Открываете Инструменты и выбираете Настройки…
- В появившемся окне переходите к разделу Дополнительно и щелкаете по нему, после того как откроется список, выберите Соединение
- В правой части окна находите строку «Использовать порты 80 и 443 в качестве альтернативных» и снимаете галочку напротив этой надписи.
С помощью этой не хитрой настройки Вы можете освободить 80 порт для денвера. Это в том случае если у Вас Skype установлен.
Вторым проказником который занимает порт 80 так это программа TeamViewer. Для того чтобы Team viewer не занимала порт 80 необходимо проделать следующие действия:
- Открываете TeamViewer и открываете настройки нажав на Опции во вкладке Дополнительно
- В открывшемся окне откройте раздел Дополнительно и в правой части экрана щелкните на кнопку Показать дополнительные параметры
- Далее прокручиваете список ниже, находите строку «Не использовать входящий порт 80» и снимаете галочку напротив данной надписи.
Жмете Ок и закрываете программу.
Теперь перейдем к Компонентам Windows которые также могут быть причиной проблемы. Компонент Службы IIS может захватить 80-й порт и чтобы этого избежать попросту отключим данный компонент.
Для этого необходимо:
- Открыть Пуск→Панель управления→Программы→Программы и компоненты
- В левой части экрана нажать на Включение или отключение компонентов Windows
- В появившемся окне найти и снять галочку напротив надписи Службы IIS
- И перезагрузить компьютер
После действий описанных выше компонент отключится и перестанет занимать нужный нам порт.
Теперь перейдем к Службам Windows из-за которых чаще всего и возникает данная проблема.
Ниже мы представим список тех служб которые занимают 80-й порт. Для того чтобы открыть список служб можно воспользоваться одним из двух путей:
- Щелкнув по значку Компьютер правой кнопкой мыши выберите в контекстном меню Управление. В появившемся окне раскройте список Службы и приложения и выберите Службы.
- Или открыть службы можно пойдя другим путем. Откройте Пуск→Панель управления→Система и безопасность→Администрирование и в открывшемся окне дважды щелкните по ярлыку Службы.
После того как Вы открыли список Служб Windows можно начать отключать некоторые из них. Выбрав в списке в правой части экрана ту службу которую необходимо остановить и щелкните по надписи Остановить службу в левой части окна.
А теперь собственно и сам список тех служб которые можно отключить дабы они не занимали драгоценный 80-й порт:
- Службы удаленного управления или по другому — Windows Remote Management
- Служба агента веб-развертывания или Web Deployment Agent Service
- Службы отчетов SQL Server, он же Sql server reporting services(MSSQLSERVER) или по другому Cлужбы Reporting Services (SSRS)
- Служба веб-публикаций
- ENI server (служба появляется после установки CoDeSys)
- VMware Workstation Server (вместе с данной службой можно отключить и VMware DHCP Service, VMware NAT Service, VMware Authorization Service, VMware USB Arbitration Service)
- Телефония
После того как службы будут отключены попробуйте запустить денвер. Apache должен будет запуститься без проблем.
В случае если проблема не решилась стоит попробовать закрыть некоторые приложения которые могут также занимать 80-й порт. А точнее убить процессы или просто выйти из следующих программ:
- DropBox
- Java
- Dragon (Comodo)
- Agnitum Outpost Firewall Pro (фаервол может блокировать порты)
Ну вот с приложениями, службам и компонентами разобрались. Теперь рассмотрим другие возможные причины почему не запускается апач на денвере.
Встречается и такая проблема — после того как денвер запущен и в трее виден значок сервера Apache что он работает, при попытке зайти к примеру в localhost через браузер FireFox, апач сразу же закрывается. Это означает что одно из расширений в браузере занимает 80-й порт. Для решения проблемы необходимо отключить расширения и перезапустить Denwer.
Также стоит попробовать отключить Брандмауэр Windows, возможно он блокирует нужный порт.
Есть еще один способ который возможно кому-нибудь и пригодится. Нужно будет лезть в реестр.
Теперь перейдем к действиям:
- Открываете редактор реестра.
- И переходите к ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
- Далее нужно создать параметр типа DWORD, присвоить имя NoRun и указать значение 1.
4. В этой же самой ветке находите параметр Start и изменяете значение на 0.
После проделанных действий закрываете редактор реестра, перезагружаете компьютер и пробуете запустить денвер.
Но если после всех попыток результата нет, то стоит задуматься о «перевешивании» денвера на другой порт, прочесть об этом можно в статье — Как изменить порт в Denwer`е?.
Ну вот и подошла статья к концу. Надеемся что информация окажется полезной.
Ребята, спасибо вам огромное .. очень долго не мог справиться с этой проблемой, но ваша статья — это золото!!!
З.Ы.:Мегареспект!!!)
Всегда пожалуйста! Мы рады что наши статьи помогают людям.
Всем добрый вечер. В чем может быть проблема, все установил, при запуске сервера, в рее появляется только ярлык со шляпой и письмом….ярлыка с «пером нет»…и соответсвенно на localhost не заходит…в чем может проблема, че сервер не запускается
Здравствуйте! Скорее всего порт 80 который использует «денвер» занят другой программой. Например: Skype, TeamViewer, VMware. Освободите 80-й порт и тогда Apache запустится.
Спасибо огромное!!
Рады помочь!)
Спасибо огромное. Два дня промучался. Первая толковая статья.
всегда пожалуйста мистер!))
Все переделал. так и не помогло!!!((( уже не знаю что делать. Изменил порт в Денвере — ничего. В Avast добавил процесс Z:/usr/local/apache/bin/httpd.exe в список исключений — ничего. Даже windows8.1, версия 6.3(сборка 9600) 2013г переустановил. Skype, TeamViewer, DropBox, Java, Dragon (Comodo), Agnitum Outpost Firewall Pro – программ нет,службы удаленного управления только нашел,а вот служба агента веб-развертывания, службы отчетов SQL Server, служба веб-публикаций, ENI server (служба появляется после установки CoDeSys), VMware Workstation Server, телефония – нет таких служб. Значит буду с др. ноута делать сайт. Но все равно спс парни за Ваш труд. Удачи!!!
Доброго времени суток Виталий!
Давайте не будем сдаваться так рано и все таки разберемся с этой проблемой!
Для начала ответьте работал ли денвер ранее на данной сборке Windows?
И проверьте пожалуйста, какие программы используют порты 80 и 443. Вот статья — Как определить какой порт занимает программа?
В случае если не разберетесь или денвер так и не заработает корректно, отпишите нам на почту с помощью обратной связи Обратная связь
Вот еще — порты 80 и 443 свободны!!!
Я создавал сайт на Windows 10, Windows полетел (не понравился, если честно), переустановил на Windows8.1, до этого на этой сборке не работал. уже 4 года занимаюсь сайтами и никогда с этой проблемой не сталкивался.Командная строка показала, что порты 80 и 443 свободны. С помощью Process Hacker посмотрел занимаемые порты — local port 80 и 443 свободны, а remote port 80 и 443 заняты Opera.exe(1128) Established и AvastSvc.exe (1428) Established, avast! Antivirus.
Про сборку я спросил потому что, когда пытался поставить «денвер» на работе, он ни в какую не хотел запускаться, именно сам апач, что я только не пытался сделать, какие статьи я не читал и какие только советы не пробовал, ничего не помогало, позднее выяснилось что на этой сборке и локальная сеть не работает и интернет периодически пропадает, хотя на предыдущей системе все работало на отлично. Поставил другую и вуаля все «фурычит» как надо. Возможно вы настроили все верно и проделали все действия тоже верно, но проблема может крыться именно в самой сборке Windows. Как вариант попробуйте воспользоваться серверной платформой «Open Server». Если дело все таки в сборке то данная платформа врядли зарботает корректно, лучшим решением будет найти и установить сборку получше. На «глаз» точно сказать сложно.
Владимир спасибо большое-заработало, был бы рядом Виски с баней с меня были бы. Есть еще одна проблема. Сайт восстановить не могу. Резервную копию базы не делал. На съемном диске весь сайт с базой есть, а запустить не могу. Может кто подскажет что делать? Или придется заново все делать?
=) Здорово, спасибо)
Скажите, у Вас на съемном диске весь сайт с базой, имеется в виду с «денвером»? Или как?
База в каком виде? SQL или только дампы?
Спасибо за все Владимир. Восстановил сайт. все хорошо. До 5 часов утра сидел, но победил его, от радости потолок 5й точкой доставал)). Еще раз спасибо.
Не за что Виталий! Главное что все работает!))
Если будет возможность, уделите немного времени опишите как победили проблему, другим будет полезно узнать что и как!)
На старом ноутбуке запустил денвер. Просто полностью скопировал со старого винчестера на ноутбук папку «WebServers». создал резервную копию с помощью «akeeba backup». Дальше дело техники, в чем помог «kickstart». И вуаля, все работает!
Спасибо Виталий! Будет дополнением к статье!)
Ребята РЕСПЕКТОС вам!!! Выручили!
правда загвоздка была в новой версии тимвивера (нет там такого пунка) так что я решил радикально проблему, снес нафиг :) так как денвер сейчас у меня в приоритете!
Палец верх! и вам удачи ;)
Спасибо! И вам удачи с разработками) Рады что помогли!)
Спасибище огроменное за все варианты, а то всю сеть перелопатил, ничего подходящего. Один раз помогло конечно такое: в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP установил значение Start = 4 , а не как у Вас в примере. Но потом опять началось, может из-за установок Adoba, не знаю. Короче, сейчас мне помогло отключение служб VmWare ну и на всякий случай Adob Update тоже выключил.
«Один раз помогло конечно такое: в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP установил значение Start = 4»
Дополню в статью!)
Ребзя, короче… Правка реестра в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP приводит к отключению диспетчера печати, так как он зависит от службы http. так что я потом 2 дня искал проблему, почему у меня принтер не установлен и неустанавливается. Чуть монитор не вырезал.
Диспетчер печати? В смысле перестал печатать принтер? Он по сети подключен?
Если способы из статьи не помогают, попробуйте изменить порт — Как изменить порт в Denwer`e?
У меня VMWare мешал. CПС!!!
Всегда пожалуйста!)
служба веб-публикаций кровь пила…
спасибо!
Реально помогло только редактирование реестра. Благодарю, а то везде писали «порт освободи». Да свободно все было, спасибо!
Рад что помог, успехов в работе :)
Как Вы видите программы пакета Денвер занимают порты: 25, 80, 443, 3306 для ip 127.0.0. 1 и 443, 8648 для ip 127.0.0. 2 . Но возможно увидите другие программы, которые указанные порты занимают, если это так, тогда убейте эти программы и Денвер должен подняться.
Добрый день.
Может это тот самый редкий случай, но лишь фокус с реестром помог победить эту беду.
Спасибо автору статьи.