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

Código HTML:
ps aux
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