Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar Asterisk en Centos

VoIP es un protocolo que revoluciono las llamadas telefónicas dándoles un vuelco en cuanto a costos, formas de implementarla y principalmente en permitir ya poder usarse por cualquiera, sea una pequeña, mediana, gran empresa o una persona particular. Uno de los impulsores es Digium, creador de Asterisk, el cual hoy les mostrare como instalar paso a paso en un servidor Linux Centos 6.4.

Requerimientos

  • Servidor Linux Centos 6.4
  • Red ethernet preferiblemente certificada minimo categoria 5e (WiFi no es recomendable por el ancho de banda necesitado)
  • Mínimo una linea telefónica para recibir o hacer llamadas externas

-Instalamos dependencias

yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel

-Como usaremos los fuentes de asterisk para compilarlos, los colocaremos en /usr/src. Descargamos los paquetes a compilar
cd /usr/src/
wget -c http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget -c http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget  -c http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

-Descomprimimos los paquetes
tar xzvf asterisk-11-current.tar.gz
tar xzvf dahdi-linux-complete-current.tar.gz
tar xzvf libpri-1.4-current.tar.gz

-Compilamos e instalamos dahdi
cd dahdi-linux-complete-2.7.0.1+2.7.0.1/

make
make install
make config

-Compilamos e instalamos libpri
cd ..
cd libpri-1.4.14/

make
make install

-Compilamos e instalamos asterisk. En el paso del menuselect se nos da la posibilidad de activar o desactivar módulos dependiendo de nuestras necesidades. Por lo general los defaults son suficientes. En este caso estoy usando un Centos de 64 bits, si instalas en uno de 32 bits, el camino del libdir seria /usr/lib

cd ..
cd asterisk-11.6.0/

./configure --libdir=/usr/lib64
make menuselect
DriveMeca instalando Asterisk en un servidor Linux Centos 6.4
Por default vienen los sonidos en English, debemos activar los de Español (ES)

make
make install
make samples

-Directorios a tener en cuenta donde encontraemos los archivos de asterisk instalados
/etc/asterisk
/var/lib/asterisk
/usr/lib/asterisk/modules

-Iniciamos servicios
service dahdi start
chkconfig dahdi on
service asterisk start
chkconfig asterisk on

-Comandos útiles de asterisk

asterisk -rvvvvv
Asterisk 11.6.0, 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.6.0 currently running on cenpg (pid = 20945)
cenpg*CLI>

-Si presionamos la Tecla TAB o ? nos mostrara los comandos que podemos ejecutar en el CLI

cenpg*CLI> 
!              acl            ael            agent          agi            aoc            calendar       cc             cdr            cel            
channel        cli            confbridge     config         console        core           data           database       devstate       dialplan       
dnsmgr         dundi          event          fax            features       file           group          hangup         help           http           
iax2           indication     keys           local          logger         manager        mgcp           minivm         mixmonitor     module         
moh            no             originate      parkedcalls    phoneprov      presencestate  pri            queue          realtime       reload         
rtcp           rtp            say            sip            skinny         stun           timing         transcoder     udptl          ulimit         
unistim        voicemail

Y ya tenemos nuestro PBX instalado; siguiente paso, crear troncales, conectar lineas telefónicas, extensiones, etc lo que dejaremos para futuros artículos.
Tienes una PBX? Es de un fabricante o ya usas Asterisk? Piensas implementar Asterisk pronto?
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar SmokePing en Centos

Necesitas una herramienta que te muestre de forma gráfica la latencia de tu red?. Te presento SmokePing, una magnifica aplicación del creador de RRDtool escrita en perl y con una variedad de plugins para poder monitorear latencia en una fácil interfaz web que hoy te mostrare como instalar paso a paso en un servidor Linux Centos 6.4.

Requerimientos


-Instalamos repositorio epel de Fedora para algunos paquetes que no los tiene Centos

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install yum-priorities

-Editamos para quitarle prioridad a los rpm de epel
vi /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

-Instalamos dependencias
yum install openssl-devel popt-devel libidn-devel curl bind-utils openssh-server mod_fcgid
yum install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-RRD-Simple perl-CGI-SpeedyCGI perl-ExtUtils-MakeMaker perl-Net-OpenSSH

-Instalamos fping
wget -c http://www.fping.org/dist/fping-3.8.tar.gz

tar xzvf fping-3.8.tar.gz
cd fping-3.8

-Compilamos
./configure
make
make install

-Instalamos echoping
wget -c http://downloads.sourceforge.net/project/echoping/echoping/6.0.2/echoping-6.0.2.tar.gz

tar xzvf echoping-6.0.2.tar.gz
cd echoping-6.0.2

./configure
make
make install

-Activamos sus librerias
vi /etc/ld.so.conf
/usr/local/lib/echoping

-Activamos el cambio
ldconfig

-Descargamos smokeping
wget -c http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz
tar xzvf smokeping-2.6.9.tar.gz

-Descargamos e instalamos módulos de perl necesitados
cd smokeping-2.6.9/setup/
./build-perl-modules.sh

-Compilamos
./configure --prefix=/opt/smokeping
make install

-Creamos algunos directorios que faltan y modificamos los ficheros de configuracion
cd /opt/smokeping
mkdir data var cache
cd etc/
for foo in *.dist; do cp $foo `basename $foo .dist`; done

-Las pruebas hay muchas formas de configurarlas como se explica en la ayuda de la aplicación (bastante larga por cierto) o podemos usar parte de los ejemplos que también ahí podemos consultar. Por el momento para esta prueba mostraremos algunas. Editamos

vi config

owner    = DriveMeca
contact  = pepe@gmail.com
mailhost = localhost
cgiurl   = http://192.168.1.167/smokeping/smokeping.cgi
imgcache = /opt/smokeping/cache
datadir  = /opt/smokeping/data
piddir  = /opt/smokeping/var
smokemail = /opt/smokeping/etc/smokemail.dist
tmail = /opt/smokeping/etc/tmail.dist
*** Alerts ***
to = drivemeca@test.com
from = smokealert@test.com

*** Probes ***

+ DNS
 binary = /usr/bin/dig
 server = 8.8.8.8
 pings = 3
 forks = 5

+ FPing
binary = /usr/local/sbin/fping

+ EchoPingHttp
 binary = /usr/local/bin/echoping
 pings = 5
 forks = 5
 offset = 50%
 ipversion = 4
 url = /

+ EchoPingHttps
 binary = /usr/local/bin/echoping
 pings = 5
 forks = 5
 offset = 50%
 ipversion = 4

+ Curl
 binary = /usr/bin/curl
 pings = 5

urlformat = http://%host%/

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of test.com

 + network
 menu = Net latency
 title = Network latency (ICMP pings)

 ++ www1
 host = www.google.com

 + services
 menu = Service latency
 title = Service latency (DNS, HTTP)

 ++ DNS
 probe = DNS
 menu = DNS latency
 title = Service latency (DNS)

 +++ www1
 host = www.google.com

 + HTTP
 probe = Curl
 menu = http full page
 title = HTTP latency

 ++ www1
 host = www.google.com

-Creamos un enlace simbolico a la carpeta cache
ln -s /opt/smokeping/cache /opt/smokeping/htdocs/cache

-Nos creamos un conf para apache con pedido de usuario y contraseña
vi /etc/httpd/conf.d/smokeping.conf
ScriptAlias /smokeping/smokeping.cgi "/opt/smokeping/htdocs/smokeping.fcgi.dist"
Alias /smokeping/ "/opt/smokeping/htdocs/"

<Directory "/opt/smokeping/htdocs">
        Options FollowSymLinks
        AuthType Basic
        AuthName "Smokeping"
        AuthBasicProvider file
        AuthUserFile /var/www/cgi-bin/htpasswords
        Require valid-user
</Directory>

-Nos creamos el usuario y su contraseña (podemos agregar los que necesitemos)
htpasswd -c /var/www/cgi-bin/htpasswords drivemeca
New password: 
Re-type new password: 
Adding password for user drivemeca

-Cambiamos permisos
chmod 600 /var/www/cgi-bin/htpasswords
chown apache.apache /var/www/cgi-bin/htpasswords
chmod 600 /opt/smokeping/etc/smokeping_secrets.dist
chown -R apache.apache /opt/smokeping/

-Creamos un script de inicio para SmokePing

vi /etc/init.d/smokeping
#!/bin/sh
#
# smokeping    This starts and stops the smokeping daemon
# chkconfig: 345 98 11
# description: Start/Stop the smokeping daemon
# processname: smokeping
# Source function library.
. /etc/rc.d/init.d/functions

SMOKEPING=/opt/smokeping/bin/smokeping
LOCKF=/var/lock/subsys/smokeping
CONFIG=/opt/smokeping/etc/config

[ -f $SMOKEPING ] || exit 0
[ -f $CONFIG ] || exit 0

RETVAL=0

case "$1" in
  start)
        echo -n $"Starting SMOKEPING: "
        daemon $SMOKEPING
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $LOCKF
        ;;
  stop)
        echo -n $"Stopping SMOKEPING: "
        killproc $SMOKEPING
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $LOCKF
        ;;
  status)
        status smokeping
        RETVAL=$?
        ;;
  reload)
        echo -n $"Reloading SMOKEPING: "
        killproc $SMOKEPING -HUP
        RETVAL=$?
        echo
        ;;
  restart)
        $0 stop
        sleep 3
        $0 start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f $LOCKF ]; then
                $0 stop
                sleep 3
                $0 start
                RETVAL=$?
        fi
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
        exit 1
esac

-Activamos permisos
chmod 755 /etc/init.d/smokeping

-Ejecutamos los servicios de httpd y SmokePing
service httpd start
chkconfig httpd on
service smokeping start
chkconfig smokeping on

-Nos logeamos con el usuario creado en el URL de nuestro servidor, en este caso http://192.168.1.167/smokeping/smokeping.cgi
DriveMeca instalando SmokePing en Centos

-En el menu de la izquierda veremos los links de las pruebas que configuramos en el config
DriveMeca instalando SmokePing en Centos

-En la medida que pase el tiempo, los valores irán apareciendo
DriveMeca instalando SmokePing en Centos

Te resulta útil SmokePing? Ya lo usas o planeas implementarlo?
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar RRDtool en Centos 6.4

RRD (Round Robin Database) es una aplicación opensource para almacenar y mostrar gráficos de series de tiempo que hace mucho tiempo se volvió el estándar de uso para otras aplicaciones en perl, python, ruby, etc. Aunque es muy útil, su instalación a veces es algo compleja al depender de varias dependencias pero no te preocupes, hoy les mostrare como instalar rrdtool en Linux Centos 6.4 paso a paso.

Requerimientos

  • Linux Centos 6.4 (para este ejemplo de 64 bits)
  • Apache web server para visualizar los graficos

-Instalamos dependencias

yum install gcc make cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel httpd wget perl-ExtUtils-MakeMaker xorg-x11-fonts*

-Activamos variables de entorno

BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/opt/rrdtool

-Creamos directorio temporal y nos pasamos a el

mkdir -p $BUILD_DIR
cd $BUILD_DIR

-Descargamos la ultima versión, la descomprimimos y entramos a su directorio

wget -c http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
tar xzvf rrdtool.tar.gz
cd rrdtool-1.4.8/

-Activamos variable de entorno de pkgconfig, en caso de que estés instalando en un servidor Linux Centos de 32 bits, el path seria /usr/lib/pkgconfig/

export PKG_CONFIG_PATH=/usr/lib64/pkgconfig/

-Comenzamos la configuración

./configure --prefix=$INSTALL_DIR

-Compilamos e instalamos

make
make install



-Verificamos nos haya quedado bien ejecutando uno de los ejemplos que viene en la aplicación

cd /opt/rrdtool/share/rrdtool/examples/
./stripes.pl
cp stripes.png /var/www/html/

-Iniciamos Apache para poder ver el gráfico del ejemplo

service httpd start

-Nos conectamos desde un browser para ver el gráfico, en este caso al URL http://192.168.1.167/stripes.png
DriveMeca instalando rrdtool en Centos 6.4

-Otro gráfico de ejemplo
DriveMeca instalando rrdtool en Centos 6.4

Seguramente ya haz oído hablar de rrdtool y es posible que ya alguna aplicación que usas lo aplique para sus gráficos. Ahora que sabes como instalarlo, lo usaras? en que proyectos? Ya lo usas?
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar Debian 7

Existe una distribución Linux de la que han nacido otras, hablamos de Debian, una de las mas veteranas en el mundo opensource que se caracteriza por ser robusta aunque por esto posiblemente no veremos en ella los últimos paquetes.
Debian siempre sera un buen candidato para nuestros servidores y por ello hoy les mostrare como instalar su versión 7.2 Wheezy paso a paso.

-Descargamos el ISO en variante netinstall desde este URL. Esto nos da la ventaja de tener en un único ISO la instalación de 32 o 64 bits con la desventaja de que necesitaremos internet a la hora de instalar

-Generamos un CD o USB booteable y hacemos boot. Se nos da la posibilidad de instalar la versión de 32 o de 64 bits ademas de con o sin ambiente gráfico. Para este ejemplo, instalaremos la versión de 64 bits sin ambiente gráfico. Presionamos Enter en la opción elegida
DriveMeca instalando Debian Wheezy 7.2

-Escogemos el idioma en que instalaremos y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Escogemos el país en que esta ubicado el equipo así el sistema activara la zona horaria. Presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Configuramos la distribución del teclado y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Se descargan algunos requerimientos para la instalacion
DriveMeca instalando Debian Wheezy 7.2

-Escribimos un nombre o hostname y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Escribimos el dominio internet a usar y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Escribimos la contraseña para root y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Confirmamos la contraseña y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Siguiente paso, crearnos una cuenta sin privilegios desde la que trabajaremos y solo usaremos root cuando se necesite instalar o configurar algo. Escribimos el nombre de la persona que la usara y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Creamos un nombre de usuario para la cuenta sin privilegios y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Asignamos una contraseña y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Confirmamos la contraseña y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Se actualiza la fecha y hora desde internet
DriveMeca instalando Debian Wheezy 7.2

-Particionamos el disco tomando la opción de LVM para mas adelante poder expandirlo si lo necesitamos con otro disco sin gran complejidad
DriveMeca instalando Debian Wheezy 7.2

-Elegimos el disco a particionar, en este caso es el único disponible y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Para una instalación sencilla recomiendo una única partición, si conoces del tema, haz el particionado mas a tu gusto. Presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Guardamos los cambios respondiendo Si
DriveMeca instalando Debian Wheezy 7.2

-Ya estamos listos para particionar el disco, se nos muestra como quedara. Presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Escribimos los cambios en LVM eligiendo Si
DriveMeca instalando Debian Wheezy 7.2

-Se instala el sistema base
DriveMeca instalando Debian Wheezy 7.2

-Elegimos el servidor principal de donde se descargaran actualizaciones o nuevos paquetes y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Dependiendo del país que hayamos elegido, serán los servidores que podremos configurar para usar de replica. Presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-En caso de salir a internet por medio de un proxy, colocaremos la información, sino, dejamos en blanco y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Se configura apt
DriveMeca instalando Debian Wheezy 7.2

-Se actualizan los repositorios locales
DriveMeca instalando Debian Wheezy 7.2

-Se nos da la posibilidad de participar en una encuesta de uso anónimo de programas para en base a su popularidad estén en el primer CD de la distribución Debian, hacemos nuestra elección y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Elegimos los grupos de aplicaciones que instalaremos y presionamos Enter sobre el botón Continuar
DriveMeca instalando Debian Wheezy 7.2

-Instalamos el gestor de arranque. Presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-La instalación fue completada con éxito, se nos pide reiniciar el equipo; antes quitamos el CD o USB y presionamos Enter
DriveMeca instalando Debian Wheezy 7.2

-Primer boot de nuestro Debian Wheezy 7.2 ya instalado
DriveMeca instalando Debian Wheezy 7.2

-Nos logeamos con la cuenta sin privilegios y en caso dado con el comando su podemos cambiarnos a root para tareas administrativas
DriveMeca instalando Debian Wheezy 7.2

Usas Debian, en modo servidor o Desktop? Que te gusta de esta distribución?
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como actualizar Ubuntu 13.04 a 13.10 paso a paso

Ya hace un tiempo se lanzo Ubuntu 13.10 y muchos esperan un tiempo antes de pensar en actualizarse a la nueva versión, ahora es el momento, ya después de un periodo se posiciona como una versión para ti, para el negocio o para el desarrollador. Por ello hoy les mostrare como actualizar Ubuntu 13.04 a la 13.10 paso a paso.
Se recomienda antes de hacerlo tener un backup de tus datos (documentos, imágenes, vídeos, info de conexión a internet, wifi, etc).




-Primer paso, actualizamos Ubuntu 13.04 a los últimos paquetes disponibles

sudo apt-get update
sudo apt-get dist-upgrade

-Ejecutamos desde Unity,  Software Updater
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Nos aparece la ventana y aunque nos dice que nuestro Ubuntu esta actualizado, hay una nueva versión que podemos instalar dando click al botón Upgrade
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Como medida de seguridad se nos pide confirmar nuestra identidad escribiendo la contraseña de nuestra cuenta y presionando Enter
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Nos aparecen las notas de Ubuntu 13.10. Damos click al botón Upgrade
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Comienza el proceso, dependiendo de la velocidad de tu conexión a Internet, este tiempo puede ser o no largo. Hora de ir por un café ;-)
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Como la gran mayoría, es muy posible que tengas repositorios de terceros instalados los cuales se deshabilitan para poder continuar. Damos click al botón Close
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-En el siguiente paso se nos advierte de que se eliminaran paquetes no soportados, por ejemplo, versiones del kernel o algún software de terceros que después podremos volver a instalar. Esta es la ultima oportunidad de cancelar la actualización. Damos click al botón Start Upgrade
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-A veces encontraremos archivos que el sistema necesita cambiarlos por una nueva versión, como por ejemplo, el conf de NetworkManager, sera decision nuestra si lo permitimos o no, en este caso le digo Replace
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Eliminamos versiones obsoletas de paquetes dando click al botón Remove
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-La actualización se completo con éxito, ultimo paso, reiniciar nuestro equipo
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

-Ya dentro de nuestro flamante Ubuntu podemos comenzar a usar Saucy 13.10
DriveMeca actualizando Ubuntu 13.04 a la versión 13.10

Prefieres actualizar tu Ubuntu o haces un backup y reinstalas de cero? Porque
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark