MadMaxInsight / bitrix-vagrant-centos7

Последняя версия Виртуальной машины BitrixVM v7.x на Centos 7 с использованием Vagrant

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Концепция работы

Концепция работы в 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 Box

Важно: перед началом установки: Если Vagrant будет устанавливаться на OS Windows, нужно указывать местоположение для его установки с отсутсвием в пути кириллицы. Для проекта так же нужно указать путь без кириллицы, иначе образ просто не соберется!

Скачайте и установите VirtualBox и Vagrant для своей операционной системы по ссылкам в описании.

Желательно хранить на локальном компьютере по одному образу виртуальных машин (далее - боксы) для каждого типа проектов в зависимости от CMS или фреймворка, на котором работает или будет делаться клиентский сайт. Поэтому предлагаю создавать следующую стуркутуру:

F:\vagrant_projects
.\bitrix
.\wordpress
.\opencart
.\dajngo
.\react
и т.д.

Где каждая директория в папке vagrant_projects будет называться по типу CMS или фреймворка.

Разворачивание Vagrant Box

Важно: перед началом выполнения действий: Включите VPN, иначе пакеты внутри vagrant-инструкций не поставятся!

После того как файловая структура для хранение боксов будет создана, необходимые программы и плагины установлены, открываем терминал по адресу нужной директории в зависимотсти от типа проекта и выполняем следующие действия:

  1. Скачивайте репозиторий командой git clone
  2. После скачивания репозитория желательно удалить все лищнее (.git, README.md, LICENSE), кроме содержимого папки ./vagrant
  3. Перейдите в папку ./vagrant командой cd /vagrant
  4. При первом запуске установите плагин "vagrant-reload" с помощью команды vagrant plugin install vagrant-reload, а так же плагин "vagrant-vbguest" командой vagrant plugin install vagrant-vbguest --plugin-version 0.21
  5. После установки плагинов выполните команду vagrant up и дождитесь окончания установки
  6. В случае успешной установки проверяете подключение по ssh командой vagrant ssh, в результате которой вы должны подоключится к виртуальной машине и увидеть что-то типа: "[vagrant@bitrix ~]$"
  7. Назначьте права на директорию /bitrix/ , которая создается при разворачивании данного VagrantFile командой sudo chown -R vagrant:vagrant ./bitrix, это нам необъодимо для дальнейшей работы по SFTP
  8. Выходим из ssh-соединения командой exit и оказываемся в области свой локальной машины
  9. Переходим к разделу "Перенос проекта с "боевого" сайта"

Настройка VS Code для работы с боксом

Чтобы была возможность работать с структурой сайта через 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 и выполняем стандартный перенос проекта по ссылке:

alt text

На этапе разворачивания Базы данных для подключения используйте хост http://127.0.0.1:8889 , логин - root, пароль - root. Также просто задайте имя новой базе, куда будут перенесены данные с боевго сайта и не забудьте выставлить галочку в чекауте "Создать базу данных если не существует".

По окончанию разворачивания сайта через restore.php переходим к разделу "Настройка VS Code для работы с боксом".

Работа с git и обмен изменениями с "боевым сайтом"

Согласно концепции, определенной в первом разделе - "Концепция работы", каждая выполненная задача согласно ТЗ будет передаваться в виде нового коммита с изменениями на удаленный репозиторий github.com

Проджект-менеджером должно быть все подготовлено так, что при скачивании резервной копии через restore.php, вместе со структурой сайта должна подтянуться скрытая папка .git, поэтому Git инициализировать не придется. Но вначале обязательно стоит проверить акутальность состояния резервной копии путем ввода команды git status в корневой папке сайта (там где лежит robots.txt, .htaccess и прочее).

Возможные ошибки во время установки

Если во время установки у вас появилось одно из следующих сообщений:

  1. vagrant-reload is not installed! Please install it and try again. -- вам необходимо установить плагин "vagrant-reload" с помощью команды: vagrant plugin install vagrant-reload
  2. mount: unknown filesystem type 'vboxsf' -- вам необходимо установить плагин "vagrant-vbguest" с помощью команды: vagrant plugin install vagrant-vbguest
  3. umount: /mnt: not mounted -- вам необходимо переустановить 0.21 версию путем удаления командой vagrant plugin uninstall vagrant-vbguest и повторной установки командой vagrant plugin install vagrant-vbguest --plugin-version 0.21

Возможная ошибка при поптыке подключения через SSH

Если в терминале вывелся пожобный текст .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 необходимо производить там, где располагается файл 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

About

Последняя версия Виртуальной машины BitrixVM v7.x на Centos 7 с использованием Vagrant

License:MIT License


Languages

Language:Shell 100.0%