Статьи

5 простых способов начать работу с PHP на Vagrant

Vagrant — это инструмент для создания и управления виртуальными средами, который помогает многим разработчикам не заботиться о проблеме «работает на моей машине…». Vagrant создает многоразовые системы разработки, которые можно использовать снова и снова, помогая поддерживать систему в чистоте от слишком большого количества установок.

Когда вы сосредоточены на разработке и не имеете навыков системного администратора, лучше всего (если вы собираетесь использовать Vagrant во время разработки), чтобы попробовать другой способ настройки конфигурации Vagrant.

Когда дело доходит до разработки PHP, существуют некоторые онлайн-сервисы, которые упрощают установку и настройку этих виртуальных машин Vagrant. Вот список некоторых из этих услуг.

1. PuPHPet

PuPHPet , пожалуй, самый «известный» из этих сервисов и, пожалуй, самый «специализированный» из них. Это дает вам возможность разместить виртуальную машину на локальном компьютере, в Digital Ocean, Rackspace или Amazon Web Services. Вы можете добавить перенаправленные порты одним нажатием кнопки, и общий доступ к исходным папкам также прост. Вы можете настроить брандмауэр, устанавливая правила и удаляя их по мере необходимости. Что касается веб-серверов, вы можете выбирать между Apache и Nginx, выбирая псевдонимы и порты для доступа к приложению.

Когда дело доходит до языков программирования, PuPHPet — это не только PHP. Помимо PHP, вы можете установить Python, Ruby, NodeJS и HHVM . Вы не можете установить как PHP, так и HHVM, так как сервис не позволяет этого — используйте Homestead Improved для запуска обоих одновременно. При установке HHVM вы также можете установить ночной выпуск, который дает вам возможность протестировать язык взлома Facebook.

Что касается баз данных, PuPHPet имеет самый большой из них, с 6 различными базами данных. Вы можете выбрать между MySQL / MariaDB (не может иметь оба), PostgreSQL, Redis, SQLite и MongoDB. Вы можете установить Adminer для управления БД, но не устанавливайте его на рабочий сервер.

Перед завершением PuPHPet позволяет установить такие инструменты, как RabitMQ , Elasticsearch и т. Д.

Все, что PuPHPet хочет от вас, это то, что вы используете версию Vagrant не ниже 1.6. Кроме того, вам нужен VirtualBox для использования конфигураций на вашем локальном компьютере. Вы можете найти исходный код PuPHPet в этом репозитории GitHub и более подробное руководство здесь .

2. Protobox

Protobox — еще один онлайн-сервис Vagrant. Есть много причин использовать Protobox . На самом деле он начинался как форк PuPHPet, но оказался совершенно другим проектом из-за некоторых проблем, связанных с Puppet (не PuPHPet). Protobox превратился в отличный сервис, который помогает создавать конфигурации Vagrant для разработки веб-приложений.

При использовании Protobox вы можете выбрать из списка типов приложений:

Вы можете добавить более одного из этих приложений в конфигурацию. Что касается веб-серверов, доступны как Apache, так и Nginx. Вы можете выбрать только три языка: PHP, HipHop (с HHVM) и Ruby.

На момент написания этой статьи Protobox поддерживает только MySQL и MariaDB, но скоро появятся и другие базы данных, такие как PostgreSQL, MongoDB, Redis и Riak. Такие инструменты, как инструменты Ngrok и NewRelic ( агент PHP и агент узла ), можно установить, установив флажок.

Вы можете найти исходный код Protobox в репозитории GitHub .

3. Фансибл

Phansible — это еще один инструмент для создания конфигураций Vagrant на основе Ansible , также созданный на основе PuPHPet.

Phansible несколько проще, чем вышеперечисленные услуги. Это разрешает и Apache и Nginx, с HHVM только при выборе Nginx. Вы не можете выбрать другой язык, кроме PHP, но вы можете выбирать между версиями PHP. Кроме того, вы не можете выбрать любую другую базу данных, кроме MySQL.

Если вы заранее решили использовать только Apache / Nginx, PHP и MySQL, Phansible не сильно отличается от других сервисов, перечисленных выше. В противном случае вам придется установить другие инструменты вручную.

4. Роув

Роув , наверное, самый простой из них. Вы можете выбрать любую из типичных конфигураций, Rails и LAMP, или вы можете создать свою конфигурацию вручную.

Rove поддерживает CouchDB, MongoDB, MySQL, PostgreSQL, Redis и SQLite в качестве баз данных. Вы можете выбрать столько, сколько хотите из них. Он также поддерживает те же языки, что и PuPHPet, все кроме HHVM.

5. Индивидуальные конфигурации

Существуют также некоторые другие конфигурации Vagrant, которые зависят от конкретного случая, то есть для одной среды PHP.

Я бы упомянул здесь Laravel’s Homestead , что делает разработку Laravel кусочком пирога, как переднего, так и заднего. Он поставляется с PHP5.6, Nginx в качестве веб-сервера, MySQL и PostgreSQL; и NodeJS, с Bower, Grunt и Gulp для разработки интерфейса. Здесь есть улучшенная версия Homestead.

Phalcon также имеет конфигурацию Vagrant , которая экономит ваше время на установку и настройку на существующем сервере, хотя вы можете следовать этому быстрому совету для установки Phalcon на экземпляр Homestead Improved .

WordPress имеет собственную конфигурацию Vagrant, VVV — Varying Vagrant Vagrants . На SitePoint есть полное руководство, которое показывает, как использовать VVV.

Заключительные слова

Иногда может быть сложно использовать Vagrant, но его стоит использовать, поскольку он может быть исключительно полезным. Если вы устали от настройки своего компьютера для каждого имеющегося у вас проекта, то Vagrant — подходящий инструмент для вас. Если вы столкнулись с проблемами при настройке вашего компьютера, то использование предварительно упакованного бродячего ящика — лучший ответ на ваши проблемы. Какие-либо альтернативы вышеперечисленным услугам мы пропустили? Дайте нам знать!