Está en la página 1de 8

InstalaciondeAsterisk11encentos7

https://www.voztovoice.org/?q=node/727

En este articulo veremos como instalar la ultima versin de Asterisk de la rama 11 en un


VPS remoto con instalado CentOS 7
Para el articulo se ha utilizado un VPS de Digital Ocean con 512 MB RAM.
Una vez adquirido el VPS se accede va SSH. La primera vez el servidor nos solicitar el
cambio de la contrasea de root predefinida (la que hemos recibido por correo electrnico).
Cambiada la contrasea se contina con los pasos que siguen.

PREPARACIN DEL VPS


Se actualiza el sistema:
yum update -y
Se instalan los repositorios Epel para CentOS 7:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
Se contina con la configuracin de la zona horaria (personalizar segn su pas):
rm /etc/localtime
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime
Se configura el idioma (espaol). Para buscar el espaol de Colombia
localectl list-locales | grep CO
es_CO
es_CO.iso88591
es_CO.utf8
Para configurarlo
localectl set-locale LANG=es_CO.iso88591
Se instala el paquete del network time protocol para tener siempre actualizada la hora del
servidor:

yum install ntp -y


Se configura para que arranque en automtico utilizando el nuevo sistema de arranque de
CentOS 7 Systemd:
systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multiuser.target.wants/ntpd.service'
Se inicia:
systemctl start ntpd
Para ver si est corriendo correctamente:
systemctl | grep ntpd
ntpd.service

loaded active running Network Time Service

Se instalan las fuentes del Kernel instalado que se necesitarn al momento de la instalacin
de DAHDI:
yum install -y kernel-devel-$(uname -r)
Se crea la particin de Swap ya que no viene por defecto:
dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile
Se configura la particin de swap para que arranque con el sistema:
nano /etc/fstab
al final del archivo se aade la lnea que sigue:
/swapfile swap swap defaults 0 0
Se cambian los permisos del archivo recin creado:
chmod 0600 /swapfile

En el CentOS de digital Ocean Selinux est desactivado por defecto. En el caso de otro
servidor local o remoto, averiguar siempre que lo est:
nano /etc/selinux/config
Los dos parmetros presentes tienen que estar configurados de la siguiente manera:
SELINUX=disabled
SELINUXTYPE=targeted
Se reinicia el sistema:
reboot

INSTALACIN LIBRERAS Y DEPENDENCIAS PARA ASTERISK


Vorbis:
yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel -y
Curl:
yum install curl curl-devel libidn-devel -y
Paquetes para la compilacin de las fuentes:
yum install gcc ncurses-devel make gcc-c++ mingw64-termcap-static zlib-devel libtool
bison-devel \
bison openssl-devel bzip2-devel wget newt-devel subversion flex gtk2-devel net-tools -y
En CentOS 7 ya no est presente MySQL sino MariaDB:
yum install mariadb mariadb-server mariadb-devel -y
ODBC:
yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel -y
SQLite:
yum install sqlite sqlite-devel -y
Festival:

yum install festival festival-devel hispavoces-pal-diphone hispavoces-sfl-diphone -y


Libuuid y uiid para la correcta compilacin de las libreras de PjSIP y el correcto
funcionamiento del protocolo ICE en Asterisk:
yum install libuuid libuuid-devel uuid uuid-devel -y
Speex y WavPack:
yum install speex speex-devel wavpack wavpack-devel
Lame desde las fuentes:
cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gz
tar -xf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Libmad desde las fuentes:
cd /usr/src
wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
tar -xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --prefix=/usr --libdir=/usr/lib64/
nano +129 Makefile
CFLAGS = -Wall -g -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2
para que quede:
CFLAGS = -Wall -g -O -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skipblocks -fexpensive-optimizations -fregmove -fschedule-insns2
make
make install
SoX desde las fuentes:
cd /usr/src
wget http://downloads.sourceforge.net/project/sox/sox/14.4.1/sox-14.4.1.tar.gz

tar -xf sox-14.4.1.tar.gz


cd sox-14.4.1
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Se instala la ultima versin de DAHDI y LibPRI:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-l...
tar -xf dahdi-linux-complete-2.10.0+2.10.0.tar.gz
cd dahdi-linux-complete-2.10.0+2.10.0
make
make install
make config
Se inicia DAHDI con el viejo sistema de arranque:
service dahdi start
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.14.tar.gz
tar -xf libpri-1.4.14.tar.gz
cd libpri-1.4.14
make
make install
SpanDSP y relativas libreras para el soporte FAX:
yum install libtiff libtiff-devel libxml2 libxml2-devel -y
cd /usr/src
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz
tar -xf spandsp-0.0.6pre21.tgz
cd spandsp-0.0.6
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Iksemel y relativas libreras para el soporte XMPP:
yum install gnutls gnutls-devel gnutls-utils iksemel iksemel-devel -y
OpenLDAP:

yum install compat-openldap openldap openldap-clients openldap-devel openldapservers -y


SNMP:
yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils -y
El Lenguaje LUA para el dialplan:
yum install lua lua-devel -y
LibiCAL y Neon para el soporte de los calendarios:
yum install libical libical-devel neon neon-devel -y
LibSRTP para el cifrado del flujo media:
yum install libsrtp libsrtp-devel -y

INSTALACIN DE ASTERISK
Se descarga la ultima versin disponible de Asterisk, rama 11:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.12.1.ta...
tar -xf asterisk-11.12.1.tar.gz
cd asterisk-11.12.1
./configure --libdir=/usr/lib64
make menuselect
Seleccionan los mdulos que quieren activar/desactivar. En mi caso:

Se guardan los cambios y se contina:

contrib/scripts/get_mp3_source.sh
make
make install
make samples
Para que Asterisk se inicie en automtico hay que crear una nueva entrada en el sistema de
arranque Systemd:
nano /usr/lib/systemd/system/asterisk.service
Se copian las lneas que siguen:
[Unit]
Description=Asterisk PBX
Documentation=man:asterisk(8)
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/sbin/asterisk -g -f
ExecReload=/usr/sbin/asterisk -rx 'core reload'
Restart=always
RestartSec=1
WorkingDirectory=/usr/sbin
[Install]
WantedBy=multi-user.target
Se guardan los cambios y se activa el servicio:
systemctl enable asterisk
ln -s '/usr/lib/systemd/system/asterisk.service' '/etc/systemd/system/multiuser.target.wants/asterisk.service'
Para tener la certeza que arranque al Boot de Linux, se reinicia el servidor:
reboot
Se accede nuevamente al servidor remoto y luego a la consola de Asterisk:
asterisk -rvvvvvvvvvv

asterisk -vvvvvvc

Asterisk 11.12.1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
======================================================
===================
Connected to Asterisk 11.12.1 currently running on sip21 (pid = 639)
CLI>
Perfecto!!!