*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 /etc/apt/sources.list y activar los siguientes repositorios
sudo editor /etc/apt/sources.list
*descomentar y guardar
deb http://us.archive.ubuntu.com/ubuntu/ dapper universe
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe
* Actualizar repositorios
sudo apt-get update
* 1 Instalar librerias para acceso via SSH
sudo apt-get install openssl libssl-dev ssh
* 2 librerías de compilación de software, sirve para compilar Asterisk
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
Linux AsteriskServer 2.6.15-23-386
* 4 buscar las fuentes del kernel con las versiones instaladas en el server
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)
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 utiler?as 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
sudo apt-get install nmap lynx emacs21
* 7 festival son paquetes para el manejo de voz
sudo apt-get install festival festival-dev
* 8 para poder usar la consola de asterisk
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
sudo apt-get install bison bison-doc
* 11 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libxml2 libxml2-dev
* 12 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libtiff4 libtiff4-dev
* 13 librerias requeridas por el servicio web de FreePBX
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
sudo apt-get install flex
* 14 librerias requeridas por Asterisk para el manejo de ayuda y de extraccion de archivos del CVS
sudo apt-get install subversion curl doxygen
* 15 librerias requeridas por el servicio web de FreePBX
sudo apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl
* 16 Servidor web para FreePBX
sudo apt-get install apache2
* 17 librer?as requeridas por el servicio web de FreePBX
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
sudo apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
* despues de instalar MySQL probablemente nos pedir? 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
wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
* 21 navaja suiza para manejo de archivos de sonido
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
wget http://superb-east.dl.sourceforge.net/sourceforge/amportal/freepbx-2.1.1.tar.gz
* 23 Obtenemos los archivos para Asterisk
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
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
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
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
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
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
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
mysql -u asterisk -pPaSsWoRd
* Creamos las bases de datos
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
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
mysql -u root -pPaSsWoRd
* asignamos en caso de que se requiera con el login y password por default
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
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
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 configuraci?n de apache
find /etc/apache2/ -type f | xargs grep Group
* 30 editamos el archivo de apache
sudo emacs /etc/apache2/apache2.conf
*en emacs para buscar, presionar Ctrl+s
* 31 cambiar de www-data a asterisk
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
sudo chown -R asterisk /var/lib/php5
* 33 edici?n de php para aumentar el tama?o de archivos que se suben al servidor web
sudo emacs /etc/php5/apache2/php.ini
upload_max_filesize = 32M
* 34 creamos un directorio para la instalacion de los paquetes de Asterisk
sudo mkdir /usr/src/asterisk
cd /usr/src/asterisk
* 35 libreria o drivers para tarjetas line PRI
sudo tar zvxf ~/asterisk/libpri- 1.2.4.tar.gz
* 36 librerias o drivers para tarjetas ZAPTEL
sudo tar zvxf ~/asterisk/zaptel-1.2.13.tar.gz
* 37 El PBX Asterisk
sudo tar zvxf ~/asterisk/asterisk-1.2.15.tar.gz
* 38 utilerias de asterisk(cdr, rep music on hold. etc)
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
cd libpri-1.2.4
sudo make & sudo make install
* 41 compilaci?n de Zaptel
cd ../zaptel-1.2.13
sudo make clean
sudo make linux26
sudo make install
* 42 compilacion de Asterisk
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
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
sudo mkdir /var/run/asterisk
* 46 Editamos el archivo de configuraci?n de Asterisk
sudo emacs /etc/asterisk/asterisk.conf
* 47 cambiamos el directorio de
RUNASTERISK=/var/run
* a
RUNASTERISK=/var/run/asterisk
* 48 asignamos los permisos
chown -R asteriks:asterisk /var/run/asterisk
* continuamos con la instalaci?n de FreePBX
cd /usr/src/freepbx/freepbx-2.1.1/
sudo pear install db
* si no encontrara el paquete db, bajarlo de internet e instalarmo manualmente: 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 configuraci?n.
*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
mkdir /var/lib/asterisk/sounds/custom
* 50 configuramos los permisos para el directorio de Asterisk
chown -R asterisk:asterisk /var/lib/asterisk/
* 51 ejecutamos amportal
sudo /usr/sbin/amportal start
* o como root
su -
password
* y ejecutamos
/usr/sbin/amportal start
* verificamos
ps aux
* y deberiamos ver algo parecido
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
*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 http://phylevn.mexrom.com
*Más detalles podras consultarlo en [http://phylevn.mexrom.com]http://phylevn.mexrom.com
*