пятница, 14 января 2011 г.

Почему Apache не запускается под Windows 7

В тексте ниже мой опыт установки сервера Apache под Windows 7 и решения проблем, связанных с его запуском.

Сначала накипевшее: разработчики Skype - самые гомосястые гомосеки. Почему - узнаешь ниже.

Установка Apache под Windows 7

Итак, мне понадобилось установить Apache на свой компьютер с Windows 7. Если самого дистрибутива нет, то качаем Apache отсюда http://httpd.apache.org/download.cgi

Дальше стандартная установка, как и установка любой другой программы под Windows: двойной щелчок -> принимаем лицензионное соглашение -> заполняем форму с названием и мылом локального хоста -> финиш.

Казалось бы все просто и стандартно. Но...


Как я и ожидал, сразу Apache не запустился. О чем еще в процессе установки свидетельствовали два черных окна с описанием какой-то ошибки на английском. Значок Apache в трее тоже показывал, что сервер остановлен (перо с белым кружком, в котором красный квадрат).

Почему я это ожидал? Потому что Apache и его установка были для меня в новинку, до этого я Apache на компьютере не ставил. И этот процесс, как и все новое, неминуемо должен был вызвать шероховатости, ошибки или недопонимание. Это нормально.

Лично для себя я вывел следующее правило:

Если новая вещь или вид деятельности не вызывает проблем в начале взаимодействия, то, значит, я делаю что-то не так

Поэтому я спокойно начал искать причины нежелания Apache запускаться под Windows 7. В конце концов я их нашел, Apache запустил и заодно убедился в правильности своего мнения о том, что проблема может крыться где угодно и сколь угодно далеко от места своего проявления, а даже самые продвинутые и технологичные сервисы и вещи делают не только гении, но и люди с не очень прямыми руками.

Об этом дальше.

Почему Apache не запустился

Apache не запускается под Windows по разным причинам. И количество этих причин растет в той же пропорции, в которой растет отличие владельца компьютера от "среднестатистического пользователя".

Т.е. чем больше шаловливые ручонки запускали в недра Windows и настройки ее работы, тем больше круг потенциальных проблем с запуском Apache. Особенно, если ручонки ковырялись в настройках работы сети, файерволла или антивируса. И особо тяжелый случай, когда ручонки добрались до учетных записей и их прав в системе. В этом я убедился, читая многочисленные статьи, посты и топики на тему запуска Apache под Windows. Поэтому!

Я опишу лишь то, что я предпринял для того, чтобы запустить Apache на своем компьютере.

Первым делом я удалил Apache и начал его установку заново. Дальше опишу все действия в виде пошагового списка.

1. Щелкаем по установочному файлу Apache правой кнопкой и выбираем "Запуск от имени администратора";

2. На этапе выбора места, куда будем ставить Apache, указываем максимально короткий путь. Например, C:\web\Apache 2.2 Это и коротко, и в эту папку можно будет потом поставить остальные вещи для разработки;

3. После установки открываем файл httpd.conf из папки conf в корневой папке с Apache и добавляем в конце строчку "Win32DisableAcceptEx on";

Теперь перезагружаем компьютер и видим, что Apache запущен (в трее значок поменялся на перо с кружком, в котором зеленая стрелка). Но...

Это делают те счастливые люди, которые не ставили на свой компьютер Skype. А вот те, кто поставил, - мучаются дальше. Ибо разработчики Skype, эти заботливые и отзывчивые люди, оставили в настройках по умолчанию такую забавную штуку, которая занимает 80 порт (он нужен для работы Apache). По этому поводу многие люди говорили разные слова. Я свои сказал в самом начале этой статьи.

Поэтому идем сюда:

Skype -> Настройки -> Соединение

И снимаем галку у "Использовать порты 80 и 433, как стандартные".

После этого опять перезагружаем компьютер и теперь все точно работает!

Если нет, то внимательно перечитываем кусок про шаловливые ручонки и идем в Яндекс с запросом "как успокоить свои шаловливые руки" :) Шучу. Ищи что-то типа "почему Apache не запускается под Windows". Или, как сделал я, иди на профильный блог\форум\сайт и начинай вкуривать. А дальше по ссылкам.

В общем, вот так я заставил Apache запуститься под Windows 7 на своем компьютере.

И да, вариант с Денвером и другими пакетами я не рассматривал изначально. Потому как для того, чтобы понять принцип работы не только Apache, но и остальных необходимых для веб программирования вещей, нужно, как минимум, установить и запустить их своими руками, а не использовать то, что собрано другим.

Успехов!





Другие посты по этой теме:



41 комментарий:

  1. Спасибо! У меня есть опыт установки и настройки сабжа под линуксом и windows (до vista), а вот на 7, даже с нормально настроенным фаерволом никак... Проблема была как раз в
    Win32DisableAcceptEx on

    ОтветитьУдалить
  2. Здравствуйте, решили PHP изучить)?

    ОтветитьУдалить
  3. Да, есть такое дело :)

    Просто появился хороший материал.

    ОтветитьУдалить
  4. Это правильно, это развитие!) И это очень интересно! Особенно, когда начинает получаться) Удачи!

    ОтветитьУдалить
  5. Спасибо! И вам не хворать :-)

    ОтветитьУдалить
  6. Я почти 3 дня сидел с этим вопросом, а все, как оказалось, дело в Скайпе, тогда я его вообще удалил, но потом пришлось все таки поставить, так как необходим практически.

    ОтветитьУдалить
  7. Apache и Skype легко совместить. Я как раз и написал как :)

    Если бы не дурость разработчиков, то об этом бы вообще не пришлось думать.

    ОтветитьУдалить
  8. Я как раз недавно себе винду апгрейдил до 7-ки.
    Ставил apache_2.2.11, и скайп тоже установлен(правда не помню в какой последовательно ставил). Всё работает и без строчки Win32DisableAcceptEx on. ДА и в Skype галочка стоит на 80 порту:-) И всё это работает без проблем... Но буду иметь ввиду.

    ОтветитьУдалить
  9. Не забываем про шаловливые ручонки :)

    ОтветитьУдалить
  10. вместе с русификатором к Macromedia Dreamweaver скачивается троян

    ОтветитьУдалить
  11. Да вы что!!! Ай-ай-ай... :-)

    Здесь уже писал об этом, в комментариях.

    ОтветитьУдалить
  12. Привет, у меня ничего не получилось. В папке есть только файл httpd,а не httpd.conf в папке conf в корневой папке с Apache. Это он и есть? Я добавила в него "Win32DisableAcceptEx on"
    Далее, все как написано со скайпом.. И НИЧЕГО... Что же делать?

    ОтветитьУдалить
  13. Да, это он.

    Не забывайте после каждого изменения перезагружать Апач.

    Ну и помните про "шаловливые ручки" :)

    ОтветитьУдалить
  14. Да... видно я что-то не так сделала все же. Попробую еще раз. Что значит перезагружать апач после каждого изменения? У меня значка Апач внизу справа вообще нет.

    ОтветитьУдалить
  15. Значит, Apache у вас вообще не запущен.

    ОтветитьУдалить
  16. Ну да, я про это и пишу...Пытаюсь найти ответ на вопрос, как его все же запустить.

    ОтветитьУдалить
  17. Свой опыт я описал. Попробуйте все проделать с начала.

    ОтветитьУдалить
  18. Я лично пользуюсь денвером, это намного удобнее, чем по отдельности юзать апач, мускул, пхпМайАдмин и много другое. Все в одном месте. И денвер у меня нормально устанавливается

    ОтветитьУдалить
  19. Я рад за вас. Только вы последний абзац читали?

    ОтветитьУдалить
  20. Имею ввиду, что понимать не особо надо, понимать апач? Зачем, если ты блоггер, в принципе я понял, что даже html и css почти зря учил.

    ОтветитьУдалить
  21. А еще люди, подобные вам, говорят, что учеба в школе и институте - это зря потраченное время.

    ОтветитьУдалить
  22. Анонимный30 июня 2011 г., 15:09

    И флэш не учите!!!

    ОтветитьУдалить
  23. Ура! Спасибо большое!!! Помогла волшебная строчка:)

    ОтветитьУдалить
  24. Спасибище. Стоило просто закрыть скайп и апач сразу заработал, даже без волшебной строчки.=)

    ОтветитьУдалить
  25. Отличная статья, прекрасный и доходчивый стиль. Смеялся и "вкуривал", что как делать. Спасибо :)

    ОтветитьУдалить
  26. у меня такая проблема включаю комп и не запускается винда пишет starting windows и все тишина а через безопасный режим заходил тоже самое

    ОтветитьУдалить
  27. И как это связано с запуском Апача под Windows?!

    ОтветитьУдалить
  28. службы MS SQL Server'a тоже любят занимать 80 порт

    ОтветитьУдалить
  29. Алексей! Ты Красава! Просто ЛУЧШИЙ! Наконец-то я запустил его!!! Проблема крылась в Скайпе!

    ОтветитьУдалить
  30. Спасибо огромное, Алексей!

    ОтветитьУдалить
  31. спасибо за решение проблемы,
    "грёбаный скайп" :-)))))

    ОтветитьУдалить
  32. спасибо за помощь!!! тоже скайп!))

    ОтветитьУдалить
  33. Долго бился с проблемой вылета Апача. Затем воспользовался прогой DoScan и посмотрел, что использует 80 порт. Оказалось проблема в MS Office. А именно, нужно убрать службы публикации и SharePoint. После этого все заработало. Также не должны быть включены службы ISS.

    ОтветитьУдалить
  34. Умница. Обновила на свою голову скайп. Большое спасибо

    ОтветитьУдалить
  35. ))) Спасибо браток очень помог!! Благодарю !! Мучался блин до этого момента!!

    ОтветитьУдалить
  36. Анонимный28 июля 2012 г., 22:53

    Спасибо за пост - все заработало по инструкции!

    ОтветитьУдалить
  37. Анонимный31 июля 2012 г., 17:29

    спасибо большое человек ! помнил про скайп с 80 портом до дня пока не решил поставить апач, если бы не ты, убил бы много времени, спасибо =)

    ОтветитьУдалить
  38. Спасибо, что напомнил. А то я уже загрустил с этой W7 x64.

    ОтветитьУдалить

Ваш комментарий появится в блоге после проверки администратором