Apache server windows не запускается

Как запустить Apache на Windows

Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.

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

Настройка Apache на Windows

На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.

Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.

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

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

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

  • используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
  • всегда используйте прямые слеши, а не обратные (т.е., «c:/apache» вместо «c:\apache»).

Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.

ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:

Либо если вы не планируете снова использовать переменную $ (а она по умолчанию используется далее!), то можно сократить запись из двух строк до одной строки:

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Читайте также:  Microsoft windows download check

Можно указать несколько портов:

Или несколько IP и портов:

Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.

Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.

Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.

На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

и раскомментировать её, т.е. заменить на:

Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.

Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:

DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.

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

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Обратите внимание, что для установки настроек вновь используется переменная $ , значение которой было присвоено в самом начале. Если использовать синтаксис с $ , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:

А директива Require all granted открывает посетителям доступ для веб-документов.

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

Там всего один файл — index.html. Можно дописать любое количество своих собственных. Я меняю:

Другие настройки обычно не требуется менять для локального веб-сервера.

Перестал запускаться Apache 2.4 под Windows 7

Есть Apache 2.4 под Windows 7 SP1 Home Basic 64 bit Rus. Никто ничего не трогал, только обновления ставились *) и вдруг Apache перестал запускаться.

Стоит тип запуска «Автоматически», а он не запускается. Нажимаешь «Запустить» — ругается:

Читайте также:  Hama webcam suite windows 10

«Не удалось запустить службу Apache 2.4 на Локальный компьютер
Ошибка 1053: Служба не ответила на запрос своевременно»

В журнале событий Windows ничего, логи Apache просто не обновляются.

По netstat -aon на 80-м порту никто не сидит.

—-
*) На другой машине тоже обновления ставились, но там Apache продолжает работать, правда там Windows 7 Pro.

Перестал запускаться Apache
На Денвере перестал запускаться Apache (в трее появляется и через пару секунд исчезает). Это видно.

C++Builder 6 перестал запускаться под Windows 10
Здравствуйте, уважаемые. После установки Windows 10 перестал запускаться ломаный C++ Builder 6.

Перестал запускаться Windows
Мать: asus h310m-k Процессор: i5-8400 Видеокарта: palit 1660 dual Раньше была видеокарта 9800.

Windows 10 перестал запускаться после разгона
Приветствую, столкнулся с такой проблемой. Пробовал разогнать ryzen 2600 и оперативку Samsung.

Вкратце: дело было в vcruntime140.dll. Поместил её в Apache24\bin — и всё заработало. Почему-то надо брать с датой от 2016 г, с 2018 г не работает.

Теперь подробнее. Откат всех обновлений до даты, когда Apache последний раз работал (определяется по дате логов) ничего не дал. (включая обновления для .Net, кстати). Побайтовое сравнение каталогов Apache (кроме, разумеется, логов, конфига и htdocs) с той машиной, где он работает показало, что всё идентично. Через Process Monitor обнаружил, что httpd.exe не может найти vcruntime140.dll, где бы он её не искал. Посмотрел на другой машине через Process уже Explorer — да, действительно, apache её использует. На первой машине нашёл несколько vcruntime140.dll от 2016 и от 2018 гг, причём новая была КОРОЧЕ на 7 кб. Какую брать? Не мудрствуя лукаво, взял с той машины, где Apache работает из каталога, который показал Process Explorer. Хотел записать её в System32, винда спрашивает:

— Перезаписать?
— Да (А сам думаю: «Чего же тогда Apache её найти в System32 не может, если она есть?»)
— Access denied!

Ну, думаю, видимо, с правами что-то. Лезу в System32 устанавливать права, а там vcruntime140.dll — НЕТУ. Видимо 32-битный вариант из SysWOW64 или откуда ещё проецировался (или как там это называется?), поэтому перезаписать не даёт, а Apache 64-битный, поэтому он её и не видит. Ладно, записал её к Апачу, в скаый первый каталог, в котором он её искал — в Apache24\bin — и всё заработало. DLL hell, как он есть.

Но лучшее — враг хорошего. vcruntime140.dll была от 2016 года. Дай думаю, поставлю от 2018. Всё таки патчи, дыры в безопасности и т.д. Поставил — и Apache снова перестал запускаться. Вернул dll от 2016 г — опять заработал. Видимо, что-то для Апача ценное было в этих 7 килобайтах.

Непонятно, почему Винда не ругалась, что не может необходимую для запуска dll найти. И что это за dll Шредингера, которая в System32 то ли есть, то ли нет. И какая обнова так напакостила. Ну да ладно — Apach работает — и это главное.

SLUSAR.SU

Логово Программиста

Ошибка XAMPP не запускается APACHE. Решение.

Если у вас возникла подобная ошибка на OpenServer, вот РЕШЕНИЕ.

Если вы используете XAMPP в качестве настольного сервера для разработки web приложений, то наверняка рано или поздно столкнетесь с проблемой запуска сервера Apache. Зачастую это связано с тем, что какое-то приложение заняло порт 80. В основном — это Skype. Но иногда даже отключение скайпа не возвращает сервер к жизни и вы все равно видите эту ошибку:

[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

Читайте также:  Настройка параметров окон windows 10

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

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

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

Для этого жмем на Config напротив Apache и выбираем первый пункт Apache(httpd.config), где находим строчки:

#Listen 12.34.56.78:80
Listen 80

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

#Listen 0.0.0.0:80
#Listen [::]80

После чего еще раз пробуем запустить 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

также процесс может занимать skype iis sgl — проверьте их сначала

Этот способ я нашел тут https://toster.ru/q/235880

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

Спасибо за статью, помогло. после правки httpd.config, Кстати маленькое замечание у меня файл назывался httpd.conf XAMPP v.3.22

+
помог вариант
#Listen 0.0.0.0:80
#Listen [::]80

#Listen 0.0.0.0:80
#Listen [::]80

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

Спасибо, в httpd.config не было «#» во второй строке после Listen, и порт пришлось поменять на 8080

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

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

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

15:50:27 [Apache] Status change detected: stopped
15:50:28 [Apache] Problem detected!
15:50:28 [Apache] Port 80 in use by «Unable to open process» with PID 4!
15:50:28 [Apache] Apache WILL NOT start without the configured ports free!
15:50:28 [Apache] You need to uninstall/disable/reconfigure the blocking application
15:50:28 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
15:50:28 [Apache] Attempting to start Apache app…
15:50:28 [Apache] Status change detected: running

К сожалению, не помогло ничего
Win 7 SP1
VMWare 12
xampp-win32-7.1.4
Самостоятельно и без проблем запускается Apache x86 1.3.41
Придется жить так…

Можно порты поставить 8080 и 4433 на апач и ссл в httpd.conf и httpd-ssl.conf.
Если не запускается апач даже после смены портов, попробуйте в командной строке запустить c:\xampp\apache\bin\httpd.exe (или ваш путь к httpd.exe).
Покажет, где ошибка — у меня банально тег не закрытый в httpd-vhosts.conf был, в логах xampp этого видно не было.

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

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

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

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

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

#Listen 0.0.0.0:80
#Listen [::]80

Starting Apache Web Server…
/opt/lampp/apache2/scripts/ctl.sh : httpd started

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

Столкнулся с этой проблемой после обновления и улучшения версии. Помогло #Listen 0.0.0.0:80
#Listen [::]80
Спасибо.
ps Хотя я снес и скайп и реестре перепрописал все ))) и порты другие поставил )))

Слишком мудрено, просто заремте строчку решеткой
#Listen 80
а эти строчки вообще не участвуют в работе
#Listen 0.0.0.0:80
#Listen [::]80

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

Win+R вводим “regedit”
1)Ищем ветку «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP»
2)Меняем значение ключа “start” с 3 на 4…иногда помогает 0
3)Создаем параметр типа Dword c именем «NoRun» и присваиваем ему значение «1» без кавычек.
4)перезагружаемся

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

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

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

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

Оцените статью