falbar Настраиваем общую папку на VirtualBox для локального веб-сервера

Настраиваем общую папку на VirtualBox для локального веб-сервера

13 января 2019 711 0

Казалось бы, что такого - настроить общую папку на VirtualBox? В сети очень много статей и даже видео уроков, которые должны были бы раскрыть эту тему полностью, но, как оказалось, или просто мне так повезло - в большинстве случаев это просто бесполезная информация, которая не дает никакого понимания: как же все-таки это сделать в рамках создания своего локального сервера!

Реклама

Напомню, в предыдущей статье мы установили весь необходимый софт для нашего сервера: Apache, PHP, MySQL и PHPMyAdmin. И мы уже можем работать на своей виртуальное машине, но это будет крайне неудобно, для этого нам и нужно соединить хост машину (в моем случае MAC OS) и виртуальную при помощи общей папки. Сейчас я подробно разберу все этапы этого действия.

Первое, что нам будет необходимо сделать - это донастроить виртуальную машину, переходим: Сеть -> Тип подключения -> Выбираем «Сетевой мост».

tip-podklyucheniya-vybiraem-setevoj-most-1

Теперь нам нужно выбрать у нас на ПК, где будет располагаться общая папка (условно назовём vb-public) в моем случаи:

tip-podklyucheniya-vybiraem-setevoj-most-2

Теперь добавим ее в настройках:

tip-podklyucheniya-vybiraem-setevoj-most-3
Мы выбрали название папки на сервере public, а на самом деле она будет называться sf_public - это стоит помнить.

С настройками на хост машине закончено, теперь запускаем наш сервер и продолжим работать уже там. Первое, что нам нужно сделать, так это в устройствах кликнуть по «Подключить образ Диска дополнений гостевой ОС»:

tip-podklyucheniya-vybiraem-setevoj-most-4

После того, как образ будет подключен вы увидите окно:

podklyuchit-obraz-diska-dopolnenij-gostevoj-os-1

Нажимаем «OK» и открываем терминал в этой же папке, где нужно выполнить команду:

sudo apt install dkms build-essential linux-headers-generic

Теперь запустим скрипт в текущей папке, используя команду:

sudo sh ./VBoxLinuxAdditions.run

И останется добавить нашего пользователя для работы с папкой, делается это таким образам:

sudo adduser server vboxsf
sudo usermod -aG vboxsf www-data

После чего вы уже сможете увидеть общую папку в файловом менеджере, но при попытке перейти в нее у вас будет выпадать ошибка касательно прав доступа. Это легко решается перезагрузкой системы.

podklyuchit-obraz-diska-dopolnenij-gostevoj-os-2

После чего две наши системы уже будут связаны и по сути мы сделали первую часть работы. Как вы уже догадались, мы будем хранить наши сайты в общей папке и для этого нам нужно настроить Apache:

sudo nano /etc/apache2/apache2.conf

В конфиге нужно закомментировать строчки:

apache-nuzhno-zakommentirovat-strochki

А в конце файла добавить:

<Directory /media/sf_public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted
</Directory>
apache-a-v-konce-fajla-dobavit

После этого сохраняем файл и нам останется изменить еще DocumentRoot, указав путь до нашей общей папки:

sudo nano /etc/apache2/sites-available/000-default.conf
ostanetsya-izmenit-eshhe-documentroot

На этом можно сказать, что мы закончили второй этап работы, при котором мы можем в общей папке спокойно на создавать свои будущие сайты и работать на хосте с ними.

Если вы еще не размонтировании «Диск дополнений гостевой ОС», то самое время.

Добавление виртуальных хостов (доменов)

Самое время проверить все, что мы наворотили, а по этому добавим первый сайт на свой локальный сервер (назовем его vb.loc). Но перед этим проставим правильные права на папку sites-available, куда мы и будем добавлять свои виртуальные хосты:

sudo chmod -R 777 /etc/apache2/sites-available

Далее переходим в папку sites-available:

cd /etc/apache2/sites-available/

Создаем файл:

sudo nano vb.loc.conf

С содержимым:

<VirtualHost *:80>
    ServerName test.loc
    DocumentRoot /media/sf_public/vb.loc/
</VirtualHost>
dobavlenie-virtualnyx-xostov

Регистрируем домен и перезапускаем сервер:

sudo a2ensite vb.loc
service apache2 restart
Для удаления хостов есть команда a2dissite, после вызова, которой можно удалить файл с настройками хоста.

Еще нам потребуется IP нашей виртуальной машины, вводим команду:

ifconfig
nam-potrebuetsya-ip-nashej-virtualnoj-mashiny

А теперь мы можем вернуться на хост машину и создать в папке vb-public наш сайт в файл host добавим домен:

na-xost-mashinu-i-sozdat-v-papke-vb-public

Для примера я добавил вывод функции phpinfo(), как видите из скрина - мы получили доступ к сайту из основной OC и спокойно можем над ним работать. На этом я буду заканчивать статью, в следующей заключительной мы разберем как подключиться к MySQL из хост машины через какой-нибудь клиент, а так же несколько полезностей.

Статьи из серии «Создание локального веб-сервера»:

Реклама
Комментариев еще не оставлено
no_avatar