Servidor: Ubunt Linux Server 2.6.15-26-server
Si estamos empezando una instalacion nueva hay que cambiarle el password al root con el siguiente comando
# sudo passwd root
te pedira tu password y luego el nuevo password de root
depues tenemos que actualizar los repositorios del apt-get con el siguiente comando
# sudo vim /etc/apt/sources.list
recuerda descomentar todas las entredas que comiencen con "deb" y "deb-src" y hay que comentar todas las que digan "dev cdrom"
Luego actualizamos la lista de los repositorios con:
# sudo apt-get update
Despues hay que descargar todas las cabeceras y el source del kernel.
Para saber que version del kernel estas utilizando utilizas este comando
# uname -a
a mi me sale algo asi
# Linux Ubuntu-Server 2.6.15-26-server #1 SMP Thu Aug 3 04:09:15 UTC 2006 i686 GNU/Linux
pero la parte que nos interesa es la que dice 2.6.15-26-server, por que de esa es vamos a descargar las cabeceras y el source del kernel.
Busca las versiones del kernel
# sudo apt-cache 2.6.15
descarga los headers y source de la version de tu kernel
#sudo sudo apt-get install linux-headers-2.6.15-26-server linux-image-2.6.15-26-server linux-source-2.6.15
Una vez que ya se hallan descargado hay que instalar un monton de software y librerias necesarios para poder instalar Asterisk, te diria que es cada cosa, pero puedes utilizar google para averiguarlo y asi no nos desviamos del tema central del articulo
# sudo apt-get install ssh openssh-server openssl libssl-dev build-essential nmap lynx festival festival-dev ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev zlib1g zlib1g-dev bison bison-doc libxml2 libxml2-dev libtiff4 libtiff4-dev libasound2 libgsm1 libltdl3 libpq3 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev flex subversion curl doxygen libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl apache2 php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
despues de que se haya instalado vamos a descargar las fuentes de los paquetes que necesitamos para instalar Asterisk y FreePBX
# mkdir ~/asterisk
# cd ~/asterisk
# wget http://superb-east.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
# wget http://mirror.freepbx.org/freepbx-2.3.1.tar.gz
# wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
# 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
bueno ahora ya tenemos todas las fuentes.
Vamos a empezar a instalar el Lame que es un codificador de MP3
# 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
Luego Instalamos Sox una utileria para el manejo de sonido
# 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
Lugo 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
Aqui instalamos FreeBX el Administrador Web de Asterisk
# sudo mkdir /usr/src/freepbx
# cd /usr/src/freepbx
# sudo tar -xzvf ~/asterisk/freepbx-2.3.1.tar.gz
# cd /usr/src/freepbx/freepbx-2.3.1
Vamos a continuar con la configuracion de la base de datos que utiliza FreePBX
iniciamos el manejador de bases de datos MySql (Si aun no has seleccionado un password para root solo dale
# mysql -u root -p
Luego entramos a la base de datos de mysql
mysql> use mysql
Y cambiams el password de root y agregamos un usuario para Asterisk
mysql> UPDATE user SET password = password("P4SSW0RD") WHERE user = "root";
mysql> GRANT ALL PRIVILEGES ON *.* TO asterisk@localhost IDENTIFIED BY "asterisk";
mysql> FLUS PRIVILEGES;
mysql> quit;
Despues nos logueamos con el usuario de asterisk
# mysql -u asterisk -pasterisk
mysql> create database asteriskcdrdb;
mysql> create database asterisk;
Despues pasamos los esquemas de las bases de datos de FreePBX
# mysql -u asterisk -pasterisk asterisk < /usr/src/freepbx/freepbx-2.3.1/SQL/newinstall.sql # mysql -u asterisk -pasterisk asteriskcdrdb < /usr/src/freepbx/freepbx-2.3.1/SQL/cdr_mysql_table.sql Solo por si acaso hay que darle acceso al usuario por defaut de Asterisk # mysql -u root -pP4SSW0RD mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY "amp109";
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY "amp109";
mysql> flush privileges;
mysql> quit;
Con esto terminamos la parte de la base de datos de MySql, ahora vamos con el sistema de asterisk
Hay que crear un usuario y un grupo para que maneje los procesos de Asterix
# 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
Hay que modificar el usuario propietario de apache modificando el archivo /etc/group
# sudo vim /etc/group
www-data:x:33:asterisk
Editamos el archivo de configuracion de apache
# vim /etc/apache2/apache2.conf
y cambiamos las sigueintes lineas
User www-data
Group www-data
por
User asterisk
Group asterisk
Cambiamos los permisos del directorio de sesiones de PHP
# sudo chown -R asterisk /var/lib/php5
Luego cambiamos el tamaño mañimo de archivos que se pueden subir al servidor
# sudo vim /etc/php5/apache2/php.ini
Upload_max_filesize = 32M
Creamos un directorio para los paquetes de asterisk
# sudo mkdir /usr/src/asterisk
# cd /usr/src/asterisk
Y extraemos todas las librerias y paquetes que descargamos
# sudo tar zvxf ~/asterisk/libpri-1.2.4.tar.gz
# sudo tar zvxf ~/asterisk/zaptel-1.2.13.tar.gz
# sudo tar zvxf ~/asterisk/asterisk-1.2.15.tar.gz
# sudo tar zvxf ~/asterisk/asterisk-addons-1.2.5.tar.gz
# sudo tar zvxf ~/asterisk/asterisk-sounds-1.2.1.tar.gz
Y despues pasamos a la fase de compilacion
# cd libpri-1.2.4
# sudo make & sudo make install
# cd ../zaptel-1.2.13
# sudo make clean
# sudo make linux26
# sudo make install
# cd ../asterisk-1.2.15
# sudo make clean
# sudo make
# sudo make install
# sudo make samples
# sudo make progdocs
# cd ../asterisk-addons-1.2.5
# sudo make
# sudo make install
# cd ../asterisk-sounds-1.2.1
# sudo make
# sudo make install
Despues reiniciamos el Apache para que se cargue con la nueva configuracion
# sudo /etc/init.d/apache2 restart
Hay que crear un directorio de Asterisk en /var/run
# sudo mkdir /var/run/asterisk
Y despues editar el archivo de configuracion de asterisk
# sudo vim /etc/asterisk/asterisk.conf
y cambiamos la linea
RUNASTERISK=/var/run ---> cambiar esto
por esta
RUNASTERISK=/var/run/asterisk ---> y esto tambien
# sudo chown -R asterisk:asterisk /var/run/asterisk
# cd /usr/src/freepbx/freepbx-2.3.1/
# sudo pear install db
# sudo mkdir /var/www/cgi-bin
# sudo chown asterisk:asterisk /var/www/cgi-bin
# sudo ./install_amp
Nos pide el nombre de usuario que creamos para acceder a la base de datos
Enter your USERNAME to connect to the 'asterisk' database:
asteriskuser asterisk
Nos pide el password para ese usuario
Enter your PASSWORD to connect to the 'asterisk' database:
Despues nos pide el nombre del servidor donde se encuentra la base de datos, normalmente se encuentra en la misma maquina, si es el caso damos
Aqui introducimos el usuario que usara como admin la API de Asterisk
Enter a USERNAME to connect to the Asterisk Manager interface:
Introduce el password de la api
Enter a PASSWORD to connect to the Asterisk Manager interface:
Introduce la ruta de instalacion del servidor Asterisk
Enter the path to use for your AMP web root:
Created /var/www/html
Luego selecciona la ruta para crear el panerl de Asterisk
Enter the path to use for your FOP web root:
Created /var/www/html/panel
Luego introducimos la direccion del servidor
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
Introducimos el password para utilizar el FOP
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
Aqui seleccionamos la opcion de extensiones
Use simple Extensions extensions admin or separate Devices and Users
Seleccionamos el directorio con las scripts ejecutables de Asterisk
Enter directory in which to store AMP executable scripts:
Created /var/lib/asterisk/bin
Seleccionamos el directorio donde se encuentran los escripts de administracion
Enter directory in which to store super-user scripts:
Luego creamos la carpeta donde se almacenan los sonidos el IVR
# sudo mkdir /var/lib/asterisk/sounds/custom
# sudo chown -R asterisk:asterisk /var/lib/asterisk
Y por ultimo ejecutamos el amportal
sudo /usr/sbin/amportal start
Y con esto ya deberiamos tener instalado el Asterisk, si en alguna parte de la instalacion te genera un error es que ... Algo estas haciendo mal... pero pon tus comentarios para poder ver donde esta el error.
Para entrar a la configuracion de FreePBX abran una ventana del explorador de internet y pongan la siguiente direccion
http://127.0.0.1/html/admin/
como nombre de usuario y contraseña ponagan admin y admin
salu2