Submitted by admin on
En este articulo veremos como instalar la ultima versión 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 vía SSH. La primera vez el servidor nos solicitará el cambio de la contraseña de root predefinida (la que hemos recibido por correo electrónico). Cambiada la contraseña se continúa con los pasos que siguen.
PREPARACIÓN 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 continúa con la configuración de la zona horaria (personalizar según su país):
rm /etc/localtime
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime
Se configura el idioma (español). Para buscar el español 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 automático utilizando el nuevo sistema de arranque de CentOS 7 Systemd:
systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.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 necesitarán al momento de la instalación de DAHDI:
yum install -y kernel-devel-$(uname -r)
Se crea la partición 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 partición de swap para que arranque con el sistema:
nano /etc/fstab
al final del archivo se añade la línea que sigue:
/swapfile swap swap defaults 0 0
Se cambian los permisos del archivo recién 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 parámetros presentes tienen que estar configurados de la siguiente manera:
SELINUX=disabled
SELINUXTYPE=targeted
Se reinicia el sistema:
reboot
INSTALACIÓN LIBRERÍAS 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 compilación 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 compilación de las librerías 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-skip-blocks -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 versión 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 librerías 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 librerías 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 openldap-servers -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
INSTALACIÓN DE ASTERISK
Se descarga la ultima versión 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 módulos que quieren activar/desactivar. En mi caso:
Se guardan los cambios y se continúa:
contrib/scripts/get_mp3_source.sh
make
make install
make samples
Para que Asterisk se inicie en automático hay que crear una nueva entrada en el sistema de arranque Systemd:
nano /usr/lib/systemd/system/asterisk.service
Se copian las líneas 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/multi-user.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 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!!!
9 Comments
Cortafuego en CentOS 7
Submitted by admin on
Una nota.
En CentOS 7 ha cambiado también la gestión del cortafuego que se basa en Firewalld.
Si se quiere utilizar el "viejo" IPtables los pasos a seguir son:
systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
service iptables stop
mv /etc/sysconfig/iptables /etc/sysconfig/iptables.old
service iptables start
Luego se configura normalmente.
Compatibilidad con el libro Asterisk 11 v 1.1
Submitted by Anónimo (not verified) on
Cuento con la ultima versión del libro Asterisk 11 v 1.1, en el se utiliza centOS 6.5, es posible seguir este post para emplear centOS 7 y continuar con la integridad del libro, veo que cambia MySQL por Maria. al parecer es el único cambio significativo.
Saludos
Re: Compatibilidad con el libro Asterisk 11 v 1.1
Submitted by admin on
Hola,
el sistema de arranque de CentOS 7 es completamente nuevo y puede ser que algunos programas no tengan todavía ese sistema disponible pues el único problema que le veo es ese; que tengas problemas a la hora de configurar el arranque automático para algunos programas que se instalan desde la fuentes.
Personalmente primero averiguaría esa parte.
Saludos
GUI
Submitted by Anónimo (not verified) on
Alguna GUI funciona con esta distribución de Asterisk
dahdi
Submitted by Anónimo (not verified) on
Saludos.
¿Por que se instala dahdi en un vps virtual??
Saludos
Re: dahdi
Submitted by admin on
Hola,
DAHDI se requerido por la aplicación meetme (conferencias audio) y para el trunking del protocolo IAX2. Como para las conferencias audio es mejor utilizar ConfBridge (más completa) y IAX2 casi no se utiliza, puedes realizar la instalación sin DAHDI.
Saludos
make en lame
Submitted by oscar manrique on
Re: make en lame
Submitted by admin on
Hola Oscar,
la verdad no entiendo donde está el error...
¿Que no compila nada?
Saludos
LAME EN CENTOS 7
Submitted by oscar manrique on
Gracias amigo por responder a mi peticion estoy tratando de instalar asterisk con a2billing en centos 7 pero al compilar lame me sale el error anterior descrito dice que se sale del directorio al hacer make igual con make install