Как с помощью Vagrant автоматически в VirtualBox создать виртуальную машину и простейший сайт, и открыть его из основной системы
Primary tabs
Forums:
Что такое Vagrant?
Vagrant — это надстройка, которая управляет виртуальными машинами в VirtualBox: создаёт, настраивает, подключает сеть, ставит ПО и т.п. Он работает из основной системы и использует VirtualBox "под капотом".
Vagrant нужно установить на хостовую систему (в моём случае это Windows), где у вас уже стоит VirtualBox.
1. Установка Vagrant на Windows
Перейдите на сайт: https://developer.hashicorp.com/vagrant/install
Выберите версию для Windows (AMD64) и установите, как обычную программу.
После установки откройте PowerShell или cmd и проверьте:
```cmd
vagrant --version
2. Создание Vagrant-проекта
```cmd
cd ~ mkdir my-vagrant cd my-vagrant vagrant init
Таким образом, в домашней директории пользователя Windows создадим папку проекта "my-vagrant", а команда "vagrant init" создаст в ней дефолтный файл Vagrantfile.
3. Автоматизация управления над Virtualbox
Отредактируйте Vagrantfile — замените содержимое файла на следующее:
# -*- mode: ruby -*-
Vagrant.configure("2") do |config|
# Используем Ubuntu 22.04 LTS
config.vm.box = "ubuntu/jammy64"
# Настройка приватной сети с IP
config.vm.network "private_network", ip: "192.168.33.10"
# Установка Nginx и создание HTML-файла
config.vm.provision "shell", inline: <<-SHELL
# Установка nginx
sudo apt-get update
sudo apt-get install -y nginx
# Создание простейшего index.html
echo "<h1>Hello from Vagrant on Ubuntu 22.04</h1>" |
sudo tee /var/www/html/index.html
# Включение nginx
sudo systemctl enable nginx
sudo systemctl restart nginx
SHELL
end
4. Запуск виртуальной машины
VirtualBox должен быть запущен
```cmd
vagrant up
В этом шаге Vagrant:
скачает образ Ubuntu,
настроит сеть,
установит nginx,
поместит HTML-файл,
запустит сервер.
Теперь в основной системе в браузере откроем:
http://192.168.33.10
должны увидеть сообщение "Hello from Vagrant on Ubuntu 22.04".
Если открыть VirtualBox, то в списке виртуальных машин появилась ещё одна (у меня это my-vagrant_default_1750920237706_14235).
5. Работа с созданной гостевой системой
В нормальной работе с Vagrant не стоит входить в ОС через VirtualBox вручную (но если очень хочется, то вот стандартные учётные данные для всех Vagrant-образов Ubuntu: логин: vagrant пароль: vagrant).
Вместо этого нужно использовать команду "vagrant ssh" из основной системы из папки проекта:
```cmd
cd ~\my-vagrant vagrant ssh
таким образом зашли в гостевую систему через терминал хостовой системы:
vagrant@ubuntu-jammy:~$
посмотреть содержимое папки html:
```cmd
ls -l /var/www/html/
проверить версию nginx внутри виртуалки:
```cmd
nginx -v
посмотреть, какие ещё пакеты установлены:
```cmd
dpkg -l
выйти из виртуалки:
```cmd
exit
6. Добавление домена через hosts
Если нужно открыть сайт по домену из браузера из основной системы, например по url http://myproject.loc, отредактируем файл hosts, который находится по адресу C:\Windows\system32\drivers\etc\hosts
Добавьте в этот файл ещё одну строчку:
192.168.33.10 myproject.loc
Файл после этого должен выглядеть примерно так:
# 127.0.0.1 localhost 127.0.0.1 test.loc 192.168.1.4 mysite.loc 192.168.33.10 myproject.loc ::1 localhost
Сохраните изменения и закройте файл.
Теперь можно открыть сайт по адресу: http://myproject.loc
- Log in to post comments
- 247 reads