Здесь короткое видео и полтора десятка ссылок. В видео не только установка связки Vagranr -VirtualBox, но и работа в ssh, с debugger... А в ссылках докуентация, статьи и некоторые VDD альтернативы "LAMP Stacks Made Easy with Vagrant & Puppet", PuPHPet ... Собственно, начал я три дня назад с альтернативы: -DrupalVM, но что-то встало криво... начал читать документацию и ...увлекся...
Boxes are the package format for Vagrant environments.
Начало работы с Vagrant и зачем он вообще нужен
Tutorial: Vagrant Drupal 8 Development In this tutorial, you'll learn how to set up a local Drupal 8 development environment using the Vagrant Drupal Development (VDD) contributed module, Chef, Vagrant, and VirtualBox.
Vagrant Drupal Development The main goal of the project is to provide easy to use fully functional, highly customizable and extendable Linux based environment for Drupal development.
The Xdebug extension helps you debugging your script by providing a lot of valuable debug information.
drushcommands.com
Drush on Windows is not recommended, since Drush's test suite is not running there (help wanted).
Acquia Dev Desktop Acquia Dev Desktop allows you to install, test, and build Drupal sites locally on your Mac or Windows PC and optionally host them on either Acquia Cloud or the Acquia Cloud Free developer sandbox. Easily push or pull to synchronize your local site's code, database, or files with any Acquia Cloud environment.
Our build process using Drupal 8
ActiveLAMP Blog Thoughts, Perspectives, and Musings
of technology from the people at ActiveLAMP. Now that the release of Drupal 8 is finally here, it is time to adapt our Drupal 7 build process to Drupal 8, while utilizing Docker. This post will take you through how we construct sites on Drupal 8 using dependency managers on top of Docker with Vagrant.
Vagrantfile The primary function of the Vagrantfile is to describe the type of machine required for a project, and how to configure and provision these machines.
Vagrantfile. Конфиг файл по русски Для настройки виртуальной машины и окружения используется файл конфига Vagrantfile. Этот файл нужно располагать в корне разрабатываемого проекта, т.к. обычно его нужно держать в GITе, чтобы другие (особенно новые) участники проекта смогли без танцев развернуть проект локально. Ниже информация по основным параметрам файла конфигурации Vagrant адаптирована для русскоговорящей публики.
Drupal VM is A VM for local Drupal development, built with Vagrant + Ansible.
Welcome to Drupal VM's documentation site! Please read through the Quick Start Guide to get started, and then browse the rest of this project's documentation in the sidebar.
DrupalVM
What is the Drupal Console? The Drupal Console is a suite of tools run from a command line interface (CLI) to generate boilerplate code and interact with a Drupal 8 installation. From the ground up, it has been built to utilize the same modern PHP practices which were introduced in Drupal 8.
LAMP Stacks Made Easy with Vagrant & Puppet So here you are: LAMP stacks made easy with Vagrant and Puppet.
puphpet.com
PuPHPet - A simple GUI to set up virtual machines for PHP development
Начнем с конца: Windows+Vagrant+WinNFSD Without File Update Problems¶
В статье по ссылке описан хитрый вариант ускорения синхронизации файлов в виртуальной машине и на хосте windows. Прочитал эту статью я я как раз после того, как попытался перевести одну машину с "nfs"на "smb", а для второй просто установил палгин vagrant-winnfsd... В результате обе машины работали, но перестали соединять с Друпалом... Скорость работы - это вопрос принципиальный, потому я решил попрбовать более простой вариант VDD 8.x-1.x presentation
The first step in configuring any Vagrant project is to create a Vagrantfile
The purpose of the Vagrantfile is twofold:
1.Mark the root directory of your project. 2.Describe the kind of machine and resources you need to run your project, as well as what software to install and how you want to access it.
$ mkdir vagrant_getting_started
$ cd vagrant_getting_started
$ vagrant init
This will place a Vagrantfile in your current directory.
You can also run vagrant init in a pre-existing directory to set up Vagrant for an existing project.
It is time to boot your first Vagrant environment. Run the following from your terminal:
$ vagrant up
In less than a minute, this command will finish and you will have a virtual machine running Ubuntu.
You will not actually see anything though, since Vagrant runs the virtual machine without a UI. To prove that it is running, you can SSH into the machine:
$ vagrant ssh
Переустанавливаем virtualbox c новым параметром файловой системы "smb" для windows¶
# The first synced folder will be used for the default Drupal installation, if
# build_makefile: is 'true'.
- local_path: ~/Sites/drupalvmx
destination: /var/www/drupalvmx
type: smb
create: true
X:\_virtualBox\drupal-vm-master>vagrant up --provision
Bringing machine 'drupalvmx' up with 'virtualbox' provider...
==> drupalvmx: Box 'geerlingguy/ubuntu1404' could not be found. Attempting to find and install...
drupalvmx: Box Provider: virtualbox
drupalvmx: Box Version: >= 0
==> drupalvmx: Loading metadata for box 'geerlingguy/ubuntu1404'
drupalvmx: URL: https://atlas.hashicorp.com/geerlingguy/ubuntu1404
==> drupalvmx: Adding box 'geerlingguy/ubuntu1404' (v1.1.0) for provider: virtualbox
drupalvmx: Downloading: https://atlas.hashicorp.com/geerlingguy/boxes/ubuntu1404/versions/1.1.0/prov
iders/virtualbox.box
drupalvmx: Progress: 100% (Rate: 1694k/s, Estimated time remaining: --:--:--)
==> drupalvmx: Successfully added box 'geerlingguy/ubuntu1404' (v1.1.0) for 'virtualbox'!
==> drupalvmx: Preparing master VM for linked clones...
drupalvmx: This is a one time operation. Once the master VM is prepared,
drupalvmx: it will be used as a base for linked clones, making the creation
drupalvmx: of new VMs take milliseconds on a modern system.
==> drupalvmx: Importing base box 'geerlingguy/ubuntu1404'...
==> drupalvmx: Cloning VM...
==> drupalvmx: Matching MAC address for NAT networking...
==> drupalvmx: Checking if box 'geerlingguy/ubuntu1404' is up to date...
==> drupalvmx: Setting the name of the VM: drupalvmx.dev
==> drupalvmx: Fixed port collision for 22 => 2222. Now on port 2200.
==> drupalvmx: Preparing SMB shared folders...
drupalvmx: You will be asked for the username and password to use for the SMB
drupalvmx: folders shortly. Please use the proper username/password of your
drupalvmx: Windows account.
drupalvmx:
drupalvmx: Username: alter_000
drupalvmx: Password (will be hidden):
==> drupalvmx: Clearing any previously set network interfaces...
==> drupalvmx: Preparing network interfaces based on configuration...
drupalvmx: Adapter 1: nat
drupalvmx: Adapter 2: hostonly
==> drupalvmx: Forwarding ports...
drupalvmx: 22 (guest) => 2200 (host) (adapter 1)
==> drupalvmx: Running 'pre-boot' VM customizations...
==> drupalvmx: Booting VM...
==> drupalvmx: Waiting for machine to boot. This may take a few minutes...
drupalvmx: SSH address: 127.0.0.1:2200
drupalvmx: SSH username: vagrant
drupalvmx: SSH auth method: private key
==> drupalvmx: Machine booted and ready!
==> drupalvmx: Checking for guest additions in VM...
==> drupalvmx: Setting hostname...
==> drupalvmx: Configuring and enabling network interfaces...
==> drupalvmx: Mounting SMB shared folders...
drupalvmx: Installing SMB "mount.cifs"...
drupalvmx: C:/Users/pc/Sites/drupalvmx => /var/www/drupalvmx
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
mount -t cifs -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3`,sec=ntlm,credentials=/etc/
smb_creds_ab8e9e56d659468a0fcfab23e74aba5d //192.168.1.41/ab8e9e56d659468a0fcfab23e74aba5d /var/www/drup
alvmx
mount -t cifs -o uid=`id -u vagrant`,gid=`id -g vagrant`,sec=ntlm,credentials=/etc/smb_creds_ab8e9e56d65
9468a0fcfab23e74aba5d //192.168.1.41/ab8e9e56d659468a0fcfab23e74aba5d /var/www/drupalvmx
The error output from the last command was:
stdin: is not a tty
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
X:\_virtualBox\drupal-vm-master>
Пробуем ускорить синхронизацию папок спомощью плагина¶
По рекомендациям DrupalVm Docs » Other Information » Windows Notes
alter_000@pb MINGW64 /f/drupal/drupal-vm-master
$ vagrant plugin install vagrant-winnfsd
Installing the 'vagrant-winnfsd' plugin. This can take a few minutes...
Installed the plugin 'vagrant-winnfsd (1.1.0)'!
alter_000@pb MINGW64 /f/drupal/drupal-vm-master
$ vagrant reload
==> drupalvm: Checking if box 'geerlingguy/ubuntu1404' is up to date...
==> drupalvm: Clearing any previously set forwarded ports...
==> drupalvm: Clearing any previously set network interfaces...
==> drupalvm: Preparing network interfaces based on configuration...
drupalvm: Adapter 1: nat
drupalvm: Adapter 2: hostonly
==> drupalvm: Forwarding ports...
drupalvm: 22 (guest) => 2222 (host) (adapter 1)
==> drupalvm: Running 'pre-boot' VM customizations...
==> drupalvm: Booting VM...
==> drupalvm: Waiting for machine to boot. This may take a few minutes...
drupalvm: SSH address: 127.0.0.1:2222
drupalvm: SSH username: vagrant
drupalvm: SSH auth method: private key
==> drupalvm: Machine booted and ready!
==> drupalvm: Checking for guest additions in VM...
==> drupalvm: Setting hostname...
==> drupalvm: Configuring and enabling network interfaces...
==> drupalvm: Exporting NFS shared folders...
==> drupalvm: Preparing to edit nfs mounting file.
[NFS] Status: halted
[NFS] Start: started
==> drupalvm: Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -o '' 192.168.88.1:'/C/Users/alter_000/Sites/drupalvm' /var/www/drupalvm
Stdout from the command:
Stderr from the command:
stdin: is not a tty
mount.nfs: mount system call failed
alter_000@pb MINGW64 /f/drupal/drupal-vm-master
####
C:\HashiCorp\Vagrant\bin>netstat /?
Отображение статистики протокола и текущих сетевых подключений TCP/IP.
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-x] [-t]
[интервал]
-a Отображение всех подключений и портов прослушивания.
-b Отображение исполняемого файла, участвующего в создании
каждого подключения или порта прослушивания. Иногда известные
исполняемые файлы содержат множество независимых
компонентов. Тогда отображается последовательность компонентов,
участвующих в создании подключения или порта прослушивания. В
этом случае имя исполняемого файла находится снизу в скобках
[], сверху находится вызванный им компонент, и так до тех
пор, пока не достигнут TCP/IP. Заметьте, что такой подход
может занять много времени и требует достаточных разрешений.
-e Отображение статистики Ethernet. Может применяться вместе
с параметром -s.
-f Отображение полного имени домена (FQDN) для внешних адресов.
-n Отображение адресов и номеров портов в числовом формате.
-o Отображение ИД процесса каждого подключения.
-p протокол Отображение подключений для протокола, задаваемых этим
параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6.
Если используется вместе с параметром -s для отображения
статистики по протоколам, допустимы следующие значения:
IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
-q Отображение всех подключений, портов прослушивания и ограниченных
непрослушивающих TCP-портов. Ограниченные непрослушивающие порты могут быть или не быть
связанными с активными подключениями
-r Отображение содержимого таблицы маршрутов.
-s Отображение статистики по протоколам. По умолчанию статистика
отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6,
UDP и UDPv6. Параметр -p позволяет указать подмножество
выводимых данных.
-t Отображение состояния разгрузки для текущего подключения.
-x Отображение подключений, прослушивателей и общих конечных точек
NetworkDirect.
-y Отображение шаблона подключений TCP для всех подключений.
Не может использоваться вместе с другими параметрами.
interval Повторное отображение выбранной статистики с паузой
между отображениями, заданной интервалом
в секундах. Чтобы прекратить повторное отображение
статистики, нажмите клавиши CTRL+C.
Если этот параметр опущен, netstat напечатает текущую
информацию о конфигурации один раз.
C:\HashiCorp\Vagrant\bin>
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий