Концепция работы в GP следующая: разработчик устанавливает локально на своем компьютере копию "боевого" сайта заказчика на виртуальном сервере с помощью VirtualBox, и взаимодействует с ней посредством протокола SFTP как с полноценным удаленным сервером. Для этого настраивается IDE (тут рассмотрен пример настройки VS Code) а обмен между "боевым" сайтом заказчика и локальным сервером происходит через Git. Ниже в разделе "Разворачивание Vagrant Box" и в "Перенос проекта с "боевого" сайта" рассмотрен порядок действий для
Данная сборка поможет вам быстро развернуть «1С-Битрикс: Веб-окружение» на вашем компьютере из под любой системы. При установке виртуальной машины будет скачан vagrant box https://app.vagrantup.com/centos/boxes/7 , а также поставлены следующие программы: wget, nano, composer и BitrixVM v7.x. Для корректной установки вам потребуется установленная программа Vagrant последней версии, скачать ее можно по ссылке https://www.vagrantup.com/downloads.html. Также вам понадобиться программа виртуализации VirtualBox - https://www.virtualbox.org/wiki/Downloads.
Важно: перед началом установки: Если Vagrant будет устанавливаться на OS Windows, нужно указывать местоположение для его установки с отсутсвием в пути кириллицы. Для проекта так же нужно указать путь без кириллицы, иначе образ просто не соберется!
Скачайте и установите VirtualBox и Vagrant для своей операционной системы по ссылкам в описании.
Желательно хранить на локальном компьютере по одному образу виртуальных машин (далее - боксы) для каждого типа проектов в зависимости от CMS или фреймворка, на котором работает или будет делаться клиентский сайт. Поэтому предлагаю создавать следующую стуркутуру:
F:\vagrant_projects
.\bitrix
.\wordpress
.\opencart
.\dajngo
.\react
и т.д.
Где каждая директория в папке vagrant_projects будет называться по типу CMS или фреймворка.
Важно: перед началом выполнения действий: Включите VPN, иначе пакеты внутри vagrant-инструкций не поставятся!
После того как файловая структура для хранение боксов будет создана, необходимые программы и плагины установлены, открываем терминал по адресу нужной директории в зависимотсти от типа проекта и выполняем следующие действия:
- Скачивайте репозиторий командой
git clone
- После скачивания репозитория желательно удалить все лищнее (.git, README.md, LICENSE), кроме содержимого папки ./vagrant
- Перейдите в папку ./vagrant командой
cd /vagrant
- При первом запуске установите плагин "vagrant-reload" с помощью команды
vagrant plugin install vagrant-reload
, а так же плагин "vagrant-vbguest" командойvagrant plugin install vagrant-vbguest --plugin-version 0.21
- После установки плагинов выполните команду
vagrant up
и дождитесь окончания установки - В случае успешной установки проверяете подключение по ssh командой
vagrant ssh
, в результате которой вы должны подоключится к виртуальной машине и увидеть что-то типа: "[vagrant@bitrix ~]$" - Назначьте права на директорию /bitrix/ , которая создается при разворачивании данного VagrantFile командой
sudo chown -R vagrant:vagrant ./bitrix
, это нам необъодимо для дальнейшей работы по SFTP - Выходим из ssh-соединения командой
exit
и оказываемся в области свой локальной машины - Переходим к разделу "Перенос проекта с "боевого" сайта"
Чтобы была возможность работать с структурой сайта через VS Code, нужно иметь у себя в расширениях плагин SSH FS (https://marketplace.visualstudio.com/items?itemName=Kelvin.vscode-sshfs). В нем необходимо создать конфиг нового подключения со следующими параметрами:
Host - 127.0.0.1
Port - 2222
Username - vagrant
Private key - взять из параметра "IdentityFile" вывода команды vagrant ssh-config
Как параметры будут заданы в конфиг, проверяем работоспособность и наслаждаемся процессом взаимодействия с шустрым боксом.
Открываем в браузере http://127.0.0.1:8888/restore.php
и выполняем стандартный перенос проекта по ссылке:
На этапе разворачивания Базы данных для подключения используйте хост http://127.0.0.1:8889
, логин - root
, пароль - root
.
Также просто задайте имя новой базе, куда будут перенесены данные с боевго сайта и не забудьте выставлить галочку в чекауте "Создать базу данных если не существует".
По окончанию разворачивания сайта через restore.php переходим к разделу "Настройка VS Code для работы с боксом".
Согласно концепции, определенной в первом разделе - "Концепция работы", каждая выполненная задача согласно ТЗ будет передаваться в виде нового коммита с изменениями на удаленный репозиторий github.com
Проджект-менеджером должно быть все подготовлено так, что при скачивании резервной копии через restore.php, вместе со структурой сайта должна подтянуться скрытая папка .git, поэтому Git инициализировать не придется. Но вначале обязательно стоит проверить акутальность состояния резервной копии путем ввода команды git status
в корневой папке сайта (там где лежит robots.txt, .htaccess и прочее).
Если во время установки у вас появилось одно из следующих сообщений:
vagrant-reload is not installed! Please install it and try again.
-- вам необходимо установить плагин "vagrant-reload" с помощью команды:vagrant plugin install vagrant-reload
mount: unknown filesystem type 'vboxsf'
-- вам необходимо установить плагин "vagrant-vbguest" с помощью команды:vagrant plugin install vagrant-vbguest
umount: /mnt: not mounted
-- вам необходимо переустановить 0.21 версию путем удаления командойvagrant plugin uninstall vagrant-vbguest
и повторной установки командойvagrant plugin install vagrant-vbguest --plugin-version 0.21
Если в терминале вывелся пожобный текст .ssh/config: terminating, N bad configuration options
-- вам необходимо поправить ошибки в файле ".ssh/config", но перед этим чтобы увидеть в каких конкретно строках ошибки, через терминал попробуйте вызвать команду ssh vagrant@127.0.0.1:2222
, по итогу вы получите подобный ответ "/.ssh/config: line 11: Bad configuration option: ..." - затрите эту строку и попробуйте подключиться по ssh еще раз командой vagrant ssh
Все команды vagrant
необходимо производить там, где располагается файл vagrant/VagrantFile
.
vagrant halt
- Остановка виртуальной машины (рекомендуемый способ).
vagrant up
- При первом запуске будет запущена инициализация виртуальной машины, далее машина будет просто влключаться.
vagrant reload
- Перезагрузка виртуальной машины.
vagrant reload --provision
- Пересоздание виртуальной машины. Файлы и папки из вашей физической мышины затронуты не будут, более того после пересоздания ваш сайт и вся его структура останутся невредимыми.
vagrant destroy
- Удаление виртуальной машины.
vagrant --help
- Вывод списка команд.
vagrant ssh
- Подключение к виртуальной машине по ssh. Для того чтобы сменить пользователя на root используйте команду su -
, пароль vagrant
.
Более подробную информацию по работе с «1С-Битрикс: Веб-окружение» вы можете найти по ссылке - https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=37&CHAPTER_ID=08809&LESSON_PATH=3908.8809