Сегодня я опишу процесс установки Freeswitch 1.7 из исходников. За основу возьмем чистую систему Debian 8.6 Jessie, а так же что после установки был обновлен репозиторий.
Для начала установим необходимые пакеты:
1 2 3 4 |
apt-get install autoconf automake devscripts g++ gawk gettext git-core libcurl4-openssl-dev libdb-dev \ libedit-dev libgdbm-dev 'libjpeg-dev|libjpeg62-turbo-dev' libldns-dev libncurses5-dev libopus-dev \ libopus-ocaml libpcre3-dev libperl-dev libpq-dev libsndfile-dev libspeex-dev libspeexdsp-dev \ libsqlite3-dev libssl-dev libtiff5-dev 'libtool-bin|libtool' make python-dev pkg-config yasm liblua5.2-dev |
Далее качаем с git репозитория исходники:
1 2 |
cd /usr/src git clone https://freeswitch.org/stash/scm/fs/freeswitch.git |
Начинаем установку:
1 2 |
cd /usr/src/freeswitch ./bootstrap.sh –j |
После того как скрипт bootstrap.sh выполнится нужно в файле modules.conf выбрать нужные модули с помощью знака # комментируя или раскомментируя необходимую строку. С модулями стоит быть внимательным, так как некоторые из них требуют дополнительные библиотеки, которые мы заранее не устанавливали и из-за этого будут проблемы при компиляции, поэтому для новичка я посоветую вообще ничего там не менять, в любом случае не нужные модули вы сможете отключить после установки.
Далее собираем и устанавливаем:
1 2 3 |
./configure make make install |
Если все эти действия завершились без ошибок, то далее устанавливаем аудиофайлы и звуки:
1 2 3 4 5 6 7 8 9 10 11 12 |
make sounds-install make moh-install make hd-moh-install make hd-sounds-install make uhd-moh-install make uhd-sounds-install make cd-sounds-install make cd-moh-install make sounds-ru-install make cd-sounds-ru-install make uhd-sounds-ru-install make hd-sounds-ru-install |
Далее создаем пользователя и предоставляем необходимые права:
1 2 3 4 |
adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch chown -R freeswitch:daemon /usr/local/freeswitch/ chmod -R ug=rwX,o= /usr/local/freeswitch/ chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/* |
Готовим наш freeswitch к автозапуску с помощью сервиса:
1 2 3 4 5 6 |
cp /usr/src/freeswitch/debian/freeswitch-sysvinit.freeswitch.default /etc/default/freeswitch chown freeswitch:daemon /etc/default/freeswitch chmod ug=rw,o= /etc/default/freeswitch cp /usr/src/freeswitch/debian/freeswitch-sysvinit.freeswitch.init /etc/init.d/freeswitch chown freeswitch:daemon /etc/init.d/freeswitch chmod u=rwx,g=rx,o= /etc/init.d/freeswitch |
Так же нужно слегка перенастроить файл сервиса /etc/init.d/freeswitch и заменить строки с 23-27 на следующие:
1 2 3 4 5 |
CONFDIR=/usr/local/freeswitch/conf RUNDIR=/var/run/$NAME PIDFILE=$RUNDIR/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME WORKDIR=/usr/local/freeswitch/log |
Создаем ссылку для fs_cli:
1 |
ln /usr/local/freeswitch/bin/fs_cli /usr/bin/fs_cli |
добавляем наш сервис в автозапуск:
1 |
update-rc.d freeswitch defaults |
и стартуем:
1 |
service freeswitch start |
Подключаемся к консоли с помощью fs_cli и радуемся.