Как создать виртуальные хосты в Apache 2 под Mac Os
Хотя я и заядлый приверженец Nginx'a сегодня я расскажу вам как настроить виртуальные хосты в Apach'е на вашем маке. Вдруг вас тоже судьба как и меня занесла в проект где нужно пошаманить с апачем.
На самом деле виртуальные хосты в апаче добавляются так же просто как и в nginx'е. Для начала вам необходимо раскоментить строку отвечяющую за хосты. Для этого открывем файл
sudo vi /etc/apache2/httpd.conf
Находим строку:
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf
И расскоменчиваем:
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
То-же самое делаем со строкой:
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Теперь смело можете добавлять ваши новые хосты в hosts.conf и настлаждаться работой с вашим локальным веб сервереом.
sudo vi /etc/apache2/extra/httpd-vhosts.conf
Пример хоста:
<VirtualHost *:80>
ServerName yii.loc
DocumentRoot /Users/mark/server/yii/web
<Directory /Users/mark/server/yii/web>
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /Users/mark/server/yii/logs/myhost-error_log
CustomLog /Users/mark/server/yii/logs/myhost-access_log combined
</VirtualHost>
Как вы могли заметить я прописал пути к моей домашней дерриктории юзера в маке, создал там папку server куди и закинул всю структуру локального сайта всключая логи.
Что бы наш сайт заработал осталось только вписато домен myhos.local в хост фал вашего мака с направлением на локалхост и конечноже перезагрузить апач:
sudo apachectl restart
Скорей всего вы можете столкнуться с ошибкой 403 потому что файлы расположенные в домашней дериктории юзера принадлежать вашему юзеру, а апач работает от имени другого. Что бы дать права на доступ апачу просто примените права 775 к вашей папке
chmod -R 755 /Users/mark/server/myhost
Не забудьте заменить пользователя "mark" на вашего юзера системы.