Архив

Архив 30 октября 2009

Установка Asterisk на UBUNTU

30 октября 2009 2 комментария

Устанавливаем недостающие пакеты:

apt-get install ntp build-essential linux-headers-`uname -r` php5-cli php5-mysql mysql-server php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev subversion make bison flex g++ gcc apache2 php5 openssl libauthen-pam-perl libio-pty-perl libnet-ssleay-perl mc proftpd libtiff4-dev libxml2-dev phpmyadmin

Настраиваем синхронизацию времени:
/etc/ntp.conf:
server ntp0.zenon.net
server ntp1.imvp.ru
server ntp2.imvp.ru
server ru.pool.ntp.org
server europe.pool.ntp.org

Скачиваем исходники:
cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.6.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.1.tar.gz
wget http://mirror.freepbx.org/freepbx-2.7.0.tar.gz
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre17.tgz

Распаковываем:
tar xzf asterisk-1.6*
tar xzf asterisk-addons-1.6*
tar xzf freepbx-2.7*
tar xzf spandsp-0.0.6*

Собираем spandsp — необходим для работы факсов:
cd /usr/src/spandsp-0.0.6*
./configure
make && make install

Собираем и устанавливаем asterisk:
cd /usr/src/asterisk-1.6*
./configure
make && make install && make samples

Устанавливаем asterisk-addons:
cd /usr/src/asterisk-addons-1.6*

# Патчим addons для хранения UNIQUE ID в базе:
# cdr/cdr_addon_mysql.c
# добавляем "#define MYSQL_LOGUNIQUEID" в начало файла

./configure
make && make install && make samples

Добавляем пользователя:
adduser asterisk --disabled-password --gecos "Asterisk PBX"
adduser www-data asterisk

Настраиваем конфиг Apache:
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf-orig
sed -i "s/\(^User *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf
sed -i "s/\(^Group *\)\(.*\)/\1asterisk/" /etc/apache2/apache2.conf
chown -R asterisk:asterisk /var/www
chown -R asterisk:asterisk /etc/phpmyadmin
#chown -R asterisk:asterisk /var/lib/phpmyadmin
#chown -R asterisk:asterisk /usr/share/phpmyadmin

Подготавливаем базу:
cd /usr/src/freepbx-2.7*
mysqladmin -p create asterisk
mysqladmin -p create asteriskcdrdb
mysql -p asterisk < SQL/newinstall.sql

В консоли mysql выполняем следующие команды:
USE asteriskcdrdb;
CREATE TABLE IF NOT EXISTS `cdr` (
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`uniqueid` varchar(32) NOT NULL default '',
`userfield` varchar(255) NOT NULL default '',
KEY `calldate` (`calldate`),
KEY `userfield` (`userfield`),
KEY `clid` (`clid`),
KEY `src` (`src`),
KEY `dst` (`dst`),
KEY `billsec` (`billsec`),
KEY `lastapp` (`lastapp`),
KEY `uniqueid` (`uniqueid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '____ПАРОЛЬ____';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '____ПАРОЛЬ____';

А теперь устанавливаем сам freepbx:
cd /usr/src/freepbx-2.7*
./install_amp

Изменяем настройки PHP:
cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini-orig
sed -i "s/\(upload_max_filesize *= *\)\(.*\)/\120M/" /etc/php5/apache2/php.ini
sed -i "s/\(memory_limit *= *\)\(.*\)/\1100M/" /etc/php5/apache2/php.ini
sed -i "s/\(magic_quotes_gpc *= *\)\(.*\)/\1Off/" /etc/php5/apache2/php.ini
sed -i "s/\(^\s*DocumentRoot *\)\(.*\)/\1\/var\/www\/html/" /etc/apache2/sites-enabled/000-default

Перезапускаем apache:
/etc/init.d/apache2 restart

Автозапуск:
ln -s /usr/local/sbin/amportal /etc/init.d/amportal
update-rc.d amportal defaults

Добавляем дполнительные звуковые файлы:
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
распаковываем в /var/lib/asterisk/sounds

использованы материалы: http://www.netbuild.ru/archives/34/comment-page-1

Categories: Asterisk Tags: ,