Voipnotes
Услуги
  • 3CX Phone System
    • Купить IP АТС - 3CX Phone System
Ещё
    Задать вопрос
    +7 (499) 113-65-73
    Заказать звонок
    sale@voipnotes.ru
    г. Москва 2-й Михайловский проезд 9
    +7 (499) 113-65-73
    Заказать звонок
    Voipnotes
    Услуги
    • 3CX Phone System
      • Купить IP АТС - 3CX Phone System
      Voipnotes
      Услуги
      • 3CX Phone System
        • Купить IP АТС - 3CX Phone System
        Voipnotes
        Voipnotes
        • Услуги
          • Назад
          • Услуги
          • 3CX Phone System
            • Назад
            • 3CX Phone System
            • Купить IP АТС - 3CX Phone System
        • +7 (499) 113-65-73
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        • Главная
        • Блог
        • Установка Asterisk 13 на CentOS 7

        Установка Asterisk 13 на CentOS 7

        22 Апреля 2015

        В сегодняшней статье мы расскажем, как установить Asterisk 13 на CentOS 7(64 бит).

        Первым делом проверим включен или выключен SELinux. Вводим в консоли команду

        sestatus

        Если видим следующий вывод, то SELinux включен.

        SELinux status:                 enabled
        SELinuxfs mount: /sys/fs/selinux
        SELinux root directory: /etc/selinux
        Loaded policy name: targeted

        Current mode: enforcingMode from config file: enforcing
        Policy MLS status: enabled
        Policy deny_unknown status: allowed
        Max kernel policy version: 28

        Отключаем SELinux и перезагружаем машину

        nano /etc/sysconfig/selinux
        SELINUX=disabled
        reboot

        Теперь вывод sestatus должен показать:

        SELinux status:                 disabled

        Подключить дополнительный репозиторий EPEL

        rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
        yum -y update
         

        Установим зависимости, которые будут необходимы для корректной работы Asterisk

        yum install -y gcc gcc-c++  lynx bison mariadb-devel mariadb-server mariadb gmime-devel psmisc php php-mysql php-pear php-mbstring
        tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel
        kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel libuuid-devel bzip2
         

        Запустим и включим автозагрузку MySQL(mariadb)

        systemctl enable mariadb.service
        systemctl start mariadb.service

        По умолчанию, после установки, мы можем подключиться к нашему серверу баз данных под root-ом без ввода пароля. Поэтому назначим пароль и сделаем еще несколько настроек, выполнив скрипт:

        mysql_secure_installation


        Set root password? [Y/n] y
        New password:
        Re-enter new password:
        Password updated successfully!
        Remove anonymous users? [Y/n] y
        Disallow root login remotely? [Y/n] n
        Remove test database and access to it? [Y/n] y
        Reload privilege tables now? [Y/n] y
        Thanks for using MariaDB!
         

        Установим PearDB

        pear uninstall db
        pear install db-1.7.14
         

        Переходим в /usr/src/  скачиваем, распаковываем и компилируем pjproject

        wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
        tar -xjvf pjproject-2.4.tar.bz2
        cd pjproject-2.4*
        ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --libdir=/usr/lib64
        make dep
        make
        make install
        cd ..

        Скачиваем, распаковываем и компилируем jansson

        wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
        tar zvxf jansson-2.5.tar.gz
        cd jansson-2.5
        ./configure --prefix=/usr
        make clean
        make
        make install
        ldconfig
        cd ..

        Скачиваем, распаковываем и компилируем lame

        wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz 
        tar zxvf lame-3.98.4.tar.gz
        cd lame-3.98.4
        ./configure
        make
        make install
        cd ..

        Скачиваем, распаковываем и компилируем DAHDI

        wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz 
        tar xvfz dahdi-linux-complete-current.tar.gz
        cd dahdi-linux-complete-*
        make all
        make install
        make config
        cd ..

        Скачиваем, распаковываем и компилируем libpri

        wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
        tar xvfz libpri-1.4-current.tar.gz
        cd libpri-1.4.15
        make
        make install
        cd ..

        Теперь переходим к самому главному - скачиваем Asterisk

        wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

        Распаковываем

        tar xvfz asterisk-13-current.tar.gz
        cd asterisk-13.*

        Начнем установку Asterisk 13. Необходимые модули устанавливаем командой make menuselect.

        ./configure --libdir=/usr/lib64
        contrib/scripts/get_mp3_source.sh
        make menuselect

        По большей части, все необходимые модули уже включены. Вы можете что-то добавить или удалить. При выборе модуля будет краткое описание его назначения. В разделе Add-ons для поддержки mp3 включите модуль 'format_mp3'

        FreePBX-13-CentOS.jpg

        Во вкладке Core Sound Packages  выберите необходимые форматы звуковых пакетов.

        asterisk2.jpg

        В Music On Hold File Packages включаем все модули.

        В Extras Sound Packages включаем первые 4 модуля, содержащие EN

        Продолжаем установку:

        make
        make install
        make samples
        make config

        Создаем пользователя и даем ему права для работы с Asterisk.

        useradd -m asterisk
        chown asterisk.asterisk /var/run/asterisk
        chown -R asterisk.asterisk /etc/asterisk
        chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
        chown -R asterisk.asterisk /usr/lib64/asterisk

        Перезапускаем  Asterisk

        systemctl restart asterisk
         

        Сделаем некоторую настройку для MySQL. Подключаемся к MySQL.

        mysql -uroot –p(пароль заданный при установке MySQL(mariadb))

        После ввода пароля мы окажемся в консоли MySQL. Создадим пользователя asterisk и паролем ‘password’.

        create user 'asterisk'@'localhost' identified by 'password';

        Создадим базу данных asteriskcdrdb, asterisk.

        create database asterisk;
        create database asteriskcdrdb;

        Далее определяем владельца базы данных

        GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'password';
        GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'password';
        flush privileges;

        Приступим к настройке безопасности. По умолчанию в CentOS 7 вместо iptables использует службу FirewallD. Синтаксис FirewallD выглядит:

        firewall-cmd —permanent —add-port=№порта/протокол

        Запустим и включим автозагрузку FirewallD

        systemctl start  firewalldsystemctl enable firewalld

        Добавим правила:

        firewall-cmd --zone=public --add-port=5060/udp --permanent
        firewall-cmd --zone=public --add-port=5061/udp --permanent
        firewall-cmd --zone=public --add-port=4569/udp --permanent
        firewall-cmd --zone=public --add-port=5060/tcp --permanent
        firewall-cmd --zone=public --add-port=5061/tcp --permanent
        firewall-cmd --zone=public --add-port=5038/tcp --permanent
        firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
        firewall-cmd --reload

        Убедимся, что правила добавились:

        #firewall-cmd --zone=public  --list-all

        public (default, active)
        interfaces: eth0
        sources:
        services: dhcpv6-client ssh
        ports: 80/tcp 5061/tcp 4569/udp 5060/tcp 10000-20000/udp 5061/udp 5060/udp 5038/tcp
        masquerade: no
        forward-ports:
        icmp-blocks: echo-reply echo-request
        rich rules:
        На этом установка закончена. 

        Проблемы в процессе установки. 

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

        Проблема:

        [CC] format_mp3.c -> format_mp3.o
        format_mp3.c:39:24: fatal error: mp3/mpg123.h: No such file or directory

        Решение проблемы:

        cd /usr/src/asterisk-*/
        contrib/scripts/get_mp3_source.sh
         

        Проблема:

        configure: error: *** termcap support not found

        Решение проблемы:

        yum install libtermcap-devel
         

        Проблема:

        configure: *** XML documentation will not be available because the 'libxml2' development package is missing.
        configure: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option
        configure: *** or install the 'libxml2' development package.

        Решение проблемы:

        yum -y install libxml2-devel
         

        Проблема:

        Doxygen is not installed. Please install and re-run the configuration script.

        Решение проблемы:

        yum -y install doxygen
         

        Проблема:

        configure: error: *** uuid support not found (this typically means the uuid development package is missing)

        Решение проблемы:

        yum -y install libuuid-devel
         

        Проблема:

        Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

        Решение проблемы:

        /etc/selinux/config SELINUX=disabledreboot
         

        Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

        Нужна консультация?

        Наши специалисты ответят на любой интересующий вопрос

        Задать вопрос
        Поделиться
        Назад к списку
        © 2021 Все права защищены.
        +7 (499) 113-65-73
        Заказать звонок
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        Политика конфиденциальности
        Версия для печати
        © 2021 Все права защищены.
        Заказать звонок
        Написать сообщение