Debian 9 «Stretch» теперь официально поддерживается FreeSWITCH ™. Зависимости доступны из репозитория FreeSWITCH с помощью команды «apt-get build-dep freeswitch». Данная статья пошагово описывает процесс установки FreeSWITCH из официального репозитория Debian.
Debian 9 «Stretch» является эталонной платформой для FreeSWITCH ™ начиная с версии 1.8 и настоятельно рекомендуется для всех приложений из-за его стабильности и широкой поддержки системных библиотек, необходимых для FreeSWITCH.
Содержание
Установка FreeSWITCH из пакетов Debian
apt-get update && apt-get install -y gnupg2 wget wget -O - https://files.freeswitch.org/repo/deb/freeswitch-1.8/fsstretch-archive-keyring.asc | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.8/ stretch main" > /etc/apt/sources.list.d/freeswitch.list echo "deb-src http://files.freeswitch.org/repo/deb/freeswitch-1.8/ stretch main" >> /etc/apt/sources.list.d/freeswitch.list apt-get update && apt-get install -y freeswitch-meta-all fs_cli -rRS
Установка из пакетов
wget -O - https://files.freeswitch.org/repo/deb/freeswitch-1.8/fsstretch-archive-keyring.asc | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.8/ stretch main" > /etc/apt/sources.list.d/freeswitch.list echo "deb-src http://files.freeswitch.org/repo/deb/freeswitch-1.8/ stretch main" >> /etc/apt/sources.list.d/freeswitch.list apt-get update apt-get build-dep freeswitch cd /usr/src/ git clone https://freeswitch.org/stash/scm/fs/freeswitch.git -bv1.8 freeswitch cd freeswitch git config pull.rebase true ./bootstrap.sh -j ./configure make make install
Перед запуском FreeSWITCH
Если вы создали FreeSWITCH ™ из исходного кода, вы должны установить права доступа к файлу перед запуском FreeSWITCH. Поскольку вы, скорее всего, создали FreeSWITCH ™ от пользователя root, теперь вы должны создать пользователя ‘freeswitch‘ в группе ‘freeswitch‘ и изменить файлы FS на owner = freeswitch и group = freeswitch. Выполните следующие команды от пользователя root:
# create user 'freeswitch' # add it to group 'freeswitch' # change owner and group of the freeswitch installation cd /usr/local groupadd freeswitch adduser --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH open source softswitch" --ingroup freeswitch freeswitch --disabled-password chown -R freeswitch:freeswitch /usr/local/freeswitch/ chmod -R ug=rwX,o= /usr/local/freeswitch/ chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/*
Файл модуля запускает FreeSWITCH как root, поэтому необходимо создать несколько каталогов. Затем он отбросит привилегии, чтобы продолжить работу от имени пользователя и группы Freeswitch.
В файле /usr/src/freeswitch.git/debian:
; This file in installations built from Master can be found in ; /usr/src/freeswitch.git/debian ; or ; /usr/src/freeswitch/debian [Unit] Description=freeswitch After=syslog.target network.target local-fs.target [Service] ; service Type=forking PIDFile=/usr/local/freeswitch/run/freeswitch.pid PermissionsStartOnly=true ; blank ExecStart= line flushes the list ExecStart= ExecStart=/usr/local/freeswitch/bin/freeswitch -u freeswitch -g freeswitch -ncwait -nonat -rp TimeoutSec=45s Restart=on-failure ; exec WorkingDirectory=/usr/local/freeswitch/bin User=root 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
Теперь, когда файл модуля systemd настроен, вы можете скопировать его (не связывать его) в каталог /etc/systemd/system, где systemd ищет локальные настраиваемые файлы, которые не будут перезаписаны обновлениями systemd.
cp /usr/src/freeswitch.git/debian/freeswitch-systemd.freeswitch.service /etc/systemd/system/freeswitch.service
Затем уведомите systemd о поиске изменений в его конфигурации:
systemctl daemon-reload
Теперь вы готовы запустить FreeSWITCH. Поскольку FS принадлежит пользователю freeswitch, он должен создавать свои базы данных и файлы журналов под этим пользователем (вместо root), чтобы эти файлы все еще были доступны для него при последующих запусках.
systemctl start freeswitch
Чтобы остановить FreeSWITCH:
systemctl stop freeswitch
Чтобы настроить FreeSWITCH для автоматического запуска во время загрузки:
systemctl enable freeswitch
DNS-кэширование
По умолчанию в Debian нет кэширования DNS, и каждый поиск выполняется на сервере из /etc/resolv.conf. Unbound – это легкий, безопасный и простой в использовании сервер кэширования DNS. В файле /etc/dhcp/dhclient.conf:
apt -y install unbound # installation systemctl start unbound # start systemctl enable unbound # auto start prepend domain-name-servers 127.0.0.1;
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.