Данная статья написана на основе оригинальной статьи с сайта FreePBX без сильного раздумывания над тем, что действительно надо ставить, а что нет, поэтому излишки опишите в комментах для потомков, буду благодарен
Устанавливать FreePBX будем на Debian 8. Зачем, спросите вы, если есть готовый дистр? А затем, что PBX нужен бывает внезапно и на уже стоящей системе. Почему дебиан? Потому что я им пользуюсь
Итак, я заранее, для вашего удобства, скомпилировал и собрал .deb пакеты с dahdi, libpri, jansson и pjproject
Для начала, установим зависимости, которые рекомендует официальный мануал, поэтому, если вы найдете лишнее - пишите, поправим, я пока не разбирался
Freepbxinstall
Устанавливать FreePBX будем на Debian 8. Зачем, спросите вы, если есть готовый дистр? А затем, что PBX нужен бывает внезапно и на уже стоящей системе. Почему дебиан? Потому что я им пользуюсь
Итак, я заранее, для вашего удобства, скомпилировал и собрал .deb пакеты с dahdi, libpri, jansson и pjproject
Для начала, установим зависимости, которые рекомендует официальный мануал, поэтому, если вы найдете лишнее - пишите, поправим, я пока не разбирался
Зависимости¶
apt update && apt install -y php-pear php5 php5-mysql php5-curl curl sudo subversion mysql-server apache2
pear install Console_Getopt
Asterisk install¶
После скачиваем все файлы, что я собрал и положил в этот архив
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar xvfz asterisk-13-current.tar.gz rm -f asterisk-13-current.tar.gz cd asterisk-* contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install ./configure make menuselect make make install make config
Потом выполняем
ldconfig update-rc.d -f asterisk remove
Asterisk 14¶
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz tar xvfz asterisk-14-current.tar.gz rm -f asterisk-14-current.tar.gz cd asterisk-* contrib/scripts/get_mp3_source.sh
nano contrib/scripts/install_prereq install
Привести к виду
PACKAGES_DEBIAN="$PACKAGES_DEBIAN libcurl-dev libspeex-dev libspeexdsp-dev libogg-dev libvorbis-dev libasound2-dev portaudio19-dev libcurl4-openssl-dev" PACKAGES_DEBIAN="$PACKAGES_DEBIAN libpq-dev unixodbc-dev libsqlite0-dev libmysqlclient15-dev libneon27-dev libgmime-dev libusb-dev liblua5.1-0-dev lua5.1" PACKAGES_DEBIAN="$PACKAGES_DEBIAN libopenh323-dev libvpb-dev libmysqlclient-dev libradiusclient-ng-dev freetds-dev" PACKAGES_DEBIAN="$PACKAGES_DEBIAN libsnmp-dev libiksemel-dev libcorosync-dev libnewt-dev libpopt-dev libical-dev libspandsp-dev libjack-dev" PACKAGES_DEBIAN="$PACKAGES_DEBIAN libresample-dev libc-client-dev binutils-dev libsrtp-dev libgsm1-dev libedit-dev doxygen libjansson-dev libldap-dev" PACKAGES_DEBIAN="$PACKAGES_DEBIAN subversion git libxslt1-dev automake libsrtp-dev libncurses5-dev python-dev"
contrib/scripts/install_prereq install ./configure make menuselect make make install make config
Звуки более высокого качества¶
cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz tar xvf asterisk-core-sounds-en-wav-current.tar.gz rm -f asterisk-core-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-extra-sounds-en-g722-current.tar.gz rm -f asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-core-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-g722-current.tar.gz
Подготавливаем Asterisk¶
useradd -m asterisk chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib/asterisk rm -rf /var/www/html
Модифицируем apache2¶
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf a2enmod rewrite service apache2 restart
Настроим ODBC¶
cat >> /etc/odbcinst.ini << EOF [MySQL] Description = ODBC for MySQL Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so FileUsage = 1 EOF
cat >> /etc/odbc.ini << EOF [MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MySQL server=localhost database=asteriskcdrdb Port=3306 Socket=/var/run/mysqld/mysqld.sock option=3 EOF
Установим FreePBX¶
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz tar vxfz freepbx-13.0-latest.tgz rm -f freepbx-13.0-latest.tgz cd freepbx ./start_asterisk start ./install -n --dbuser=root --dbpass=root_password
nano /etc/asterisk/modules.conf
preload = chan_sip.so
Сделаем автозапуск FreePBX¶
nano /etc/systemd/system/freepbx.service
[Unit] Description=FreePBX VoIP Server After=mariadb.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/src/freepbx/start_asterisk start ExecStart=/usr/sbin/fwconsole start ExecStop=/usr/sbin/fwconsole stop [Install] WantedBy=multi-user.target
systemctl enable freepbx.service
Запустим FreePBX¶
systemctl start freepbx
Ссылка на оф мануал
Комментариев нет:
Отправить комментарий