# Настройка vhosts
> Смотреть видео на YouTube: [Локальный веб-сервер на Mac OS + MySql + PhpMyAdmin + iCloud Drive - настройка](https://www.youtube.com/watch?v=zhDtkywnpZk)
1. создаем папку vhosts по пути `/private/etc/apache2/`
- `sudo mkdir /private/etc/apache2/vhosts`
2. создаем дефолтный конфиг `_default.conf`
> Переходим в папку vhosts
- `cd /private/etc/apache2/vhosts`
> Создаем конфиг
- `sudo nano _default.conf`
> Заполняем конфиг
```apache
DocumentRoot "/Library/WebServer/Documents"
```
после заполнения в терминале необходимо нажать control + x, затем "Y" и enter для сохранения изменений
---
## Cоздаем конфиг под проект mysite.local (пример проекта)
1. Создаем
- `sudo nano mysite.local.conf`
2. Заполняем
```apache
DocumentRoot "ПУТЬ ПРОЕКТА"
ServerName mysite.local
ErrorLog "/private/var/log/apache2/mysite.local-error_log"
CustomLog "/private/var/log/apache2/mysite.local-access_log" common
AllowOverride All
Require all granted
```
после заполнения в терминале необходимо так же нажать control + x, затем "Y" и enter для сохранения изменений
Путь iCloud Drive - `/Users/ПОЛЬЗОВАТЕЛЬ/Library/Mobile Documents/com~apple~CloudDocs/`
Путь который использую я (для примера)
- `/Users/egor/Library/Mobile Documents/com~apple~CloudDocs/Development/Web/mysite`
## Настройка конфига httpd
- Открываем конфиг в текстовом редакторе, путь `/private/etc/apache2/httpd.conf` (можно использовать nano)
1. Необходимо раскомментировать строки (убрать #, примечание - версия php может отличаться в зависимости от
установленной MacOS):
```apache
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
```
2. Исправляем строки User и Group
вместо _www добавить пользователя и группу, мой вариант для примера
```apache
User vladimir
Group admin
```
3. Подключаем vhosts
после строки "Include /private/etc/apache2/extra/httpd-mpm.conf"
```
Include /private/etc/apache2/vhosts/*.conf
```
## Распаковка phpMyAdmin
> Распаковываем zip архив с phpMyAdmin по пути /Library/WebServer/Documents
> Меняем имя папки из архива на "phpmyadmin"
> Переходим в папку посредством терминала
- `cd /Library/WebServer/Documents/phpmyadmin`
> Копируем `config.sample.inc.php` в `config.inc.php`
- `sudo cp config.sample.inc.php config.inc.php`
## Установка и настройка MySql
- Установить `MySql.dmg`
- Правим `localhost`
1. Создаем папку mysql в каталоге var
- `sudo mkdir /var/mysql`
2. Создаем псевдоним mysql.sock из temp в созданную папку
- `sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock`
### Подключаемся к MySql через терминал
- `/usr/local/mysql/bin/mysql -u root -p`
- Правим пароль
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ПАРОЛЬ';
```
> Выходим из MySql
- `/q`
## Редактирование hosts
- Открываем `hosts`:
- `sudo nano /etc/hosts` и добавляем `127.0.0.1 mysite.local`