Настройка виртуальных хостов на macos High Sierra 10.13 в Apache

  1. Разрешить настройку vhosts из файла конфигурации Apache httpd.conf
  2. Отредактируйте файл vhosts.conf
  3. Сопоставьте ваш IP-адрес с localhost
  4. Перезапустите Apache
  5. Потеря Localhost
  6. Перезапустите Apache
  7. Найдите своего пользователя и группу
  8. Перезапустите Apache

Настроить виртуальные хосты в Apache на MacOS High Sierra и OSX сразу после того, как ваша локальная среда веб-разработки будет запущена - сначала включите и запустите веб-разработку, включая Apache, PHP и MySQL на macOS, после этого   MacOS High Sierra Apache / PHP / MySQL руководство здесь   если необходимо Настроить виртуальные хосты в Apache на MacOS High Sierra и OSX сразу после того, как ваша локальная среда веб-разработки будет запущена - сначала включите и запустите веб-разработку, включая Apache, PHP и MySQL на macOS, после этого MacOS High Sierra Apache / PHP / MySQL руководство здесь если необходимо.

Процесс настройки виртуальных хостов проще в терминале, используя nano или vi с sudo или как пользователь root , или вы можете визуальный редактор GUI, как BBEdit который позволяет получить доступ к каталогу / private / etc , нажав «Показать все» в открытом диалоговом окне.

Разрешить настройку vhosts из файла конфигурации Apache httpd.conf

Откройте httpd.conf

sudo nano /etc/apache2/httpd.conf

Ищите vhosts и раскомментируйте строку включения

# Виртуальные хосты включают /private/etc/apache2/extra/httpd-vhosts.conf

Отредактируйте файл vhosts.conf

Откройте этот файл для добавления в виртуальный хост.

sudo nano /etc/apache2/extra/httpd-vhosts.conf

Домен примера в файле дается в формате, необходимом для добавления в дополнительные домены, просто следуйте этому, чтобы создать новый виртуальный хост:

<VirtualHost *: 80> ServerAdmin [электронная почта защищена] DocumentRoot "/usr/docs/dummy-host2.example.com" ServerName dummy-host2.example.com ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" CustomLog "/ private / var /log/apache2/dummy-host2.example.com-access_log "common </ VirtualHost>

Мы можем взять этот пример и расширить его, если, например, вам нужен домен с именем apple.com , вы можете скопировать существующий текстовый блок и отредактировать в соответствии с требованиями:

<VirtualHost *: 80> ServerName apple.com ServerAlias ​​www.apple.com DocumentRoot "/ Users / USERNAME / Sites / apple" ErrorLog "/private/var/log/apache2/apple.com-error_log" CustomLog "/ private / var /log/apache2/apple.com-access_log "common ServerAdmin [электронная почта защищена] </ VirtualHost>

Таким образом, в приведенном выше примере создается vhost для apple.com, а корень документа находится в папке « Сайты ». В текстовом блоке выше, который я также добавил в некоторые файлы журнала, нужно изменить имя пользователя и домен корневого каталога документа. имя, чтобы удовлетворить ваши потребности. Завершите и сохраните файл.

Теперь вам также необходимо сопоставить IP-адрес с локальным хостом.

Сопоставьте ваш IP-адрес с localhost

sudo nano / etc / hosts

Добавьте домен и псевдоним www для разрешения адреса локального хоста.

127.0.0.1 apple.com www.apple.com

Перезапустите Apache

перезапуск sudo apachectl

Проверьте свой локальный домен Vhost в браузере

Потеря Localhost

Одно замечание, касающееся виртуальных хостов, заключается в том, что после настройки вы теряете свой старый корень документа, ранее находившийся в / Library / WebServer / Documents или доступный в браузере по адресу http: // localhost , в результате вы получаете 403 Forbidden Error. Но ~ / username root документа все еще совместимо.

Чтобы обойти это, вам нужно добавить vhost для localhost и объявить этот vhost перед любым другим, в том же файле:

sudo nano /etc/apache2/extra/httpd-vhosts.conf

Добавить в:

<VirtualHost *: 80> имя_сервера localhost DocumentRoot / Library / WebServer / Documents / </ VirtualHost>

Перезапустите Apache

перезапуск sudo apachectl

Одно из разочарований использования папки Users / username / Sites для vhosts - проблемы с разрешениями для таких вещей, как обновления и аутентификация.

Одно из разочарований использования папки Users / username / Sites для vhosts - проблемы с разрешениями для таких вещей, как обновления и аутентификация

Это потому, что пользователь веб-сервера по умолчанию, который запускает httpd , известен как _www, который не будет пользователем вашей локальной учетной записи. Если ваша машина используется только вами и веб-сервер будет работать только под вашей учетной записью, вы можете сменить пользователя.

Найдите своего пользователя и группу

В Терминале используйте команду id, чтобы увидеть ваше имя пользователя и группу

Я бы

Вы получите кучу групп пользователей, вам нужны ваш основной пользовательский uid и имена gid группы

uid = 502 (администратор) gid = 20 (персонал)

Измените это обратно в /etc/apache2/httpd.conf

Перезапустите Apache

перезапуск sudo apachectl

Перезапустите Apache, и теперь вы используете httpd в качестве локальной учетной записи.

связанные с