Екатерина
12.06.2019
521

Установка FreeSwitch из исходников на Centos 7

В рамках данной статьи будет представлена подробная установка FreeSwitch из исходников на ОС Centos 7 minimal. Перед установкой необходимо подготовить сервер, установив необходимые утилиты и зависисмости. Сначала рекомендуется отключить Selinux, для этого необходимо поменять в файле /etc/selinux/config поменять значение параметра SELINUX с enforsing на disabled Следующим шагом необходимо выполнить обновление системы, запускается командой yum update […]

В рамках данной статьи будет представлена подробная установка FreeSwitch из исходников на ОС Centos 7 minimal.

Во многих источниках присутсвует информация о наличии официального репозитория FreeSwitch для Centos 7. Но до последнего времени в нем присутсвовали не все необходимые модули.

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

Сначала рекомендуется отключить Selinux, для этого необходимо поменять в файле /etc/selinux/config поменять значение параметра SELINUX с enforsing на disabled

Следующим шагом необходимо выполнить обновление системы, запускается командой yum update

Также рекомендуется установить базовые серверные утилиты, командой yum groupinstall Base

После выполнения данных шагов необходимо перезагрузить сервер командой reboot

После загрузки проверить статус Selinux, командой sestatus, результат должен выдать disabled

Далее нужно установить веб-сервре и mysql. В качестве веб-сервера используется Apache, в качестве mysql — Mariadb.

Установка Apache производится командой yum install httpd

После установки необходимо запустить Apache b добавить его в автозапуск, командами systemctl start httpd и systemctl enable httpd соответсвенно.

Далее необходимо установить Mariadb, командой yum install mariadb-server mariadb

После установки запуск и добавление в автозагрузку производятся командами  systemctl start mariadb и systemctl enable mariadb

Также рекомендуется выполнить первоначальную настройку Mariadb с помощью команды mysql_secure_installation

Также необходимо установить дополнительные зависимости:

yum install php php-pdo php-mysql sqlite-devel pcre-devel speex-devel libedit-devel bison patch ncurses-devel unixODBC-devel openssl-devel gnutls-devel libogg-devel autoconf automake gcc-c++ git-core libjpeg-devel libtool libjpeg-devel kernel-devel git xz-devel mesa-dri-drivers libXv libXScrnSaver xorg-x11-fonts* libXScrnSaver curl-devel libtiff-devel libjpeg-devel subversion   fontconfig libICE  libSM libX11  libXau libxcb libXcursor  libXext libXfixes  libXi libXinerama libXrandr  libXrender libXScrnSaver  libXv portaudio portaudio-devel

Также рекомендуется установить и настроить ODBC коннектор, если он отсутсвует в системе:

yum install unixODBC-devel mysql-connector-odbc

Далее необходимо настроить ODBC с помощью файла /etc/odbcinst.ini в большинстве случаев нет необходимости вносить правки. Ниже приведен примерный вид данного файла — секция [MySQL]

Далее необходимо заполнить файл /etc/odbc.ini при его отсутствии — необходимо создать и внести в него следующие данные:

[MySQL-fusionpbx]
Description=MySQL connection to 'fusionpbx' database
Driver   = MySQL
Server   = localhost
Port     = 3306
Database = fusionpbx
Option  = 3
Socket   = /var/lib/mysql/mysql.sock

Далее необходимо скачать через git исходный код FreeSwitch.
Для этого необходимо перейти в директорию /usr/src и выполнить команду:

git clone -b v1.8 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch

Далее перейти в директорию с кодом: cd /usr/src/freeswitch

И запустить конфигурацию командой ./bootstrap.sh -j

Далее перед продолжением установки рекомендуется раскомментировать дополнительные модули в файле modules.conf

Примерный вид приведен ниже на скриншоте:

Далее необходимо запустить продолжение конфигурации командой ./configure –enable-portable-binary –prefix=/usr –localstatedir=/var –sysconfdir=/etc –with-gnu-ld –with-openssl –enable-core-odbc-support –enable-zrtp –enable-static-v8 –disable-parallel-build-v8 при удачном конфигурировании будет выдан список директорий, с которыми работает FreeSwitch

Далее вызываем команду make

Если выполнение make прерывается сообщением Neither yasm nor nasm have been found необходимо установить утилиту yasm c помощью git: git clone https://github.com/yasm/yasm.git && cd yasm && ./autogen.sh && make && make install

После успешной установки  – должно отобразится предложение выполнить make install.

Для полной установки вызывается команда make install

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

Далее рекомендуется установить стандартные аудиофайлы различного качества в англоязычном и русскоязычном форматах, а также файлы музыки в ожидании.

make sounds-install
make moh-install
make sounds-ru-install
Также опционально аудиофайлы можно установить в лучшем качестве: HD, Ultra HD и CD<strong><br> <br> </strong>

Например:

make hd-moh-install
make hd-sounds-install
make hd-sounds-ru-install

Следующим шагом необходимо создать пользователя FreeSwitch и установить права на файлы и директории FreeSwitch, а также создать директорию для PID-файла:

useradd freeswitch
chown -R freeswitch:freeswitch /usr/bin/freeswitch
chmod -R 770 /usr/bin/freeswitch
chmod -R 750 /usr/freeswitch/bin/*
mkdir /run/freeswitch
chown -R freeswitch:freeswitch  /run/freeswitch

А также необходимо скопировать файл юнита для запуска FreeSwitch

cp/usr/src/freeswitch/build/freeswitch.service  /etc/systemd/system/multi-user.target.wants/

Рекомендуется привести его к следующему виду:

[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target

[Service]
; service
Type=forking
RuntimeDirectory=freeswitch
PIDFile=/run/freeswitch/freeswitch.pid
PermissionsStartOnly=true
ExecStart=/usr/bin/freeswitch -ncwait -nonat -run /run/freeswitch
TimeoutSec=45s
Restart=always
; exec
WorkingDirectory=/run/freeswitch
User=freeswitch
Group=daemon
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
;LimitSTACK=240
LimitRTPRIO=infinity
LimitRTTIME=7000000
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007

[Install]
WantedBy=multi-user.target

Далее необходимо создать конфигурационный файл, в котором будут описаны разрешения freeswitch по-умолчанию:

vim /usr/lib/tmpfiles.d/freeswitch.conf

И прописать в него следующие параметры:

d /run/freeswitch   770 freeswitch freeswitch

Далее — производится перезапуск службы daemon и запускается служба FreeSwitch:

systemctl daemon-reload
systemctl start freeswitch.service

Командой systemctl status freeswitch.service можно проверить статус службы

Вход в консоль FreeSwitch производится командой fs_cli

Для выхода из консоли используется сочетание клавиш Ctrl+d

На этом установка FreeSwitch завершена.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices