Каталоги домашнего апача на macOS Big Sur

#apache #homebrew #macos-big-sur

Вопрос:

Я прошел через любой учебник, который смог найти, чтобы установить и настроить Apache в Биг-Суре. Неизменно, в учебнике при обсуждении файлов конфигурации будет указано /usr/local/etc/httpd/httpd.conf, который необходимо немного помассировать. Единственная проблема в том, что файл не существует, когда я проверяю этот каталог. Есть идеи? Заранее спасибо за вашу помощь.

ИЗМЕНИТЬ: Я удалил и установил httpd по запросу, и я все еще не получаю /usr/local/. Должно быть что-то другое в конфигурации домашнего приготовления.

 ➜  ~ brew uninstall httpd          
Uninstalling /opt/homebrew/Cellar/httpd/2.4.49... (1,660 files, 31.9MB)
➜  ~ brew install httpd            
==> Downloading https://ghcr.io/v2/homebrew/core/httpd/manifests/2.4.49
Already downloaded: /Users/johnny/Library/Caches/Homebrew/downloads/6c60d66c3915be5c993e144a743960b9e6be26e557efeeb6c61f530c79ffed34--httpd-2.4.49.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/httpd/blobs/sha256:e6ebcb4a1307
Already downloaded: /Users/johnny/Library/Caches/Homebrew/downloads/8506f199d5d7def536481d6fa87aa94c25201b57072d032e97edb8ce78fa86a3--httpd--2.4.49.arm64_big_sur.bottle.tar.gz
==> Pouring httpd--2.4.49.arm64_big_sur.bottle.tar.gz
==> Caveats
DocumentRoot is /opt/homebrew/var/www.

The default ports have been set in /opt/homebrew/etc/httpd/httpd.conf to 8080 and in
/opt/homebrew/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To restart httpd after an upgrade:
  brew services restart httpd
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/httpd/bin/httpd -D FOREGROUND
==> Summary
🍺  /opt/homebrew/Cellar/httpd/2.4.49: 1,660 files, 31.9MB
➜  ~
 

Ответ №1:

[Отредактировано и обновлено] Я использую macOS Catalina 10.15.7 / Xcode-выберите версию 2373 и, запустив $ brew install httpd , я могу установить службу Apache в /usr/local/

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

Это очень важные вещи:

   DocumentRoot is /usr/local/var/www.

  The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in
  /usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

  To start httpd:
    brew services start httpd
  Or, if you don't want/need a background service you can just run:
    /usr/local/opt/httpd/bin/httpd -D FOREGROUND
 

Это список каталогов.

   $ ls -lrt /usr/local/etc/httpd
    total 200
    drwxr-xr-x  14 user  admin    448 Sep 22 23:35 extra
    -rw-r--r--   1 user  admin  21222 Sep 22 23:35 httpd.conf
    -rw-r--r--   1 user  admin  13064 Sep 22 23:35 magic
    -rw-r--r--   1 user  admin  60847 Sep 22 23:35 mime.types
    drwxr-xr-x   4 user  admin    128 Sep 22 23:35 original
 

И это мой тест, показывающий, что он работает.

   $ curl localhost:8080
    <html><body><h1>It works!</h1></body></html>

  $ tail -f /usr/local//var/log/httpd/access_log
    ::1 - - [22/Sep/2021:23:39:35 -0500] "GET / HTTP/1.1" 200 45
 

Основываясь на ваших выводах и документации по пивоварению, которую, как я полагаю, вы используете Apple Silicon , это правильно, можете ли вы подтвердить?

https://docs.brew.sh/Installation

  • Этот скрипт устанавливает Homebrew на предпочтительный префикс (/usr/local для Intel macOS, /opt/homebrew для Apple Silicon и /home/linuxbrew/.linuxbrew для Linux), чтобы вам не требовалось sudo при установке. Это осторожный сценарий; его можно запустить, даже если у вас уже есть вещи, установленные в предпочтительном префиксе. Он точно говорит вам, что он будет делать, прежде чем он тоже это сделает. Вы должны подтвердить все, что он будет делать, прежде чем он начнется.

Комментарии:

1. Я сделал, и в этом проблема: переустановка brew httpd помещает homebrew в /opt/homebrew/opt/httpd. В вашем учебнике, связанном с вами, я ошибаюсь: хвост-f /usr/local/var/log/httpd/error_log хвост: /usr/local/var/log/httpd/error_log: Такого файла или каталога нет. Файлы конфигурации находятся в: > найти /выбрать имя httpd.conf /opt/домашнее пиво/etc/httpd/httpd.conf /opt/домашнее пиво/etc/httpd/оригинал/httpd.conf /opt/домашнее пиво/Погреб/httpd/2.4.49/.бутылка/etc/httpd/httpd.conf /opt/домашнее пиво/Погреб/httpd/2.4.49/.бутылка/etc/httpd/оригинал/httpd.conf Поэтому очевидно, что /usr/локальный/etc не указывает в /op/homebrew/и т. Д.

2. Я добавил вывод команды brew. Сигары по-прежнему не было.

3. Понятно теперь, что ваш доморощенный установки в /opt/доморощенный/ не /usr/местные, то почему бы вам не попробовать: tail -f /opt/homebrew/var/log/httpd/access_log разница в путь упоминается в доморощенного документации, вы хотели бы исправить это и перейти в частности в /usr/местные просто в точности следовать инструкции или то, что вы пытаетесь достичь?

4. Я просто хочу, чтобы файлы конфигурации были в /usr/локальном. Вместо этого homebrew устанавливает httpd в /opt/homebrew, и конфигурации тоже находятся в этом каталоге. Я действительно все удалил и переустановил. Та же сделка. Это не значит, что я не пытаюсь…

5. Пожалуйста, проверьте доморощенного документации и подтвердите, если вы работаете в macOS Intel или Apple, кремния -> документы.квас.ш/установка данного скрипта устанавливает доморощенного к своему привилегированному префикс (/usr/местные для macOS Интел /опт/Homebrew для Apple, кремния и /Home/linuxbrew/.linuxbrew для Linux), так что вам не нужно, судо когда вы завариваете установить.