Рейтинг:0

Настройка Apache на BigSur (возвращает ERR_CONNECTION_REFUSED)

флаг cn

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

Последний сайт, за которым я следил (и проверял много раз), был https://tech-cookbook.com/2020/11/14/setting-up-your-local-web-server-on-macos-big-sur-11-0-1-2020-mamp-macos-apache- mysql-php/. Прежде чем я попробовал https://medium.com/nerd-for-tech/how-to-run-apache-php-on-mac-os-big-sur-7ffbf7cbef7b, но очень похожи.

Что у меня есть

  • Apache 2.4.46 (apachectl -v)

  • php 7.3.24 (php -v)

  • Апач должен быть настроен правильно. Остановился и начал.

  • конфигурационный тест sudo apachectl возвращается Синтаксис ОК

  • в /etc/apache2/httpd.conf я установил DocumentRoot и <Каталог... к /Пользователи/имя пользователя/Сайты/

  • /Пользователи/имя пользователя/Сайты имеет чмод 777

  • /Пользователи/имя пользователя/Сайты показывает мне содержимое каталога (путь правильный)

  • /etc/apache2/extra/httpd-vhosts.conf установлен на (источник https://wpbeaches.com/set-up-virtual-hosts-on-macos-big-sur-11-in-apache/)

      <VirtualHost *:80>
          ServerName localhost
          DocumentRoot /Users/username/Sites/ 
          # I've tried: 
          ## insert value into "",
          ## localhost, 
          ## localhost/~username, 
          ## set localhost and ServerAlias to localhost/~username, etc.
      </VirtualHost>
    

Результат
В результате оба http://локальный хост и http://локальный/~имя пользователя возвращает меня ERR_CONNECTION_REFUSED.

я проверил все .conf настройки файлов с моим старым макбуком, и они очень похожи на обеих машинах... :-(

Любая идея, где может быть проблема? Я могу разместить здесь больше дополнительной информации (скопировать содержимое файлов conf, что угодно), если это необходимо... Я немного безнадежен... :-(

Спасибо!

РЕДАКТИРОВАТЬ

пс-акс | grep '[h]ttpd' возвращается

14994 ?? 0:00.51 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН
14997 ?? 0:00.01 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН
15002 ?? 0:00.01 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН
15040 ?? 0:00.00 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН
15042 ?? 0:00.00 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН
15043 ?? 0:00.00 /usr/sbin/httpd -D ПЕРЕДНИЙ ПЛАН

sudo lsof -a -iTCP -sTCP:LISTEN -c httpd возвращается

КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
httpd 14994 root 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
httpd 14997 _www 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
httpd 15002 _www 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
httpd 15040 _www 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
httpd 15042 _www 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
httpd 15043 _www 4u IPv6 0xbbfd6axxxxxxxxxx 0t0 TCP *:http (СЛУШАТЬ)
флаг ph
Apache действительно работает? Проверьте с помощью `ps -ax | grep '[h]ttpd'` (обратите внимание, что если он запущен, вы, вероятно, увидите несколько процессов.) Если он запущен, проверьте, прослушивает ли он входящие соединения с помощью `sudo lsof -a -iTCP -sTCP:LISTEN -c httpd`
pavel avatar
флаг cn
@GordonDavisson, спасибо за ваш комментарий. Оба вывода добавлены в вопрос (извините, я не могу сказать, работает ли он от него)
флаг ph
Вывод `lsof` указывает, что он прослушивает соединения IPv6, но не IPv4; Я не знаю, чем это вызвано, но это то, на чем я бы сосредоточился, пытаясь найти. Собственно, еще один тест: запустите `netstat -anv | grep '[.]80 .*LISTEN'` -- вы увидите строку, начинающуюся с `tcp6`, показывающую, что она прослушивает TCP через IPv4, но показывает ли она также строку, начинающуюся с `tcp4`? Если это так, это покажет, что что-то еще захватывает порт на IPv4 и не позволяет Apache получить его.
pavel avatar
флаг cn
@GordonDavisson Я получаю это `tcp46 0 0 *.80 *.* LISTEN 131072 131072 18249 0 0x0080 0x0000000e`
pavel avatar
флаг cn
@GordonDavisson: _Если это так, это покажет, что что-то еще захватывает порт на IPv4 и не позволяет Apache получить его. _... что это значит, или что мне делать? Я совсем запутался... :-(
флаг ph
На самом деле, это означает, что я неверно истолковал вывод lsof — на самом деле он прослушивает как IPv6, так и IPv4 (именно это означает «tcp46» в начале вывода `netstat`), а lsof показывал только v6 для некоторых причина. Так... проблема не в этом. Но это означает, что Apache работает и прослушивает подключения, что в основном означает, что он (и его файлы конфигурации и все такое) *не* проблема. Итак, посмотрите на конфигурацию вашей сети; такие вещи, как любые брандмауэры, которые вы используете, прокси, странные конфигурации сети/VPN и т. д.
флаг ph
Кроме того, вместо использования «localhost» попробуйте указать явный адрес: «http://127.0.0.1/». Я бы также попробовал из командной строки с помощью `curl http://127.0.0.1/`.
pavel avatar
флаг cn
@GordonDavisson Нет VPN, нет прокси... :-( `localhost` и `127.0.0.1` делают то же самое (автоматически перенаправляются на https и `err_connection_refused`). `curl http://127.0.0.1` возвращает `302` , `curl https://127.0.0.1` (или `https://localhost`) возвращает `curl: (7) Не удалось подключиться к порту 443 локального хоста: соединение отклонено`... Похоже, проблема в автоматическом перенаправлении на https (я пытался погуглить и не нашел, как его отключить)?
pavel avatar
флаг cn
@GordonDavisson Я установил HTTPS - браузер помечает URL как небезопасный, но это работает ... Зеленый замок в URL, я могу решить позже ... спасибо за ваше время!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.