#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), так что вам не нужно, судо когда вы завариваете установить.