Перестал работать Apache в MAMP Pro 4, отказывается запускаться
Уже довольно давно пользуюсь MAMP Pro — в основном версия 3, недавно обновленная до 4.
У меня вообще не было никаких необычных проблем, но сегодня служба Apache не запустилась, сказав мне проверить журналы ошибок. Журналы, к сожалению, были пустыми … Я не внес никаких изменений в конфигурацию системы, никаких изменений в MAMP / MAMP Pro. Выключил мою систему вчера, начал сегодня, она больше не работает …
Я пробовал многочисленные предложения, найденные через Stack Overflow и Google, но безуспешно.
Даже после полного удаления и повторной установки MAMP Pro я не могу запустить службу.
В логах ничего не появляется …
При запуске вручную из командной строки возникает ошибка, связанная с PHP:
Смущает то, что я нигде не указал PHP 5.2.17 вообще — согласно MAMP Pro он должен использовать PHP 7.0.12.
Если я добавлю PHP 5.2.17 в MAMP, используя соответствующие диалоги MAMP Pro, Apache все равно не сможет запуститься через интерфейс MAMP Pro. Однако теперь я могу запустить его вручную из командной строки, но ни один из моих виртуальных хостов и т. Д. Не загружен.
apachectl -V говорит мне, что он использует /Applications/MAMP/conf/apache/httpd.conf , но в этом файле нет ничего, что могло бы ссылаться на какие-либо конфиги, созданные в /Library/Application Support/appsolute/MAMP PRO/conf
Также похоже, что записи хостов не добавляются в /etc/hosts ,
Даже если я скажу /Applications/MAMP/conf/apache/httpd.conf ничего не делать, кроме как включить /Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf (и вручную добавлять записи в /etc/hosts ) это все еще, кажется, не работает вообще …
Я и мои коллеги в полной растерянности, особенно учитывая, что это работало вчера …
У кого-нибудь были такие проблемы?
Решение
Мне удалось исправить ту же проблему, что и у вас.
Мой сервер Apache работал нормально, и после обновления до 4.0.6 у меня возникли аналогичные проблемы.
Было две вещи, которые я сделал, чтобы решить проблему. Я получал ту же ошибку, когда он не мог найти php-файл в 5.2.17. После исправления этого, добавив 5.2.17 в MAMP, я столкнулся с ошибкой apache в отношении разрешений пользователей.
Файл> Редактировать шаблон> Восстановить все шаблоны по умолчанию.
Сохранить & перезапустил серверы и все наконец заработало, и все мои хосты также сохранились.
Почему Apache Server не запускается в MAMP?
Я пытаюсь просмотреть php файлы локально на моем mac.
Я запускаю Yosemite.
У меня установлен MAMP на моем компьютере. Когда я нажимаю start, сервер MySQL запускается, но Apache этого не делает. Появится сообщение об ошибке «Ошибка. Не удалось запустить Apache. Проверьте установку MAMP ‘
Я прошел через интернет, набрав материал в терминал и изменив «envvars» на «_vvvars», но ничего не работает.
Я переустановил OSX, и это сработало, но когда я выключил компьютер, проблема снова возникла.
Может ли кто-нибудь помочь?
apache mamp macos
11 ответов
Проверьте, изменилось ли местоположение корневого каталога документа или переименовано. По крайней мере, это была моя ошибка.
MAMP > Предпочтения > Веб-сервеp > Корень документа
Я не работал с портом 8000 или по умолчанию 8888, но получил работу с портом 80 за предложение здесь: http://forums.macrumors.com/showthread.php?t=1744944
В конце концов, это не сработало, но это не ошибка. Однако я вручную выполнил следующее в командной строке (поскольку файл журнала был пуст):
Только чтобы узнать, что после обновления я отсутствовал mod_example.so
Скопировал его из моей старой установки, и мне было хорошо идти.
Также имейте в виду, что если вы случайно удалили папку, установленную в качестве корня документа, в последний раз, когда вы использовали MAMP, вы получите эту ошибку. Просто откройте MAMP снова, измените корневой каталог документа на место, которое существует и запустите серверы.
3 Cipher [2015-06-10 13:14:00]
Была та же проблема, ничего в журналах. Попробовав предложение the_dillio:
У меня есть ошибка, указывающая на мой файл vhosts. Оказывается, у меня есть дополнительный /VirtualHost тег. Удалил его, и он снова начал работать.
Если вы попытаетесь запустить сервер из терминала, вероятно, он скажет вам, что не так, например
(48) Адрес уже используется: make_sock: невозможно привязать к адресу [::]: 8888 (48) Адрес уже используется: make_sock: невозможно привязать к адресу 0.0.0.0:8888
нет доступных гнезд для прослушивания, отключение
Невозможно открыть логи
В этом случае я случайно запустил браузер Blockstack из 8888, поэтому изменение MAMP на 8887 позволило запустить его. [Ваша ошибка может быть другой.]
Я думаю, что нашел решение.
Это был неправильный порт. Я изменил файл .conf в папке Apache. Я изменил все экземпляры порта 8888 на 8000. Когда я запускаю MAMP, теперь все работает нормально.
Спасибо за помощь
Я получил ту же ошибку, но интересно это было вызвано просто потому, что я переименовал корневую папку и не понял ее. Похоже, что у вас другая проблема, но для тех, кто получает это сообщение об ошибке, убедитесь, что вы не переименовали корень!
0 pdolinaj [2016-10-02 18:52:00]
У меня был этот опыт при обновлении до версии V4. Он пытался использовать файлы из моей предыдущей установки, и он просто не работал. Обходной путь состоял в том, чтобы RENAME установить оригинальную установку MAMP на что-то другое, чем «MAMP», установить новую версию и затем скопировать файлы, которые могут вам понадобиться, такие как VHOST configs и DATABASES. После всего этого он работал нормально.
Проблема с сервером Apache возникла после того, как я включил SSL на своем сервере и попробовал переполнение стека, предложив команду терминала (eek). Поэтому, если это ваша проблема, проверьте файл https-ssl.conf(Приложения → Mamp → conf → apache → extra). Корень документа под настройками виртуального хоста имел другой путь к файлу htdocs, чем там, где он был фактически расположен (легко пропускается «на лету» ). Я изменил это на «/Applications/MAMP/htdocs» и престо, проблема решена. Возможно, также проверьте Document Root в вашем файле https.conf(Applications → Mamp → conf → apache), чтобы узнать, имеет ли он правильный путь к htdocs.
Абсолютно странное поведение для MAMP PRO (кстати, платная лицензия тоже. )
В моем случае мне пришлось изменить местоположение файла журнала, чтобы заставить его работать.
Нажмите на значок Mysql, затем на небольшую папку справа от пути и попробуйте изменить ее на что-то другое.
Почему Apache Server не запускается в MAMP?
Я пытаюсь просмотреть php файлы локально на моем mac.
Я запускаю Yosemite.
У меня установлен MAMP на моем компьютере. Когда я нажимаю start, сервер MySQL запускается, но Apache этого не делает. Появится сообщение об ошибке «Ошибка. Не удалось запустить Apache. Проверьте установку MAMP ‘
Я прошел через интернет, набрав материал в терминал и изменив «envvars» на «_vvvars», но ничего не работает.
Я переустановил OSX, и это сработало, но когда я выключил компьютер, проблема снова возникла.
Может ли кто-нибудь помочь?
apache mamp macos
11 ответов
Проверьте, изменилось ли местоположение корневого каталога документа или переименовано. По крайней мере, это была моя ошибка.
MAMP > Предпочтения > Веб-сервеp > Корень документа
Я не работал с портом 8000 или по умолчанию 8888, но получил работу с портом 80 за предложение здесь: http://forums.macrumors.com/showthread.php?t=1744944
В конце концов, это не сработало, но это не ошибка. Однако я вручную выполнил следующее в командной строке (поскольку файл журнала был пуст):
Только чтобы узнать, что после обновления я отсутствовал mod_example.so
Скопировал его из моей старой установки, и мне было хорошо идти.
Также имейте в виду, что если вы случайно удалили папку, установленную в качестве корня документа, в последний раз, когда вы использовали MAMP, вы получите эту ошибку. Просто откройте MAMP снова, измените корневой каталог документа на место, которое существует и запустите серверы.
3 Cipher [2015-06-10 13:14:00]
Была та же проблема, ничего в журналах. Попробовав предложение the_dillio:
У меня есть ошибка, указывающая на мой файл vhosts. Оказывается, у меня есть дополнительный /VirtualHost тег. Удалил его, и он снова начал работать.
Если вы попытаетесь запустить сервер из терминала, вероятно, он скажет вам, что не так, например
(48) Адрес уже используется: make_sock: невозможно привязать к адресу [::]: 8888 (48) Адрес уже используется: make_sock: невозможно привязать к адресу 0.0.0.0:8888
нет доступных гнезд для прослушивания, отключение
Невозможно открыть логи
В этом случае я случайно запустил браузер Blockstack из 8888, поэтому изменение MAMP на 8887 позволило запустить его. [Ваша ошибка может быть другой.]
Я думаю, что нашел решение.
Это был неправильный порт. Я изменил файл .conf в папке Apache. Я изменил все экземпляры порта 8888 на 8000. Когда я запускаю MAMP, теперь все работает нормально.
Спасибо за помощь
Я получил ту же ошибку, но интересно это было вызвано просто потому, что я переименовал корневую папку и не понял ее. Похоже, что у вас другая проблема, но для тех, кто получает это сообщение об ошибке, убедитесь, что вы не переименовали корень!
0 pdolinaj [2016-10-02 18:52:00]
У меня был этот опыт при обновлении до версии V4. Он пытался использовать файлы из моей предыдущей установки, и он просто не работал. Обходной путь состоял в том, чтобы RENAME установить оригинальную установку MAMP на что-то другое, чем «MAMP», установить новую версию и затем скопировать файлы, которые могут вам понадобиться, такие как VHOST configs и DATABASES. После всего этого он работал нормально.
Проблема с сервером Apache возникла после того, как я включил SSL на своем сервере и попробовал переполнение стека, предложив команду терминала (eek). Поэтому, если это ваша проблема, проверьте файл https-ssl.conf(Приложения → Mamp → conf → apache → extra). Корень документа под настройками виртуального хоста имел другой путь к файлу htdocs, чем там, где он был фактически расположен (легко пропускается «на лету» ). Я изменил это на «/Applications/MAMP/htdocs» и престо, проблема решена. Возможно, также проверьте Document Root в вашем файле https.conf(Applications → Mamp → conf → apache), чтобы узнать, имеет ли он правильный путь к htdocs.
Абсолютно странное поведение для MAMP PRO (кстати, платная лицензия тоже. )
В моем случае мне пришлось изменить местоположение файла журнала, чтобы заставить его работать.
Нажмите на значок Mysql, затем на небольшую папку справа от пути и попробуйте изменить ее на что-то другое.
Почему Apache не запускается
Многие новички, которые пытаются настроить свой домашний веб-сервер на основе 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, потому что скоро буфер лога будет затерт и вы там ничего не увидите. Но здесь сообщается то же сообщение об ошибке в конфигурационном файле, даже видно строку — 54. Еще можно посмотреть error.log, но туда сообщения пишутся не всегда:
Дальше вы можете проверить конфигурационный файл на корректность с помощью такой команды:
Тут будут показаны даже предупреждения, которые не влияют на работу сервиса. Все серьезные ошибки нужно исправить если таковые имеются, возможно именно они препятствуют запуску.
Следующая важная проблема — это права доступа. Если 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, то вы можете его отключить на время, чтобы понять не в нем ли проблема:
Другой момент, который может вызвать ошибку, это если на порту, который вы хотите использовать для веб-сервера уже запущен какой-то процесс, например, nginx или lighttpd, в таком случае, его нужно остановить:
sudo systemctl stop nginx
sudo systemctl stop lighttpd
Или вы можете попытаться изменить порт на другой, для этого откройте конфигурационный файл веб-сервера и найдите там строку Listen:
Если такой строки еще нет, то вы можете ее создать. Далее просто измените номер порта с 80 на любой удобный, например, 8080
Дальше про ошибку старта при загрузке. Такая ошибка случалась в версиях ниже 2.2.4, если вы используете эту или более новую версию, то эта проблема вам не страшна. Она была вызвана тем, что Apache с SSL не хотел запускаться без папки /var/run/apache2, которой не было на момент загрузки. Самый простой способ решить проблему — отключить модуль ssl:
Второй способ более сложный — добавьте в конфигурационный файл /etc/init.d/apache2 такую строку:
[ -d /var/run/apache2 ] || mkdir /var/run/apache2
Последняя проблема, о которой мы говорили — это когда неверно указанно имя сервера, на котором запускается Apache. Этой ошибке тоже были подвержены только ранние версии программы. Тогда при попытке запуска программа выдавала сообщение:
Failed to resolve server name for localhost
И дальше не запускалась. Чтобы решить эту проблему нужно было либо создавать виртуальные хосты, либо прописать в основном конфигурационном файле директиву ServerName, в которой будет указанно имя этого компьютера:
А также ассоциировать это имя с localhost в файле hosts:
sudo vi /etc/hosts
Дальше было достаточно перезапустить Apache и все начинало работать.
Выводы
В этой статье мы рассмотрели несколько причин почему не запускается Apache и примеров их решения. Причин может быть множество, но мы разобрали только самые главные, которые встречаются наиболее часто. Надеюсь, эта информация была для вас полезной, если у вас остались вопросы, спрашивайте в комментариях! А для тех кого интересует еще один способ решения проблемы xampp apache не запускается для Windows есть видео: