Установка Asterisk 13 + FreePBX 12 Ubuntu 14
Первоначальная настройка Ubuntu
При установке Ubuntu выберите непременно OpenSSH server и LAMP сервер. Установите доп пакеты на ваше усмотрение.
В ходе установки системы для вас будет предложено задать пароль root юзера MySQL, ежели вы не убеждены, можно отставить пустым. Ежели пароль задан, он будет нужно в предстоящем для работы с MySQL.
Задайте пароль root юзера системы
$ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password update successfully
Переключитесь на root пользователя
$ sudo -i
Сделайте апгрейд системы
# apt-get update && sudo apt-get upgrade -y
Установите требуемые зависимости
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3 libmyodbc
Перезагрузите сервер
Это требуется чтоб загрузить свежайшую версию ядра опосля апгрейда. Ежели вы убеждены что загруженная версия крайняя, можно не перезагружаться.
reboot
Установите PearDB
pear uninstall db pear channel-update pear.php.net pear install -Z db-1.7.14
Error: Error: cannot download "pear/DB"
Error: Error: cannot download "pear/DB"
Ошибка при установке DB (На данный момент, я не до разобрался в причине данной нам задачи, но опосля танцев с бубном, все заработало.)
[email protected]:/usr/src# pear install DB-1.7.14 WARNING: "pear/DB" is deprecated in favor of "pear/MDB2" downloading DB-1.7.14.tgz … Starting to download DB-1.7.14.tgz (133,103 bytes) ………………………..done: 133,103 bytes could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/DB-1.7.14.tgz" Download of "pear/DB" succeeded, but it is not a valid package archive Error: cannot download "pear/DB" Download failed install failed
Решение – установим вручную
Смотрим путь:
pear config-get php_dir
В моем случае это:
/usr/share/php
Качаем DB 1.7.14
cd /usr/src/ wget http://download.pear.php.net/package/DB-1.7.14.tgz tar zvxf DB-1.7.14.tgz
Копируем вручную:
cp -R /usr/src/DB-1.7.14/DB /usr/share/php/DB cp /usr/src/DB-1.7.14/DB.php /usr/share/php/DB.php
Дальше при вводе pear install db-1.7.14, получаем ответ что уже установлено.
[email protected]:/usr/share/php# pear install db-1.7.14 pear/db is already installed and is the same as the released version 1.7.14 install failed
Установка Asterisk
Как употреблять данное руководство.
Блоки команд с ключом '&&' могут быть скопированы вкупе и будут выполняться поочередно. '&&' выполняет переход к последующей команде, при условии удачного выполнения предшествующей. Ежели вы желаете вполне, пошагово, контролировать процесс установки, выполните каждую команду раздельно, без ввода '&&'.
Скачайте начальные файлы
cd /usr/src wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz && wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz && git clone https://github.com/akheron/jansson.git && wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2
Скомпилируйте и установите Lame (mp3)
cd /usr/src && tar zxvf lame-3.98.4.tar.gz && cd lame-3.98.4 && ./configure && make && make install
Скомпилируйте и установите DAHDI и LibPRI
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && tar xvfz libpri-1.4-current.tar.gz && rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config && cd /usr/src/libpri-1.4.* && make && make install
Ошибка – отсутствуют исходники ядра
/usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1# make all make -C linux all make[1]: Entering directory `/usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1/linux' make -C drivers/dahdi/firmware firmware-loaders make[2]: Entering directory `/usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1/linux/drivers/dahdi/firmware' make[2]: Leaving directory `/usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1/linux/drivers/dahdi/firmware' You do not appear to have the sources for the 3.2.0-4-amd64 kernel installed. make[1]: *** [modules] Error 1 make[1]: Leaving directory `/usr/src/dahdi-linux-complete-2.10.0.1+2.10.0.1/linux' make: *** [all] Error 2
Решение – установить исходники)
apt-get install linux-headers-`uname -r`
Скомпилируйте и установите pjproject
(Требуется для поддержки драйвера SIP канала PjSIP)
cd /usr/src && tar -xjvf pjproject-2.2.1.tar.bz2 && cd pjproject-2.2.1 && CFLAGS='-DPJ_HAS_IPV6=1' ./configure –prefix=/usr –enable-shared –disable-sound –disable-resample –disable-video –disable-opencore-amr && make dep && make && make install
Скомпилируйте и установите jansson
cd /usr/src/jansson && autoreconf -i && ./configure && make && make install
Скомпилируйте и установите Asterisk
cd /usr/src && tar xvfz asterisk-13-current.tar.gz && rm -f asterisk-13-current.tar.gz && cd asterisk-* && ./configure && contrib/scripts/get_mp3_source.sh && make menuselect
Опосля ввода команды make menuselect, для вас будет предложено выбрать устанавливаемые модули. Большая часть требуемых модулей выбираются автоматом. Для поддержки mp3 включите модуль 'format_mp3'.
В разделе Core Sound Packages выберите поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберите доп звуковые файлы.
В завершении выберите Save & Exit и продолжите установку.
make && make install && make config && ldconfig
Установка и настройка FreePBX
Скачайте и распакуйте FreePBX.
cd /usr/src && wget http://mirror.freepbx.org/freepbx-12.0.43.tgz && tar zxvf freepbx-*.tgz && cd /usr/src/freepbx
при установке из гит репозитория возникает ошибка:missing modgettext.class.php
при установке из гит репозитория возникает ошибка:missing modgettext.class.php
при установке из гит репозитория возникает ошибка:missing modgettext.class.php (incomplete application of changeset 12995?) потому лучше закачивать архив.
export VER_FREEPBX=12.0 && cd /usr/src && git clone http://git.freepbx.org/scm/freepbx/framework.git freepbx && cd freepbx && git checkout release/${VER_FREEPBX}
Создайте юзера 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
Дальше в руководстве freepbx.org, предлагается удалить директорию интернет сервера:
Удалять директорию /var/www/html может быть небезопасно для ваших данных.
rm -rf /var/www/html
Это делается, т.к. при установке FreePBX скриптом, ежели папка существует, возникает сообщение о ошибке, что может быть исправлено, просто, повторным пуском скрипта установки.
Настроим Apache
sed -i 's/(^upload_max_filesize = ).*/120M/' /etc/php5/apache2/php.ini && sed -ie 's/;date.timezone =/date.timezone = "Europe/Moscow"/g' /etc/php5/apache2/php.ini && cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig && sed -i 's/^(User cut -c2-18`
Эта команда сгенерирует 16-ти значный пароль и сохранит значение в переменной {ASTERISK_DB_PW}.
Подготовка базы данных Asterisk в MySQL.
Ежели вы задали 'root' пароль MySQL при установке, добавьте его опосля ключа -pyourpassword. (mysqladmin -u root -pYOURPASSWORD create asterisk)
mysqladmin -u root create asterisk mysqladmin -u root create asteriskcdrdb
Зададим права на внедрение БД MySQL
Замените asteriskuser на имя юзера, которое для вас нравится. Например: [email protected] Можно бросить как есть.
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO [email protected] IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO [email protected] IDENTIFIED BY '${ASTERISK_DB_PW}';" mysql -u root -e "flush privileges;"
Запустим Asterisk и установим FreePBX.
Ежели в прошлом пт вы задали собственное имя юзера, замените asteriskuser на него. Например: –username=YOURUSER
./start_asterisk start./install_amp –installdb –username=asteriskuser –password=${ASTERISK_DB_PW}
Ежели выполнение скрипта прерывается и возникло сообщение о ошибке, попытайтесь запустить установку ещё раз.
amportal a ma refreshsignatures amportal a reload amportal chown
В завершении настроим сделаем ссылку на директорию Music On Hold формата mp3
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
и запустим amportal
amportal start
Поверим состояние Asterisk подключившись к консоли
asterisk -vvrAsterisk 13.0.1, Copyright (C) 1999 – 2014, Digium, Inc. and others. Created by Mark Spencer <[email protected]> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 13.0.1 currently running on ubuntu (pid = 24513) ubuntu*CLI>core restart now
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Первым делом, для вас будет предложено задать имя юзера и пароль FreePBX