Instalación de Asterisk en Ubuntu Server Paso a Paso
Procedimiento para Instalar Asterisk VoIP en Ubuntu Server
Servidor: Ubuntu Server Dapper Drake
Conmutador de VoIP: Asterisk asterisk-1.2.15
Admninistrador Web : FreePBX 2.2.0
// Mi Particion
// /boot 100M
// /var 2 Gb
// /home 4 Gb
// /usr 8 Gb
// / 4Gb
// Swap 520 Mb
Despues de instalar Ubuntu cambiar password a root
sudo passwd root
password
Editar
Código HTML:
/etc/apt/sources.list
y activar los siguientes repositorios
Código HTML:
sudo editor /etc/apt/sources.list
Descomentar y guardar
Código HTML:
deb http://us.archive.ubuntu.com/ubuntu/ dapper universe
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe
Actualizar repositorios
Código HTML:
sudo apt-get update
1 Instalar librerias para acceso via SSH
Código HTML:
sudo apt-get install openssl libssl-dev ssh
2 librerías de compilación de software, sirve para compilar Asterisk
Código HTML:
sudo apt-get install gcc make g++
3 verificar que versiones de kernel tengo instalado en el servidor
uname -a me regresa algo como esto
Código HTML:
Linux AsteriskServer 2.6.15-23-386
4 buscar las fuentes del kernel con las versiones instaladas en el server
Código HTML:
apt-cache search 2.6.15
5 instalamos los encabezados para 2.6.15 espec?ficos para el procesador (linux-headers-2.6.15-23-386 , linux-source-2.6.15 , linux-image-2.6.15-23-386)
Código HTML:
sudo apt-get install linux-headers-2.6.15-23-server linux-image-2.6.15-23-server linux-source-2.6.15
6 sinstalamos algunas utilerias de linux, Lynx es un navegador web de texto, nmap es sniffer depuertos, emacs es un editor de textos potente aunque puedes usar editor instalado ya en Ubuntu y sencillo de usar
Código HTML:
sudo apt-get install nmap lynx emacs21
7 festival son paquetes para el manejo de voz
Código HTML:
sudo apt-get install festival festival-dev
8 para poder usar la consola de asterisk
Código HTML:
sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev
9 librerias de compresion
sudo apt-get install zlib1g zlib1g-dev
10 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install bison bison-doc
11 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install libxml2 libxml2-dev
12 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install libtiff4 libtiff4-dev
13 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install libasound2 libgsm1 libltdl3 libpq3 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev
En caso que se vaya a usar una tarjeta sangoma, se requiere instalar flex para que funcione con el driver wanpipe
Código HTML:
sudo apt-get install flex
14 librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
Código HTML:
sudo apt-get install subversion curl doxygen
15 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl
16 Servidor web para FreePBX
Código HTML:
sudo apt-get install apache2
17 librerias requeridas por el servicio web de FreePBX
Código HTML:
sudo apt-get install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db
18 base de datos para el CDR y FreePBX
Código HTML:
sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
Despues de instalar MySQL probablemente nos pediri una configuracin como la siguiente:
2. Configurar como Internet Site
3. localhost.localdomain
********************************
2. ********************************
2da Parte..
********************************
2. ********************************
19 creamos un repositorio local para almacenar los archivos fuente de asterisk
mkdir ~/asterisk
cd asterisk
Obtenemos los archivos y os almacenamos en el directorio creado
20 gateway entre freepbx y asterisk
Código HTML:
wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
21 navaja suiza para manejo de archivos de sonido
Código HTML:
wget http://keihanna.dl.sourceforge.net/sourceforge/sox/sox-12.17.9.tar.gz
wget http://heanet.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz
22 Obtenemos los paquetes para el administrador web de FreePBX, podemos aqui instalar la version 2.2.1 de FreePBX la mas actualizada y seguir con el mismo procedimiento
Código HTML:
wget http://superb-east.dl.sourceforge.net/sourceforge/amportal/freepbx-2.1.1.tar.gz
23 Obtenemos los archivos para Asterisk
Código HTML:
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.13.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.4.tar.gz
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.15.tar.gz
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-sounds-1.2.1.tar.gz
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.2.5.tar.gz
24 Instalamos el Editor de Sonidos de Asterisk
Código HTML:
cd /usr/src/
sudo tar -xvzf ~/asterisk/lame-3.96.1.tar.gz
cd lame-3.96.1
sudo ./configure --prefix=/usr --sysconfdir=/etc
sudo make && sudo make install
25 Instalamos SOX, utiler?a para manejar los sonidos en Asterisk
Código HTML:
cd /usr/src/
sudo tar -xzvf ~/asterisk/sox-12.17.9.tar.gz
cd sox-12.17.9
sudo ./configure
sudo make
sudo make install
26 Instalamos el gateway entre Asterisk y FreePBX
Código HTML:
cd /usr/src/
sudo tar -xzvf ~/asterisk/asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
sudo perl Makefile.PL
sudo make all
sudo make install
27 Instalamos FreeBX el Administrador Web de Asterisk, aqui podemos tambien instalar la version 2.2.1 en vez de la 2.1.1
Código HTML:
cd /usr/src
sudo tar -xzvf ~/asterisk/freepbx-2.1.1.tar.gz
cd /usr/src/freepbx/freepbx-2.1.1
Comenzamos a instalar la Base de Datos para el Administrador Web FreePBX y para los CDR.
Iniciacilizacion de la implementaci?n de Bases de Datos en Mysql para Asterisk, Accedemos a MySQL si no han configurado su password de root mysql, solo presionar Enter
Código HTML:
mysql -u root -p
ENTER
show databases;
use mysql ;
show tables;
select * from user;
Cambiamos los password de root y creamos un usuario para Asterisk:
Código HTML:
update user set password = password("PaSsWoRd") where user = "root";
grant all privileges on *.* to asterisk@localhost identified by "PaSsWoRd";
flush privileges;
exit
Nos validamos con el usuario de Asterisk creado
Código HTML:
mysql -u asterisk -pPaSsWoRd
Creamos las bases de datos
Código HTML:
mysql> create database asteriskcdrdb;
mysql> create database asterisk;
mysql> exit
Pasamos el esquema y la informaci?n de los scripts de bases de datos por default de FreePBX
Código HTML:
mysql -u asterisk -pPassw0rd asterisk < /usr/src/freepbx/freepbx-2.1.1/SQL/newinstall.sql
mysql -u asterisk -pPassw0rd asteriskcdrdb < /usr/src/freepbx/freepbx- 2.1.1/SQL/cdr_mysql_table.sql
Lo siguiente son los usuarios y password por default para FreePBX
Código HTML:
mysql -u root -pPaSsWoRd
Asignamos en caso de que se requiera con el login y password por default
Código HTML:
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY "amp109";
2. GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY "amp109";
3. flush privileges;
exit
Termina la implementacion de Bases de Datos en Mysql para Asterisk
28 creacion del usuario y grupo que manejara los procesos de asterisk
Código HTML:
sudo groupadd asterisk
sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
sudo mkdir /var/run/asterisk
sudo chown asterisk:asterisk /var/run/asterisk
29 Cambiamo el usuario propietario de Apache
Código HTML:
sudo emacs /etc/group para guardar presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
www-data:x:33:asterisk
Ejecutamos el comando find para ubicar el archivo de configuracion de apache:
Código HTML:
find /etc/apache2/ -type f | xargs grep Group
30 editamos el archivo de apache
Código HTML:
sudo emacs /etc/apache2/apache2.conf
En emacs para buscar, presionar Ctrl+s
31 cambiar de www-data a asterisk
Código HTML:
User www-data
Group www-data
por
User asterisk
Group asterisk
Guardamos para guardar es presionar ctrl+x ctrl+s, para salir ctr+x, ctr+c
32 cambiamos los permisos para el directorio de sesiones de PHP
Código HTML:
sudo chown -R asterisk /var/lib/php5
33 Edicion de php para aumentar el tamaño de archivos que se suben al servidor web:
Código HTML:
sudo emacs /etc/php5/apache2/php.ini
upload_max_filesize = 32M
34 creamos un directorio para la instalacion de los paquetes de Asterisk
Código HTML:
sudo mkdir /usr/src/asterisk
cd /usr/src/asterisk
35 libreria o drivers para tarjetas line PRI
Código HTML:
sudo tar zvxf ~/asterisk/libpri- 1.2.4.tar.gz
36 librerias o drivers para tarjetas ZAPTEL
Código HTML:
sudo tar zvxf ~/asterisk/zaptel-1.2.13.tar.gz
37 El PBX Asterisk
Código HTML:
sudo tar zvxf ~/asterisk/asterisk-1.2.15.tar.gz
38 utilerias de asterisk(cdr, rep music on hold. etc)
Código HTML:
sudo tar zvxf ~/asterisk/asterisk-addons-1.2.5.tar.gz
39 archivos de IVR por default
sudo tar zvxf ~/asterisk/asterisk-sounds-1.2.1.tar.gz
40 compilacion de PRI
Código HTML:
cd libpri-1.2.4
sudo make & sudo make install
41 compilacion de Zaptel
Código HTML:
cd ../zaptel-1.2.13
sudo make clean
sudo make linux26
sudo make install
42 compilacion de Asterisk
Código HTML:
cd ../asterisk-1.2.15
sudo make clean
sudo make
sudo make install
sudo make samples
sudo make progdocs
43 compilacion de Utilerias de Asterisk
Código HTML:
cd ../asterisk-addons-1.2.5
sudo make
sudo make install
cd ../asterisk-sounds-1.2.1
sudo make
sudo make install
44 reiniciamos el servidor web apache
sudo /etc/init.d/apache2 restart
45 Antes de instalar FreePBX creamos el directorio de asterisk en /var/run
Código HTML:
sudo mkdir /var/run/asterisk
46 Editamos el archivo de configuracion de Asterisk
Código HTML:
sudo emacs /etc/asterisk/asterisk.conf
47 cambiamos el directorio de
Código HTML:
RUNASTERISK=/var/run
a
Código HTML:
RUNASTERISK=/var/run/asterisk
48 asignamos los permisos
Código HTML:
chown -R asteriks:asterisk /var/run/asterisk
Continuamos con la instalacion de FreePBX
Código HTML:
cd /usr/src/freepbx/freepbx-2.1.1/
sudo pear install db
Si no encontrara el paquete db, bajarlo de internet e instalarlo manualmente:
Código HTML:
sudo pear install db.17.0.0.tgz
sudo mkdir /var/www/cgi-bin
sudo chown asterisk:asterisk /var/www/cgi-bin
sudo ./install_amp
Despues de ejecutar install_amp pedirá los valores para crear el archivo de configuracion.
Aquí introducir el usuario de la base de datos que se creo previamente
Enter your USERNAME to connect to the 'asterisk' database:
asteriskuser asterisk
Aqui introducir el password de la base de datos que se creo previamente
Enter your PASSWORD to connect to the 'asterisk' database:
amp109 Passw0rd
Aqui introducir el nombre del servidor de la base de datos, com?nmente localhost
Enter the hostname of the 'asterisk' database:
localhost ENTER
Aqui introducir el usuario que se usara como admin del API de Asterisk
Enter a USERNAME to connect to the Asterisk Manager interface:
admin admin
Password del API, importante para conectar aplicaciones terceras a Asterisk
Enter a PASSWORD to connect to the Asterisk Manager interface:
amp111 Passw0rd
Ruta de instalacion del Servidor de Asterisk
Enter the path to use for your AMP web root:
/var/www/html ENTER
Created /var/www/html
Ruta para instalar el Panel Flash de Asterisk
Enter the path to use for your FOP web root:
/var/www/html/panelENTER
Created /var/www/html/panel
Introducir la ruta para los CGI de Asterisk
Enter the path to your Apache cgi-bin:
/var/www/cgi-bin
Introduzca la direccion IP de su servidor
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
xx.xx.xx.xx localhost
Introduzca el password pra poder usar el FOP
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
passw0rd Passw0rd
Seleccionar valores por Default
Use simple Extensions extensions admin or separate Devices and Users deviceanduser?
extensions
Seleccionar Default
Enter directory in which to store AMP executable scripts:
/var/lib/asterisk/bin
Created /var/lib/asterisk/bin
Seleccionar Default
Enter directory in which to store super-user scripts:
/usr/sbin
Si marcara algun error installamp revisar usuarios de base de datos, librerías de php y de mysql, reiniciar apache y peardb, php-db
en caso de que tuviera un error al ejecutar FreePBX puede reconfigurarlo previamente elimine el archivo de configuracion en /etc/amportal.conf
49 creamos la carpeta donde se almacenaran los sonidos del IVR
Código HTML:
mkdir /var/lib/asterisk/sounds/custom
50 configuramos los permisos para el directorio de Asterisk
Código HTML:
chown -R asterisk:asterisk /var/lib/asterisk/
51 ejecutamos amportal
Código HTML:
sudo /usr/sbin/amportal start
o como root
Código HTML:
su -
password
y ejecutamos
Código HTML:
/usr/sbin/amportal start
verificamos
Y deberiamos ver algo parecido
Código HTML:
asterisk 5537 0.0 0.1 3676 844 pts/0 S 13:54 0:00 /bin/sh /usr/sbin/safe_asterisk -U asterisk -G asterisk
asterisk 5544 0.2 1.4 15452 7080 pts/0 Sl 13:54 0:00 /usr/sbin/asterisk -U asterisk -G asterisk -vvvg -c
asterisk 5585 0.0 0.1 3848 832 pts/0 S 13:54 0:00 -su -c cd /var/www/html/panel && /var/www/html/panel/safe_opseasterisk 5586 0.0 0.2 3640 1324 pts/0 S 13:54 0:00 /bin/bash /var/www/html/panel/safe_opserver
asterisk 5588 0.3 1.5 10008 7352 pts/0 S 13:54 0:00 /usr/bin/perl -w ./op_server.pl
Código HTML:
sudo emacs /etc/default/asterisk
RUNASTERISK=yes
Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.101
http://192.168.1.101/html/admin/
Introducimos el login y password configurado:
admin
admin
Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
Y el administrador Web de Asterisk FreePBX.
Descargar modulos de administracion de Asterisk.
Para configurar sus tarjetas ZAptel, Sangoma, IVR, AGIs, Festival, etc.. ver el procedimiento de instalacion que he agregado en este mismo WiKi o en mi blog mexrom.com
Más detalles podras consultarlo en http://phylevn.mexrom.comhttp://phylevn.mexrom.com