Vagrant — единое окружение для разработки

Преамбула

Данная мини-статья является отсылкой к созданию более правильного окружения для разработки.

В современном мире WEB-разработки, разработчики уже давно перестали устанавливать окружение для разработки: PHP, WEB-сервер, СУБД и т.д. на свой локальный компьютер, на котором производят разработку.

Во-первых, установка и настройка занимает драгоценное время и силы.

Во-вторых, если разработчик работает на нескольких компьютерах (компьютер в офисе, дома, ноутбук), то достаточно проблематично настроить идентичное окружение везде и синхронизировать его настройку между всеми своими компьютерами. Эта проблема называется проблемой идентичности состояния, когда предполагается, что состав, версии и конфигурация всего ПО должна быть максимально идентичной.

В-третьих, если вы не один разработчик, то еще тяжелее поддерживать идентичность окружения на всех ваших компьютерах и на всех компьютерах ваших коллег. Здесь поддержать идентичное состояние еще сложней, так как от вас уже почти ничего не зависит.

В четвертых, состояние окружения вашего рабочего компьютера скорее всего не совпадает и не может совпадать с состоянием окружения вашего боевого (продакшн) сервера. Ведь у вас же Windows со всеми его причудами в конфигурировании, а на боевом сервере что-то однозначно другое.

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

Избежать этого хаоса вам поможет виртуализация окружения разработки. Вам нужна виртуальная машина, которая бы разворачивалась по заданному вами сценарию, чтобы ее можно было развернуть одним кликом на любом компьютере под любой операционной системой. Пока вы будете пить кофе, ваша виртуальная машина будет готова. Также вам нужны какие-то средства для быстрого и простого управления такой виртуальной машиной (запуск, остановка, реконфигурация). И еще было бы здорово, если бы в файловой системе этой виртуальной машины был каталог, который отображался с каталога вашей локальной машины. Например, чтобы каталог локальной машины D:\myProjects, где хранятся ваши проекты, соответствовал каталогу виртуальной машины /var/myProjects или подобному. Еще хотелось бы иметь возможность выполнять настоящую отладку с использованием PHP-xDebug, причем приложение должно выполняться в виртуальной среде, на виртуальной машине, а управлять им вы могли с локальной. Уже нравится? Идем дальше! Читать далее Vagrant — единое окружение для разработки

Установка Nginx 1.13, PHP 7, MySQL 5.7, MariaDB 10.1 в Debian и Ubuntu

Набор инструкций для установки последних версий Nginx, PHP, MySQL, MariaDB на компьютер (сервер) под управлением операционных систем Debian или Ubuntu. Инструкции описывают простое добавление альтернативных репозиториев в систему и установку приложений из них.

Разделы данной инструкции не пересекаются между собой. Это всего лишь набор не связанных инструкций. Всё, что их связывает, это дополнение стандартного репозитория альтернативными с последними версиями. Всё это одновременно устанавливать не нужно! Инсталлируйте только то, что Вам необходимо.

Описаны следующие приложения (версии указаны на момент написания статьи):

  1. Nginx (1.13)
  2. MySQL (5.7)
  3. MariaDB (10.1)
  4. PostgreSQL (9.6)
  5. PHP (7.0, 7.1)
  6. MongoDB (3.4)
  7. Elasticsearch (5.4)

Читать далее Установка Nginx 1.13, PHP 7, MySQL 5.7, MariaDB 10.1 в Debian и Ubuntu

Установка Asterisk 11 chan_dongle E1550 на Ubuntu 14

Вышла более новая статья, описывающая установку Asterisk 13 с chan_dongle на Debian 8

За все время работы в разных телекоммуникационных компаниях приходилось много раз устанавливать и настраивать софтсвитч Asterisk. Чтобы каждый раз не вспоминать последовательность действий, вывел для себя своего рода эталонную инструкцию, следуя которой можно быстро и без проблем собрать рабочий сервер Asterisk с драйверами GSM-модемов Huaweii E1500. Версия Asterisk 11 выбрана потому, как драйверов модемов E1550 нет под более новые версии. Последний релиз 11 версии достаточно стабилен и может успешно применяться для организации офисной мини-АТС или для организации небольшого контакт-центра.

Так как изначально Asterisk предназначен и полностью заточен под ядро Linux, то и устанавливать его будем под Убунту, которую проще и быстрее развернуть. На самом деле совершенно не принципиально, под какой дистрибутив Linux производить установку. Попытки полноценно установить и использовать все модули под FreeBSD не привели к желаемому результату. Для правильной работы всех модулей все таки рекомендуется именно Linux.

В этой статье будет рассмотрена установка софтсвитча asterisk 11 chan_dongle на операционную систему Ubuntu 14.04 LTS. Тоже самое не раз было проделано на Debian 7 и 8 без изменений. Так что можете смело использовать Debian. Читать далее Установка Asterisk 11 chan_dongle E1550 на Ubuntu 14