Разворот окружения с помощью готовых сборок Vagrant
Опубликовано сб, 04/06/2016 - 23:33
Сегодня рассмотрим разные варианты запуска локального энвайромента с помощью готовых сборок, т.е. непосредственно перейдем к автоматизации процесса настройки окружения.
Прежде чем запускать готовую сборку, внимательно ознакомьтесь с конфигурационными файлами каждой из них, т. к. в большинстве случаев изменения касаются не только софта, который будет установлен, но и непосредственно конфигурации самой виртуальной машины (инсталляция 64-разрядной ubuntu, количество задействованных процессоров, оперативная память, тип и размер жесткого диска и т. д.). Необходимо корректировать конфиги сборок в случае, если ваша виртуалка что либо не поддерживает. Это поможет избежать множества проблем и ошибок при установке/запуске машины.
Содержание
Использование puphpet
Проект puphpet[1] (ссылка на гитхаб[2]) позволяет быстро “набросать” конфиг для вагранта, получить скрипты для установки и конфигурации софта: веб-сервера, клиента базы данных, поискового клиента и т.д.
На сайте будет предложено пройти по пунктам конфигурации (Deploy Target, System, Web Servers и т.д.), выбрать, что необходимо поставить и указать требуемые параметры. Пользоваться конфигуратором просто и удобно. На заключительном этапе будет предложено скачать архив с настройками. Далее этот архив распаковываем в нужную папку, запускаем командную строку, переходим в директорию и выполняем команду
1 |
vagrant up |
Сборка drupalvm
Drupal Virtual Machine (drupalvm) можно скачать как с официального сайта[3] так и с репозитория на гитхабе[4].
Сборка позиционируется как специально созданная для быстрого разворота окружения под Drupal и по умолчанию содержит в себе следующее:
- Ubuntu 16.04 (64-bit)
- Apache 2.4.x (можно выбрать Nginx 1.x)
- PHP 7.0.x (настраивается, доступна версия 5.6)
- MySQL 5.7.x - можно выбрать MariaDB
- Drush (настраивается)
- Drupal 7.x, или 8.x.x (настраивается)
- Опционально (устанавливается по умолчанию):
- — Drupal Console
- — Varnish
- — Apache Solr
- — Node.js
- — Selenium (для тестирования сайтов через Behat)
- — Ruby
- — Memcached
- — Redis
- — SQLite
- — XHProf (для профилирования кода)
- — Blackfire (для профилирования кода)
- — XDebug (для дебага кода)
- — Adminer (доступ к напрямую к базе данных)
- — Pimp my Log (для легкого просмотра файлов логов)
- — MailHog (для перехвата тестовой почты)
После скачки архива и его распаковки, необходимо скопировать и переименовать два конфигурационных файла:
- example.drupal.make.yml в drupal.make.yml
- example.config.yml в config.yml
Внося изменения в config.yml, можно корректировать перечень утилит, которые будет установлены. В config.yml в разделе installed_extras можно включить/выключить дополнительные программы, которые необходимо инсталлировать на виртуалку.
В файле drupal.make.yml по умолчанию к установке указан Drupal 8 и контрибный модуль devel, здесь же можно указать дополнительные модули. Если вы меняете версию друпала в drupal.make.yml, то обязательно измените ее и в параметре drupal_major_version в config.yml. В config.yml параметр drupal_enable_modules управляет какие скачанные модули будут включены.
Далее порядок действий точно такой же как в пункте с puphpet.
После установки в UI окне виртуалбокса появится виртуальная машина drupalvm.dev и packer-ubuntu-16.04-amd64-disk1.vmdk. Через vagrant up будет запускаться всегда drupalvm.dev, поэтому вторую виртуалку можно просто скрыть из списка.
По умолчанию ip-address виртуальной машины — 192.168.88.88, не забываем прописать его в hosts.
1 |
192.168.88.88 drupalvm.dev |
Использование druphpet
Проект Druphpet также расположен на гитхабе[5] и сфокусирован на быстром развороте локального окружения для Drupal. Сборка основана на puphpet. В отличие от drupalvm имеет довольно большой список инструментов из коробки, которые разработчик может выбрать перед установкой.
Конфигурационный файл расположен по пути puphpet/config.yaml. Небольшой список того, что входит в сборку:
- Ubuntu 64-bit Precise 14.04
- Drush 7.x
- Apache 2.4.x
- PHP 5.6.x with extensions:
- — (debugger, pecl) XDebug
- — (profiler, tool, pecl) XHProf
- — (pecl) SOAP
- — (pecl) Uploadprogress
- — (pecl) APCu
- — (pecl) Memcached
- — (tool, PEAR) PHP_CodeSniffer
- — (PEAR) PHP_Console_Table
- Apache Solr 4.x
- OPCacheGUI
- PHPMemcacheAdmin
- MySQL 5.6.x
- dos2unix
- Percona Toolkit
- phpMyAdmin
- . . .
С полным списком инструментов можно ознакомиться на странице проекта[5].
Использование vdd
VDD или Vagrant Drupal Development — контрибный модуль[6], представляющий собой архив с конфигами для Vagrant. Работает (из утверждений на официальной странице) с Drupal 6,7,8, но ссылка на странице приведена только для друпала 8. Для просмотра всех релизов нажмите на ссылку View all releases или по ссылке[7]. Имеет в своем наборе небольшой список инструментов, но вполне достаточный для работы, а именно:
- Apache, PHP, MySQL
- PhpMyAdmin
- Drush
- Xdebug, Webgrind
- Mailcatcher
Итог
Сборки, перечисленные в статье — лишь малая часть того, что существует. Естественно, не каждую сборку удастся поставить без каких-либо проблем, но большинство "граблей" уже описано. Тем не менее, их можно использовать прямо сейчас, сильно не углубляясь во все внутренности скриптов.
Дополнительная информация по статье
- https://puphpet.com - официальная страница проекта puphpet
- https://github.com/puphpet/puphpet - официальная страница проекта puphpet на github.com
- http://www.drupalvm.com - официальная страница проекта drupalvm
- https://github.com/geerlingguy/drupal-vm - страница проекта drupalvm на гитхабе
- https://github.com/alehkot/druphpet - официальная страница проекта druphpet
- https://www.drupal.org/project/vdd - официальная страница проекта vdd
- https://www.drupal.org/node/2008018/release - страница всех релизов проекта vdd
- Версии программных продуктов, используемых в статье: Vagrant 1.8.1, VirtualBox 5.0.10
1 Комментарий
Гость - пн, 31/12/2018 - 14:56
fantastic post, very
fantastic post, very informative. I wonder why the opposite specialists of this sector don't realize this. You must proceed your writing. I am confident, you've a great readers' base already!