Сервер VoIP для небольшой компании (FreePBX 14, Asterisk 15, Ubuntu 16.04) часть 2

    Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью.

    Продолжение статьи Сервер VoIP для небольшой компании (FreePBX 14, Asterisk 15, Ubuntu 16.04) часть 1.

    В комментариях возник вопрос, почему я не создал deb пакет, скажу прямо — не было такой задачи. Но всё же я решил углубиться и решить эту проблему. Описывать установку Ubuntu server 16.04 не буду, остановлюсь только на главном.

    Исходные данные:

    • Ubuntu server 16.04 minimal, Память 1Gb, Диск 64 Gb, использует EFI, сервер виртуализации ESXi 6.5;
    • Asterisk 15.0.0 в исходниках;
    • Все дополнения из репозиториев.

    Создание deb пакета asterisk 15.0.0:

    1. Установим зависимости для сборки:

    sudo apt install libiksemel-utils lame sox mpg123 pkg-config automake libtool autoconf git subversion xmlstarlet checkinstall

    2. Скачиваем исходники Asterisk:

    cd /usr/local/sbin
    wget wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
    tar zxvf ./asterisk-15-current.tar.gz
    cd ./asterisk-15*
    

    3. Добавляем в исходники mp3:

    contrib/scripts/get_mp3_source.sh

    Asterisk сам скачает необходимые ему файлы.

    4. Подготавливаем систему к сборке Asterisk:

    contrib/scripts/install_prereq install

    5. Конфигурируем исходники:

    ./configure --with-pjproject

    Если в системе уже есть pjproject, то используйте:

    ./configure --with-pjproject-bundled

    6. Собираем Asterisk:

    make menuselect
    make

    Тут на своё усмотрение, я выбрал 'format_mp3' и 'res_config_mysql'.

    7. Создаем deb пакет командой:

    checkinstall

    Для работы Asterisk необходим пакет libjansson4, libxslt1-dev, добавляем их в зависимости, пункт 10.

    8. Мне потребовалось изменить пакет, включить необходимые для полноценной работы с FreePBX директории и файлы:

    dpkg-deb -x  asterisk_15.0.0-1_amd64.deb asterisk

    Я добавил директории /etc/aserisk, /var/spool/asterisk и файл /etc/default/asterisk

    Если забыли внести зависимости то:

    dpkg-deb -e asterisk_15.0.0-1_amd64.deb asterisk/DEBIAN

    Собираем всё командой:

    fakeroot dpkg -b asterisk/ .

    Пакет создан, как создать локальные репозиторий описывать не буду, статьи есть habrahabr.ru.

    P.S. Собранный пакет на установиться на систему где был собран, проблема в зависимостях установленных для сборки. На другой машине встаёт без проблем. Если у вас возникла ошибка с установкой, значит в системе нет зависимых пакетов.
    Поделиться публикацией
    Комментарии 4
      +2
      Простите, но что это?
      Инструкцию как собрать пакет из исходников можно найти даже на самой вики астерикса.
      упоминается упоминается только в заглавии статьи FreePBX и то что надо было чтото поменять в пакете. Про качество самого текста — я вообще молчу.
        +1
        автору, по всей видимости, вообще не очень нравятся комментарии, где никто не восхищается, тем, что он самоотверженно, вопреки здравому смыслу всё это поднимает на ubuntu, вместо того, чтобы поставить настроенное из коробки и не «насиловать труп».
          0
          а чем плоха серверная ubuntu?
            0
            самоотверженно, вопреки здравому смыслу всё это поднимает

            Поддерживаю. Вообще не вижу смысла подобных статей. Предполагается, что я должен все эти манипуляции проделать ручками вслед за автором, вместо того, чтобы подобрать и сконфигурировать плейбук оркестратора и установить всё это двумя командами? Или развернуть из докера одной командой? 2017 год на дворе, установка сервисов это уже давно полностью автоматизированная задача, требующая минимума человеческого участия и ручное cd/wget/tar/cd больше не являются лучшими практиками.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое