Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Лёгкое создание виртуальных машин с помощью PuPHPet. Часть 2

Мэтью Сеттер (Matthew Setter), 18 декабря 2013

часть 1 | часть 2 | часть 3

Создание конфигурации

После их установки откройте https://puphpet.com. Сверху справа вы можете увидеть четыре пункта начального меню: Local, Digital Ocean, Rackspace и Amazon Web Services. Выбираем Local, так как в этом руководстве мы не используем предлагаемые онлайн-сервисы.

Под «Local VM Details» мы можем указать параметры ВМ:

  • операционную систему,
  • имя хоста,
  • IP-адрес,
  • объем памяти.

В сегодняшнем примере мы будем использовать Debian Wheezy 7.2 x64 с VirtualBox 4.3. Это позволит нам использовать PHP 5.5 или 5.4. Оставшиеся три настройки вы можете оставить как есть или указать их, как сочтете нужным.

Далее следует Local VM Forwarded Ports (переадресация портов локальной ВМ). Я не конфигурирую их, но если вы хотите назначить какие-то порты вашей основной машины для адресации портов гостевой ВМ, то можете сконфигурировать их здесь как нужно.

Local VM Details

Общие папки с локальной ВМ

Здесь мы увидим силу и гибкость, предоставляемые Vagrant и Puppet. В Box Sync Folder Source (исходная папка для синхронизации с ВМ) вы можете указать локальную директорию, которая будет сопоставлена с директорией в гостевой ВМ. Местоположение последней указывается в Box Sync Folder Target (целевая папка для синхронизации с ВМ). Я оставлю в обоих пунктах значения по умолчания, равно как и в пункте «Shared Folder Type» (тип общей папки).

Эта опция удобна, если вы хотите создать несколько различных директорий в вашей ВМ. Допустим, у вас есть рабочая копия в папке ~/Documents/workspace/your-project. Вы можете сопоставить эту директорию с корневой директорией веб-сервера на вашей ВМ. В таком случае вы сможете разрабатывать локально без необходимости синхронизировать или копировать окружение на виртуальную машину.

Sharing Folders with Local VM

Базовый сервер

Вам могут понадобиться специфические пакеты, такие как git, subversion, vim и т.д. Если они предусмотрены в системе, то можете выбрать их. Но учтите, что для этого вы должны знать, как эти пакеты конкретно называются в выбранной вами операционной системе. Когда вы набираете их названия, никакого списка не всплывает.

Server Basics

Веб-сервер

Apache(2) или Nginx? В этом руководстве я остановлюсь на Apache. Опции его конфигурирования просты и прямолинейны. Сначала укажем модули, которые нужно установить и включить. Для этого наберем их в поле Apache Modules. При этом выпадет список доступных модулей, которые вы можете выбрать. Это позволяет избежать ошибок при наборе.

Далее перейдем к конфигурации Virtual Host. Каким должно быть имя сервера и алиас вашего приложения? Сначала указываем их, потом корневую директорию и порт. Для Document Root мы можем указать ту же самую директорию, что и для Box Sync Folder Target. Тогда работать с ее содержимым будет приятно и легко. Если у вас нет иной необходимости, оставьте порт как есть (80).

Изменять последние две настройки, — Environment Variables и AllowOverride, — следует только если это нужно вашему приложению. Их значения по умолчанию вполне подходят для сегодняшней задачи.

Webserver

PHP

Здесь доступно всего несколько опций, но их вполне достаточно для нас. Я оставлю дефолтный PHP 5.5 (вряд ли вы хотите иной). Также оставлю выбор Composer-а. Если вы не используете Composer, или не хотите с ним возиться, прочтите этот превосходный пост Бена Рамсея или этот пост о Composer на SitePoint.

В разделе INI Settings (настройки в php.ini) я соглашусь со значениями по умолчанию, но добавлю allow_url_fopen, allow_url_include, error_log, file_uploads и apc.enabled. Вы можете поступить также или просмотреть обширный список и выбрать что-то своё.

В качестве часового пояса для своего PHP я выберу 'Europe/Berlin', так как это — моя зона. Вам следует выбрать более подходящую для своего местоположения. В списке модулей PHP выберу cli, intl, mcrypt, cgi, curl, memcached, memcache, pspell, tidy и sqlite. Прокрутите список и добавьте то, что вам нужно (или хотелось бы). Для модулей PEAR и Pecl я оставлю все как есть.

В настройках по умолчанию я выберу для установки Xdebug вместо Xhprof. XDebug просто великолепен и я очень рекомендую вам использовать именно его.

PHP Configuration

База данных

Это серьезное дело. Сегодня я выберу, например, MySQL, на котором задам root-овый пароль — password, и оставлю все привилегии как есть. Задам имя БД — sitepoint, ее пользователя — testuser, и его пароль — testpassword. Такие значения я ввел просто для того, чтобы не усложнять ситуацию. У меня нет скрипта SQL, который должен выполняться при загрузке ВМ, так что оставлю это поле пустым.

Database Configuration

часть 1 | часть 2 | часть 3

Автор: Мэтью Сеттер, 18.12.2013
Перевод с английского: Дмитрий Скоробогатов, специально для xBB.uz, 12.05.2014
Оригинальный текст может быть найден по адресу http://www.sitepoint.com/build-virtual-machines-easily-puphpet/

Мэтью Сеттер

Мэтью Сеттер

Мэтью — независимый технический писатель, который любит делать технический контент веселым и увлекательным, даже развлекательным; профессиональный блоггер; разработчик веб-приложений. Свое свободное время он предпочитает тратить на двух своих любимых женщин (жену и дочь) а также на изучение Германии, — своей второй родины.


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2014-05-12 11:01:32

Метки материала: машины, автоматизированные системы, puphpet, виртуальные машины, софт, программное обеспечение, it, разработка софта, php

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.