Не запускается apache на windows 10

Обновлено: 03.07.2024

Многие новички, которые пытаются настроить свой домашний веб-сервер на основе Apache часто сталкиваются с ошибкой, что Apache не запускается. Благо сейчас в Ubuntu веб-сервер будет правильно работать по умолчанию и запустится, если вы не будете менять настройки, но раньше и в других дистрибутивах приходилось настраивать различные параметры и возникали ошибки.

В этой небольшой статье мы рассмотрим почему Apache не работает, что может стать причиной этой проблемы и как ее решить. Инструкция подойдет не только для Ubuntu, но и для других Linux дистрибутивов.

Почему не запускается Apache?

Вы можете столкнуться с такой проблемой по разным причинам, давайте сначала рассмотрим основные из них, чтобы вы знали что дальше делать:

  • Ошибка в конфигурационном файле - вы меняли конфигурацию и настроили что-то неправильно из-за этого программа не может запустится;
  • Права доступа - у программы нет прав доступа к каким-то важным для нее файлам, например, файлам логов, модулей или конфигурационным файлам;
  • Не запускается служба apache при загрузке, но при запуске из консоли все работает - проблема в том, что на момент запуска загружены еще не все необходимые службы;
  • Неверно указанно доменное имя - такая ошибка довольно часто встречается на локальных компьютерах;

А теперь рассмотрим более подробно почему так происходит и как решить проблему.

Как решить проблему с Apache?

Самое первое что вам нужно сделать в любом случае, если что-то не работает - это смотреть логи и информацию об ошибках. Только там вы сможете точно узнать что произошло. Самый простой способ это сделать, воспользоваться подсказкой systemd, которую она выдает при ошибке запуска:

See "systemctl status apache2.service" and "journalctl -xe" for details

То есть нам нужно выполнить systemctl status apache2.service или journalctl -xe чтобы получить больше сведений. Выполните сначала первую команду:

systemctl status apache2.service

Мы сразу же видим причину проблемы - ошибка в конфигурационном файле, в директиве Listen, а теперь пробуем другую команду:


Дальше вы можете проверить конфигурационный файл на корректность с помощью такой команды:


Следующая важная проблема - это права доступа. Если Apache запускается от имени пользователя www-data, то у этого пользователя должен быть доступ на чтение к папке где лежат документы веб-сайта, а также ко всем папкам выше нее, также должен быть доступ на чтение и запись для логов и конфигурационных файлов. Проверить права можно с помощью команды namei, это аналог ls, который отображает полное дерево прав:

namei -l /var/www/public_html/


Таким же образом проверяем папку с логами:

namei -l /var/log/apache2/

Как видите, у меня папка /var/www/public_html принадлежит пользователю root, но на папку public_html установлены права чтения и записи для всех пользователей. Поэтому проблем нет, а на папку с логами в качестве группы установлена adm, в эту группу входит пользователь www-data, так что тут тоже проблем нет. Если у вас что-то отличается и вы видите что прав недостаточно, то либо измените владельца папки с файлами веб-сайтов на www-data, либо дайте больше разрешений:

chown -R www-data /var/www/public_html/

Также, если в вашей системе включен SELinux, то вы можете его отключить на время, чтобы понять не в нем ли проблема:

Или вы можете попытаться изменить порт на другой, для этого откройте конфигурационный файл веб-сервера и найдите там строку Listen:

Если такой строки еще нет, то вы можете ее создать. Далее просто измените номер порта с 80 на любой удобный, например, 8080

Дальше про ошибку старта при загрузке. Такая ошибка случалась в версиях ниже 2.2.4, если вы используете эту или более новую версию, то эта проблема вам не страшна. Она была вызвана тем, что Apache с SSL не хотел запускаться без папки /var/run/apache2, которой не было на момент загрузки. Самый простой способ решить проблему - отключить модуль ssl:

Второй способ более сложный - добавьте в конфигурационный файл /etc/init.d/apache2 такую строку:

[ -d /var/run/apache2 ] || mkdir /var/run/apache2

Failed to resolve server name for localhost

И дальше не запускалась. Чтобы решить эту проблему нужно было либо создавать виртуальные хосты, либо прописать в основном конфигурационном файле директиву ServerName, в которой будет указанно имя этого компьютера:

А также ассоциировать это имя с localhost в файле hosts:

sudo vi /etc/hosts

Дальше было достаточно перезапустить Apache и все начинало работать.

Выводы

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


После установки панели управления XAMPP в Windows 10 многие пользователи сообщали об ошибке при запуске Apache . Эта проблема обычно возникает, когда такой процесс, как World Wide Publishing Service, продолжает работать на 80-м порту вашего устройства. Из-за этого операционная система Windows 10 не позволяет серверу Apache работать, и это вызывает ошибку.

Фактически, порт 80 на компьютере также был портом TCP / IP по умолчанию, который модуль Apache использует на XAMPP. А поскольку два разных приложения не могут использовать один и тот же сетевой порт, вам необходимо остановить его перед запуском сервера Apache XAMPP. Если вы также столкнулись с этой проблемой на своем устройстве, есть несколько простых способов, которые я упомянул в этом руководстве. Итак, начнем.

Apache не запускается из панели управления XAMPP

  1. Clear World Wide Web Services
  2. Изменить порт Apache TCP/IP по умолчанию
  3. Остановите World Wide Web Publishing Service

Давайте посмотрим на них подробно.

1] Clear World Wide Web Services

Чтобы решить начальную проблему службы Apache, вам необходимо очистить всемирную паутину от вашего устройства. Но прежде чем начать, убедитесь, что у вас нет приложений, использующих этот сервис.

Если все в порядке, откройте панель управления в вашей системе Windows.

После того, как он откроется, выберите для просмотра панели управления параметр «Большие значки» или «Маленькие значки», чтобы можно было видеть все элементы панели управления.


Из доступных элементов выберите Программы и компоненты.

В левой боковой панели есть ссылка «Включение или отключение функций Windows», нажмите на нее.



В диалоговом окне «Функции Windows» разверните Информационные службы Интернета.

Теперь снимите флажок «World Wide Web Services» и нажмите кнопку «ОК», чтобы сохранить изменения.


Выполнив вышеуказанные действия, перезагрузите устройство. После этого откройте панель управления XAMPP и нажмите кнопку «Пуск» в Apache. Теперь он должен работать в порту 80 на вашем компьютере.

2] Изменить порт Apache TCP/IP по умолчанию

Если по какой-либо причине вышеуказанный обходной путь не работает для вас, вам необходимо настроить Apache для выполнения на другом порту TCP/IP. Итак, следуйте этим советам:

Откройте панель управления XAMPP на вашем устройстве Windows.

Нажмите на кнопку Config модуля Apache.



На следующей странице блокнота вам нужно найти Listen 80.

Чтобы упростить поиск, нажмите сочетание клавиш Ctrl + F. Во всплывающем меню введите то, что вы хотите найти. Марк Wrap вокруг флажка, оставить дело Match бесконтрольно, а затем нажмите на Find Next кнопку.


Как только вы найдете соответствующую строку, измените номер порта на любой произвольный номер по вашему выбору.

Нажмите сочетание клавиш Ctrl + S, чтобы сохранить изменения в блокноте.

Примечание. Обратите внимание, что при использовании этой конфигурации вам всегда нужно добавить номер порта TCP/IP в URL, который вы хотите подключить к своему сайту. Например, чтобы получить доступ к серверу Apache в вашем браузере, вам нужно будет ввести: localhost:121/dashboard , а не localhost/dashboard .

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

3] Остановите издательский сервис World Wide Web

В качестве альтернативы вам необходимо остановить службу публикации в Интернете и изменить ее параметры, чтобы она могла быть запущена только вручную. Итак, начнем:

Чтобы остановить службу публикации в Интернете, сначала необходимо открыть диспетчер служб Windows на компьютере с Windows 10.

На экране «Службы» найдите параметр «Служба публикации в Интернете» в столбце «Имя».

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

В окне свойств по умолчанию открывается вкладка Общие.

На вкладке General найдите тип запуска и переключите его на Manual. Это позволит вам запустить службу вручную, когда это потребуется.

Продвигаясь вперед, остановите статус работающей службы и нажмите Apply > кнопку OK.

Теперь откройте панель управления XAMPP и нажмите кнопку «Пуск», чтобы запустить сервер Apache.

Я использую XAMPP, и я могу запустить Apache, но, MySQL (PhpMyAdmin) начать!

когда я начинаю, я получаю эту ошибку;

Я ищу на нем, и, измените порт Apache в Config - > Service и Port setting. Я;

Я запускаю его через apache_start.BAT и вам;

пожалуйста, не все файлы журналов не действует! Skype удаляется.

Если вам нужна больше информации, то пожалуйста спросите меня.

обновление: 15 мая 2018 :

последнее обновление Windows 10 (повторно)активировало World Wide Web Publishing Service (по-немецки: WWW-Publishingdienst). Это может зависеть от параметров, которые вы выбираете во время настройки обновления, которое вы можете сделать позже.

обновление: 4 августа, 2015 :

Если вы сделали чистую установку Windows 10, у вас может не быть Word Wide Web Издательская Служба. В этом случае простая установка WAMP/XAMPP должна работать нормально.

Если это не так, попробуйте установить Распространяемый Visual C++ а затем переустановите WAMP/XAMPP.

я столкнулся с аналогичной проблемой с WAMP. В Windows 10 TP,Word Wide Web Publishing Service поставляется с предварительно установленной. Это связано с IIS, и вы можете удалить его, если он вам не нужен.

это блокирует порт 80 заставляя Apache действовать странно. Вы можете сделать следующее и повторите попытку.

  • перейти к началу, введите услуги.msc
  • прокрутите вниз в окне "Службы" найдите World Wide Web Publishing Service.
  • щелкните правой кнопкой мыши на нем и выберите остановка.

Это должно сделать port 80 бесплатно и перезапуск WAMP / XAMPP должен заставить вас работать!

решить эту проблему легко:

  1. открыть командную строку с правами администратора
    • найти "cmd", щелкните правой кнопкой мыши на нем, затем выберите"администратор".
  2. в командной строке введите net stop W3SVC и введите.

теперь вы можете нажать WAMPP и перезапустить все службы. Откройте браузер и перейдите в раздел "localhost".

Если вам нужно снова запустить W3SVC,

  1. открыть командную строку с правами администратора
  2. в командной строке введите net start W3SVC и введите.

Я нашел способ решить эту проблему:

  1. Если вы также используете Skype, снимите флажок с поля, указывающего на использование портов 80 и 443 (дополнительно -> Настройки -> Дополнительно -> подключения -> снимите флажок порт 80 и 443)
  2. перезапустите Skype и XAMPP.

Если это не работает,

  1. перейдите в меню Пуск и наберите "Services.msc"
  2. Найдите "World Wide Web Publishing Service"
  3. щелкните правой кнопкой мыши на этой записи, нажать "Stop", затем перезапустите XAMPP.

Если это не сработало и "World Wide Web Publishing Service" не был доступен,

  1. перейдите на панель управления, перейдите к "удалить программы", затем"включить/выключить функции Windows"
  2. Найдите "Информационные Услуги Интернета"
  3. установите флажок и нажмите "OK".
  4. перезапустите, затем повторите второй подход (службы.msc)

вы можете изменить порт apache:

NameVirtualHost *:80 вот!--1-->

VirtualHost *: 80 и здесь (два раза)

1. пресс Windows + R , тип regedit

2. на

изменить значение Start до 4, что означает отключено.

3. перезагрузите компьютер

Я пробовал все, что указано в ответах здесь, но ни один из них не работал.

тогда все, что я сделал, это перезапустить XAMPP с правами администратора:

меню Пуск-щелкните правой кнопкой мыши на XAMPP-выберите Запуск от имени администратора

Это сработало. Это так просто.

Я удалил службы IIS, остановил службы WWW, изменил порты обратно на 80, заблокировал все соединения apache и mysql из брандмауэра windows 10, Но да, это все еще работает!

изменение выше от порта 80 до 122 и 443 к 444 позволил мне запустить apache и обслуживать страницы, сохраняя все остальное одинаковым для моей разработки ASP. Надеюсь, это кому-то поможет. В конце концов, это очень простое решение.

похоже, что есть много вариантов ответа, это зависит от ваших окон. Вот мой опыт при наличии той же проблемы в windows 10 fresh install и устранить проблему со следующим шагом :

примечание: Я использую XAMPP версии 5.6.15 и панель управления XAMPP версии 3.2.2

80 слушать изменить слушать 122 (или что-нибудь еще вы хотите)

Имя_сервера Localhost: 80 на Localhost:122 (или порт, который вы изменили выше)

тогда все должно загореться: P

честно говоря, я думаю, что это просто приложение xampp, не зная, что делать с windows 10 если вы используете посмотрите на список событий в окне xampp, шахта говорит

5:56:38 AM [Apache] обнаружена проблема!

5:56:38 AM [Apache] порт 80 используется "невозможно открыть процесс" с PID 4!

5: 56: 38 AM [Apache] Apache не запустится без настроенных портов бесплатно!

5: 56: 38 AM [Apache] вам необходимо удалить/отключить / перенастроить блокирующее приложение

5: 56: 38 утра [Apache] или перенастроить Apache и панель управления, чтобы слушать на другом порту

5: 56: 38 AM [Apache] пытается запустить приложение Apache.

и если вы открываете net stat, он показывает порт 80 с PID 4 как используемый системой, не уверен, что у меня больше нет windows 7, но если это не то же самое на 7, то есть проблема.

другая причина, по которой я считаю, что это проблема, заключается в том, что, поскольку PID равен 4 при просмотре в системе net stat, только с PID 4 и его использованием более 80 портов.

поэтому, к сожалению, я не думаю, что что-то можно сделать, пока Apache Friends не обновит программное обеспечение или кто-то не найдет работу

Я использую XAMPP, и я могу запустить Apache, но MySQL (PhpMyAdmin) запускается!

Когда я начинаю, я получаю эту ошибку;

Я ищу по нему, и, измените порт Apache в Config -> Service и Port setting. Я имею;

Я запускаю его через apache_start.bat и получаю;

Пожалуйста, обратите внимание, что все файлы LOGS не существуют!
Скайп удален.

Если вам нужна дополнительная информация, пожалуйста, спросите меня.

Решение

Обновление: 15 мая 2018 года:

Последнее обновление Windows 10 (повторно) активировало World Wide Web Publishing Service (на немецком: WWW-Publishingdienst). Это может зависеть от параметров, которые вы выбираете во время настройки обновления, которое вы можете сделать позже.

Обновление: 4 августа 2015 г .:

Если вы сделали чистую установку Windows 10, у вас может не быть Word Wide Web Publishing Service. В этом случае простая установка WAMP / XAMPP должна работать нормально.

Если это не так, попробуйте установить Visual C ++ распространяемый а затем переустановите WAMP / XAMPP.

Я столкнулся с аналогичной проблемой с WAMP. В Windows 10 TP Word Wide Web Publishing Service поставляется предварительно установленным Это связано с IIS, и вы можете удалить его, если он вам не нужен.

Это блокирует порт 80 заставляя Apache вести себя странно. Вы можете сделать следующее и попробовать еще раз.

  • Перейти к началу, введите services.msc
  • Прокрутите вниз в окне служб, чтобы найти World Wide Web Publishing Service.
  • Щелкните правой кнопкой мыши и выберите Стоп.

Это должно сделать порт 80 бесплатный и перезапуск WAMP / XAMPP должен запустить вас!

Другие решения

Решить эту проблему легко:

  1. Откройте командную строку с правами администратора
    • Найдите «cmd», щелкните по нему правой кнопкой мыши и выберите «Администратор».
  2. В командной строке введите net stop W3SVC и введите.

Теперь вы можете нажать в WAMPP и перезапустить все сервисы. Откройте браузер и перейдите к «localhost».

Если вам нужно запустить W3SVC снова,

  1. Откройте командную строку с правами администратора
  2. В командной строке введите net start W3SVC и введите.

Я нашел способ решить эту проблему:

  1. Если вы также используете Skype, снимите флажок с указанием использовать порты 80 и 443 (Дополнительно -> Настройки -> Дополнительно -> Подключения -> Снимите флажки с портов 80 и 443).
  2. Перезапустите Skype и XAMPP.

Если это не работает,

Если это не сработало и «Служба публикации в Интернете» была недоступна,

Вы можете изменить порт apache:

NameVirtualHost *: 80 здесь

VirtualHost *: 80 и здесь (два раза)

1. Нажмите Windows + р , тип regedit

2. Идти к

Изменить значение Start до 4, что означает отключение.

3. Перезагрузите компьютер

Я перепробовал все перечисленные здесь ответы, но ни один из них не сработал.

Затем все, что я сделал, это перезапустил XAMPP с правами администратора:

Это сработало. Это так просто.

Я удалил службы IIS, остановил службы WWW, изменил порты на 80, заблокировал все соединения apache и mysql из брандмауэра Windows 10, но да, он все еще работает!

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

ПРИМЕЧАНИЕ. Я использую версию XAMPP 5.6.15 и панель управления XAMPP версии 3.2.2.

xampp

[Apache] Error: Apache shutdown unexpectedly.
[Apache] This may be due to a blocked port, missing dependencies,
[Apache] improper privileges, a crash, or a shutdown by another method.
[Apache] Press the Logs button to view error logs and check
[Apache] the Windows Event Viewer for more clues
[Apache] If you need more help, copy and post this
[Apache] entire log window on the forums

Решение этой проблемы имеется. Для начала можно попробовать изменить порты.

xampp

Запускаем Xampp, жмем Config и в появившемся окне выбираем Service and Port Settings где и меняем порты.

Но, и это не всегда помагает, поэтому нужно внести изменения в конфигурационный файл Apache.

И заменяем их на:

После чего еще раз пробуем запустить Apache и убеждаемся, что все работает.

Лучше использовать порт 8080, если и это не работает, плюс у вас стоит windows 10. Тогда придется отключать порт 80 в ручную.

netstat -o -n -a | findstr 0.0:80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
это бывает и на ХР и 7 и 8

21 идей о “ Ошибка XAMPP не запускается APACHE. Решение. ”

помог этот вариант!

Спасибо ,тоже помог вариант как с Listen

Спасибо огромное. Помогло)))))

У меня виртуальная машина VMVARE занимала порты, убив процесс АПАЧ запустился

Спасибо за совет, запуск в командной строке помог найти ответ)

как и где закрыть тег ?

Спасибо за совет! Помогло разобраться

Спасибо большое, мне помог первый этап.
Всё заработало, после:

И заменяем их на:

Подскажите шото мне делать?

Сработал вариант отключать порт 80 в ручную.

Благодарю за помощь! Помог способ с реестром.

Здравствуйте, как только устанавливается WordPress и предлагает открыть сайт,Апачи сразу же сам выключается,что делать ?(

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: