INSTALACION DE ASTERISK 1.4 EN UNA MAQUINA CON UBUNTU-SERVER


image
1. Lo primero que vamos a hacer es la actualización del sistema:
#sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get autoremove //para limpiar los ficheros
2. Ahora que ya tenemos actualizado nuestro sistema vamos a instalar las dependencias necesarias para la compilación de los módulos de Asterisk.
#sudo apt-get install bison libssl-dev zlib1g-dev libnewt-dev make libtool libgtk2.0-dev
#sudo apt-get install libncurses5-dev libvorbis-dev automake mysql-server mysql-client mysql-admin libmysqlclient15-dev
#sudo apt-get install php5 php5-cli php5-common php5-dev curl libgnutls13 libgnutls-dev libtiff4-dev
#sudo apt-get install linux-kernel-devel libasound2-dev libportaudio-dev libportaudio2 jackd
#sudo apt-get install unixodbc unixodbc-bin unixodbc-dev speex libspeex-dev
Ahora vamos instalar los kernels necesarios, para ello tenemos que saber cuál es nuestra versión de nuestro sistema: uname –r y con esto nos muestra por pantalla la versión que estamos utilizando, en my caso 2.6.24-19-41-server
#sudo apt-get install linux-headers-2.6.24-19-41-server build-essential
Ah y si no tenemos instalados los compiladores ya que la distribución los instala por defecto lo tenemos que instalar porque Asterisk está programado en C, C++, entre otros lenguajes de programación.
#sudo apt-get install gcc gcc-c++
También instalaremos algunas dependencias para cuando instalemos FreePBX ya no las instalemos:
#sudo apt-get install libxml2-utils libxml2-dev libtiff4 libtiff4-dev lame liblame0 liblame-dev mysql-client libmysqlclient15-dev mysql-server php5 php-pear php5-gd php5-mysql php5-cli perl libaudiofile-dev curl sox sox-dev
Si tienes algún problema al instalar todas de una sola vez instálala de una en una
3. Descarga de modulos Asterisk 1.4
Aquí tenemos que crear una nuevo directorio que cuelgue del directorio raíz, donde descargaremos todos los módulos de Asterisk 1.4: /asterisk
Situados en el directorio /Asterisk comenzamos a descargar los modulos:
· Asterisk-1.4
#sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4.26.2.tar.gz


· Dahdi-linux-2.2 (antes llamado Zaptel)
#sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.2.0.2.tar.gz
· Dahdi-tools-2.2.0
#sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-2.2.0.tar.gz
· Libpri 1.4.10
#sudo wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.10.1.tar.gz
· Asterisk-Addons 1.4
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.4.9.tar.gz
· Asterisk GUI 2.0.4
#wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/asterisk-gui-2.0.4.tar.gz
4. Descomprimir los modulos descargados
Una vez tenemos todos los módulos de Asterisk descargados los vamos a descomprimir. No os preocupéis por donde los guarda Ubuntu ya que todos los encontraremos en el directorio /etc/Asterisk. Yo recomiendo seguir este orden para que carguen todos los módulos y no quede nada sin instalar
Para descomprimir usamos: #tar xvfz modulo_especifico situados en la misma carpeta de la descarga.
4.1 Para Asterisk-1.4
#sudo tar xvfz asterisk-1.4.26.2.tar.gz
#cd asterisk-1.4.26.1
Desde aquí podemos configurar las voces de Asterisk para que se escuchen en español.
Dentro de la carpeta asterisk-1.4.21.1 está la carpeta sounds, en la cual están comprimidas las voces en español….
image
Acá podemos ver las carpetas que tenemos que descomprimir para luego configurar las voces en español.
image
Ejecutamos….
#tar xvfz asterisk-core-sounds-en-gsm-1.4.14.tar.gz
#tar xfvz asterisk-moh-freeplay-wav.tzr.gz
Hecho esto salimos de la carpeta sounds ejecutando #cd ..
Después ejecutamos…..
#./configure
Para personalizar los componentes que se van a instalar..
#make menuselect
En el apartado Core Sound Packages con la tecla espacio se abre una nueva ventana y quitamos los asteriscos de todas las carpetas que contengan EN y marcamos todas las que contengan ES, situándonos en ellos y con la tecla espacio quitamos o marcamos, quedaría algo asi:
image
image
Y finalmente ejecutamos..
#make
#make install
Una vez instalado el sistema podemos ejecutar make samples para generar los ficheros de configuración del sistema (Ej: sip.conf; extensión.conf)
#make samples
Y de forma opcional si queremos generar documentación adicional sobre Asterisk ejecutamos
#make progdocs
4.2 Para Dahdi-linux-2.2.0.2 (antes llamado Zaptel)
#sudo tar xvfz dahdi-linux-2.2.0.2.tar.gz
#cd dahdi-linux-2.2.0.2
#make
#make install
4.3Para Dahdi-tools-2.2.0
#sudo tar xvfz dadhi-tools-2.2.0.tar.g
#cd dahdi-tool-2.2.0
#./configure
#make menuselect
#make
#make install
#make config
Si tenemos algún hardware instalado mediante este ultimo comando generamos algunos scripts de inicialización
4.4 Para Libpri 1.4.10.1
#sudo tar xvfz libpri-1.4.10.1.tar.gz
#cd libpri-1.4.10.1
#make
#make install
4.5 Para Asterisk-Addons 1.4.9
#sudo tar xvfz Asterisk-addons-1.4.9.tar.gz
#cd asterisk-addons-1.4.9
#./configure
Si queremos personalizar los componentes que vamos a instalar
#make menuselect
#make install
#make samples

5. Estructura de directories

# /etc/asterisk: Contiene los ficheros de configuración. Si al compilar ejecutamos “make samples”, tendremos ejemplos en este directorio.
# /usr/lib/asterisk/modules: Contiene los módulos de Asterisk que hemos compilado
# /var/lib/asterisk: Contiene diferentes librerías de Asterisk
# /var/lib/asterisk/agi-bin: Directorio para contener los AGI
# /var/spool/asterisk: Directorio par archivos que genera Asterisk (voicemail,etc)
# /var/log/asterisk: Aquí se guardan los log de Asterisk
6. Ejecutando Asterisk

Hay que ser root
Para lanzar Asterisk en segundo plano: #asterisk
Para lanzar Asterisk en primer plano: #asterisk –vvvvvvvvvvvc
Para conectarnos a la consola si Asterisk está en segundo plano: #asterisk -vvvvvvvvvvvvr

Instalacion y configuracion de Asterisk GUI 2.0

 image

GUI es la Interfaz grafica para Asterisk creada por Digium, es un plataforma para poder configurar Asterisk de forma grafica y remota al mismo tiempo.

Lo primero que haremos será descargarnos los repositorios SVN de digium, nos los descargamos en la carpeta de descargas que creamos cuando instalamos Asterisk 1.4., que cuelga de la carpeta raiz

/asterisk#

Ejecutamos la descarga……

#sudo wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/asterisk-gui-2.0.4.tar.gz

Seleccionamos la versión 2.0 porque es la última versión más estable para Asterisk.

Descomprimimos el fichero con:

#tar zxvf asterisk.gui-2.0.4.tar.gz

#cd asterisk-gui-2.0.4

#make

#make install

Ya tenemos instalado la GUI para Asterisk …..Ahora tenemos que configurar dos ficheros que se encuentran en /etc/asterisk

Algunas ya existen y solo hay que quitarles el “;” para des comentarlas

Primero editamos el fichero manager.conf  para que quede asi:

  •  manager.cong

[general]

displaysystemname = yes

enabled = yes

webenabled = yes

port = 5038

bindaddr = 0.0.0.0

[root] (Este será nuestro usuario para entrar a la GUI)

secret = 1234 (Esta será nuestra contraseña para entrar a la GUI)

read = system,call,log,verbose,command,agent,user,config

write = system,call,log,verbose,command,agent,user,config

Luego editamos el fichero http.conf para que quede asi:

  • http.conf

[general]

enabled = yes

enablestatic = yes

bindaddr = 0.0.0.0

bindport = 8088

Una vez compilado Asterisk-GUI, podemos comprobar si todo esta correcto ejecutando (en el directorio 2.0)

#make checkconfig

Si todo ha ido bien , nos mostrara un mensaje de que ya podemos acceder mediante la dirección:

http://192.168.2.3:8088/asterisk/static/config/index.html

Y accederemos con el login que hemos creado en manager.conf que en y caso es “root” y la contraseña “1234”

image

Desde esta ventana es posible configurar Asterisk de manera bastante intuitiva pero por ahora no vamos a explicar el funcionamiento de la GUI de Asterisk ya que no es este la meta de este tutorial.

Instalar las X en Ubuntu Server

 

Todos sabemos que un Servidor Linux siempre ha sido en modo texto.

Pero muchas veces es mas fácil configurar algunas cosas desde el entorno gráfico pero nos encontramos que Ubuntu Server no lo instala. Podemos instalar el entorno gráfico haciendo

#sudo apt-get install ubuntu-desktop

pero esto nos instalaría un escritorio completo con openoffice y otros programas que nunca vamos a utilizar en el server.

La opción que nos queda es instalar un entorno gráfico mínimo y a partir de ese personalizarlo según lo que necesitemos.

Para instalar Gnome hacemos lo siguiente:

#sudo apt-get install x-window-system-core gnome-core

Nota: en el caso que usen 8.04 server deben poner: #sudo apt-get install xorg gnome-core

Luego de instalado, ejecutamos

#startx

y ya tenemos nuestro escritorio mínimo. Todo lo que incluye el menú es: “Accesorios” (con editor de texto y terminal) e “Internet” (con Firefox) y nada más.
Ya que es una instalación mínima, queda todo en inglés. Para instalar los paquetes de idiomas en español hacemos:

#sudo apt-get install language-pack-es
#sudo apt-get install language-pack-es-base
#sudo apt-get install language-pack-gnome-es
#sudo apt-get install language-pack-gnome-es-base
#sudo apt-get install language-selector
#sudo apt-get install language-support-es

Finalmente es necesario instalar gksu para que funcionen correctamente los menús:

#sudo apt-get install gksu

Para que instale Herramientas de red hacemos

#sudo apt-get install gnome-system-tools gnome-nettool

y listo… nos queda instalado Gnome con lo mínimo necesario…

Espero que les sea de ayuda para a los que mas les guste un entorno grafico…….

Instalación de VNC Server en equipo con Ubuntu Server

 

Configurar acceso a equipo VNC Server mediante Cliente/servidor

Todos los Administradores alguna ves tenemos la necesidad de Controlar nuestros equipo de forma remota y que mas fácil hacerlos con VNC, ya que es la forma de administrar remotamente y con un entorno grafico basado en una estructura cliente/servidor , y por eso he decidido hacer este tutorial para aquellos que necesiten tomar el control de un PC remotamente ya sea en una plataforma Linux o Windows

En primer lugar abriremos una ventana de terminal en GNU Linux Ubuntu

Escribiremos el siguiente comando GNU Linux para instalar los paquetes necesarios para VNC Server (x11vnc y vnc-java):

#sudo apt-get install x11vnc vnc-java

Ejecutaremos ahora el siguiente comando GNU Linux para añadir las utilidades necesarias para la configuración de VNC Server (como por ejemplo vncpasswd):

#sudo apt-get install vnc-common

Hay dos formas para establecer la contraseña de VNC, pero esta es la mas facil: vncpasswd

A continuación estableceremos la contraseña para las conexiones de los clientes al servidor VNC (equipo con GNU Linux Ubuntu ), para ello ejecutaremos el comando GNU Linux:

#sudo vncpasswd ~/.vnc/passwd

En realidad, "~/.vnc/passwd" es la carpeta y nombre del fichero donde se alojará la contraseña de VNC encriptada. Se le pone la cerilla delante para que esté "oculta" por seguridad, aunque no sería necesario.

Nos pedirá una contraseña, que será la que nos pida cuando nos conectemos por VNC Client desde otro equipo a este. La contraseña debe tener seis o más caracteres, si intentamos introducir una contraseña más corta nos mostrará un mensaje:

                           Password must be at least 6 characters - try again

Deberemos introducir la contraseña dos veces:

image

Cuando hayamos establecido la contraseña para VNC (mediante alguno de los métodos anteriores), crearemos el fichero "sharex11vnc" (o el nombre que queramos) en la ubicación "/usr/local/bin", con el comando:

#sudo nano /usr/local/bin/sharex11vnc

 

image

Y le añadiremos el siguiente contenido:

x11vnc -nap -bg -many -rfbauth ~/.vnc/passwd

 

image

A continuación estableceremos los permisos apropiados al fichero sharex11vnc para que pueda ejecutarse, para ello ejecutaremos el comando GNU Linux:

#sudo chmod 755 /usr/local/bin/sharex11vnc

Para que el script anterior se ejecute cada vez que el usuario inicia la sesión accederemos al menú "Sistema" - "Preferencias" - "Aplicaciones al inicio":

image

En la ventana de "Preferencia de las aplicaciones al inicio" pulsaremos el botón "Añadir":

image

En la ventana de "Añadir programa al inicio" introduciremos los siguientes datos:

  • Nombre: nombre identificativo del programa de inicio, por ejemplo "VNC".
  • Orde: ruta y nombre del fichero de script ejecutable, en nuestro caso " /usr/local/bin/sharex11vnc".
  • Comentario: observación (descripción) del programa a iniciar, por ejemplo "VNC Server".

Tras introducir los datos pulsaremos "Añadir":

image

Por ultimo reiniciamos nuestro equiopo:

Tras el reinicio, podremos comprobar si el servicio x11vnc se ha iniciado correctamente, desde el menú "Sistema" - "Administración" - "Monitor del sistema":

image

En la pestaña "Procesos" de la ventana de "Monitor del sistema", deberá haber un proceso con el nombre "x11vnc":

image

Para probar VNC Server, descargaremos VNC Viewer en un equipo con Windows XP (o cualquier otro sistema operativo) de nuestra red. VNC Viewer es gratuito y está disponible en:

http://www.realvnc.com/cgi-bin/download.cgi?product=free4/vncviewer/win

Ejecutaremos el fichero descargado "vnc-4_1_3-x86_win32_viewer.exe", nos pedirá la IP o nombre de host (hostname) del equipo con VNC Server al que queremos conectarnos y hacer control remoto, la introduciremos en "Server" y pulsaremos "OK":

image

VNC Viewer nos mostrará la ventana de Authentication para que introduzcamos la contraseña en "Password". Introduciremos la contraseña establecida anteriormente en la configuración de VNC Server y pulsaremos "OK":

image

Y ya tendremos acceso desde un equipo con Windows a otro con GNU Linux mediante VNC Server. Podremos controlar el equipo Linux como si estuviésemos con él desde el equipo Windows.

Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Para configurar el equipo con GNU Linux Ubuntu  y VNC Server para permitir acceso por control remoto mediante el navegador web, en primer lugar seguiremos todos los pasos anteriores (instalación de paquetes, asignación de contraseña y demás configuraciones). Y después abriremos una ventana de terminal y ejecutaremos los siguientes comandos:

  • Por un lado abriemos el puerto 5800 en el cortafuegos de GNU Linux (iptables) con el siguiente comando:

    #sudo iptables -A INPUT -p tcp -i eth0 --dport 5800 -j ACCEPT

  • Por otro lado ejecutaremos el siguiente comando que inciará el servicio de VNC Server vía http:

    #sudo x11vnc -forever -usepw -httpdir /usr/share/vnc-java/ -httpport 5800

 

image

 

Si todo es correcto se iniciará el servicio (demonio) de VNC Server, indicando el nombre del desktop (en nuestro caso "pcubuntu:1") y el URL que hay que poner en los navegadores clientes para conectar y hacer control remoto al equipo con VNC Server (en nuestro caso http://pcubuntu:5800):

image

Desde un equipo con Windows o GNU Linux abriremos un navegador web (por ejemplo Mozilla Firefox) y escribiremos la siguiente URL:

http://192.168.1.103:5800

Donde:

  • 192.168.1.103: será la IP del equipo con GNU Linux y VNC Server instalado, al que le queramos hacer control remoto.
  • 5800: será el puerto establecido para la conexión mediante http a VNC Server.

Si todo es correcto nos mostrará una ventana con "VNC Authentication", en "Password" introduciremos la contraseña y pulsaremos "OK":

image

Y ya podremos controlar el equipo con GNU Linux desde nuestro equipo con Windows sin necesidad de instalar ningún software adicional (sólo con el navegador web)

INSTALACION DE FREEPBX EN UN SERVIDOR UBUNTU CON ASTERISK

image
Que es FreePBX?
FreePBX, es una interface gráfica, vía Web que facilita la gestión y administración de nuestro sistema de
telefonía IP, basado en Asterisk.
Con FreePBX, es posible modificar de una manera sencilla, la configuración del sistema de telefonía, evitando
tener que editar los ficheros de configuración, manualmente.
INSTALACION:
Antes de empezar con la instalación tenemos que tener instaladas algunas dependencias y librerías para poder instalar FreePbx y en todo caso tenemos que tener instalado Asterisk en nuestro servidor Ubuntu.
Estas son las dependencias para Asterisk, si ya las tienes instaladas omite este paso pero yo te recomendaria volver a intentar instalarlas que no pasa nada:
ncurses ncurses-dev openssl libcurl3-openssl-dev zlib-bin zlib1g-dev bison bison-1.35
Esatas son las dependencias que nos interesasa en este post para poder instalar FreePbx:
libxml2-utils libxml2-dev libtiff4 libtiff4-dev lame liblame0 liblame-dev apache2 apache2-dev mysql-client libmysqlclient15-dev mysql-server php5 php-pear php5-gd php5-mysql php5-cli linux-source-2.6.15 (es la version que yo tengo en mi Debian Etch) perl libaudiofile-dev curl sox sox-dev

  • Para intalar las dependencia por comandos ejecuta desde una terminal:
#sudo apt-get install (dependencias)
  • Creamos un directorio en la arpeta Raiz para descargar todos los modulos necesarios para FreePbx
#mkdir asterisk
#cd /asterisk
  • Instalamos los siguientes módulos para Perl
#perl -MCPAN -e "install Net::Telnet"
#perl -MCPAN -e "install IPC::Signal"
#perl -MCPAN -e "install Proc::WaitStat"
#apt-get install mime-construct
  • Nos situamos en la carpeta asterisk que hemos creado en el paso anterior y descargamos asterisk-perl, uqe es un gateway entre Asterisk y FreePbx
#wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
  • Descargamos la ultima version de FreePbx con los paquetes del administrador Web
#wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.3.1.tar.gz
  • Instalamos el gateway entre Asterisk y FreePBX
    #cd asterisk
    #sudo tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
    #cd asterisk-perl-0.10
    #sudo perl Makefile.PL
    #sudo make all
    #sudo make install
  • Nos situamos en la carpeta asterisk y descomprimimos FreePbx
#cd asterisk
#tar zxxvf freepbx-2.3.1.tar.gz
          #cd freepbx-2.3.1
image
  • 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 de lo contrario introducir el password que hemos configurado al instalar mysql
      #mysql -u root –p
    • Creamos el usuario para la base de datos del conmutador y del cdr
        #mysql>GANT ALL PRIVILEGES ON *.* to asterisk@localhost  IDENTIFIED BY "amp109";
        #mysql>flush privileges;
        #mysql>exit
    • Nos validamos con el usuario de Asterisk creado
        #mysql -u asterisk –p
    • Creamos las bases de datos dentro de la consola de mysql
         #mysql>create database asteriskcdrdb;
         #mysql>create database asterisk;
         #mysql>exit
    • Pasamos el esquema y la informacion de los scripts de bases de datos por default de FreePBX
        #mysql -u asterisk -p  asterisk < /asterisk/freepbx-2.3.1/SQL/newinstall.sql
        #mysql -u asterisk -p  asteriskcdrdb < /asterisk/freepbx-2.3.1/SQL/cdr_mysql_table.sql
    • Configuramos los permisos de acceso a las bases asteriskcdrdb y asterisk creadas en el párrafo anterior, el usuario y contraseña por default es asteriskuser y amp109 respectivamente, esto puede ser modificado de acuerdo a sus necesidad
     #mysql --user root --password=superpassword
          #mysql> GRANT ALL PRIVELEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED
BY 'amp109'
                    Query OK, 0 rows affected (0.00 sec) 
     #mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
                    Query OK, 0 rows affected (0.00 sec) 
     #mysql> quit
 
Con esto hemos terminado la configuracion de la base de datos de mysql para asterisk
  • creamos el usuario y grupo que manejara los procesos de asterisk, cambiamos su password y creamos el directorio de asterisk
    #sudo groupadd asterisk
    #sudo useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
    #sudo passwd asterisk
    #sudo mkdir /home/asterisk             “este es el directorio”
    #sudo chown asterisk:asterisk /homea/sterisk
  • editamos el archivo de apache
    #sudo nano /etc/apache2/apache2.conf   
    cambiar el usuario y grupo de www-data a asterisk
      User www-data
      Group www-data
    cambiar por
      User asterisk
      Group asterisk
    guardamos para guardar es presionar F2 –>yes o si->ENTER
  • cambiamos los permisos para el directorio de sesiones de PHP
    #sudo chown -R asterisk /var/lib/php5
  • edicion de php para aumentar el tamano de archivos que se suben al servidor web y modificamos los siguientes valores 
    #sudo nano /etc/php5/apache2/php.ini
    upload_max_filesize = 32M
    max_execution_time = 120
    max_input_time = 120
  • reiniciamos el servidor web apache 
    #sudo /etc/init.d/apache2 restart
  • Editamos el archivo de configuracion de Asterisk  image
    #sudo nano /etc/asterisk/asterisk.conf
  • cambiamos el directorio de
      RUNASTERISK=/var/run
    a
      RUNASTERISK=/home/asterisk
  • asignamos los permisos 
    #sudo chown -R asterisk:asterisk /home/asterisk           “este paso se puede omitir ya que en otro paso anterios asignamos los permisos a asterisk”
  • Iniciar Asterisk para poder hacer la instalacion de FreePBX
    #sudo asterisk start
  • Verificar que Asterisk se haya inicido
    #ps aux | grep asterisk
    te dara algo como esto:      root 14992 0.2 1.7 22044 7752 ? Ssl 07:14 0:00 asterisk start
  • Ahora instalamos FreePbx
                 #cd asterisk/freepbx-2.3.1
       #./install_amp
  •  Si os da algun error como ves en las siguientes lineas, lo unico que tienes que hacer es instalar el modulo de pear DB
                #pear install DB

               [root@localhost Desktop]# /usr/src/freepbx-2.2.1/install_amp
                PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/imap.so' -     
                libc-client.so.0: cannot open shared object file: No such file or directory in Unknown on line 0
               PHP Warning: Module 'pgsql' already loaded in Unknown on line 0
               Checking for PEAR DB..FAILED
               [FATAL] PEAR must be installed (requires DB.php). Include path: .:/usr/share/pear

          Y ya no tendras problemas para ejecutar el instalador de freebpx (install_amp)

  • Despues de ejecutar install_amp pedira los valores para crear el archivo de configuracion.(que esta almacenado en etc/amportal.conf)
En primer lugar introducir el usuario de la base de datos que se creo previamente
asteriskuser  asterisk
Introducir el password de l usuario de la base de datos para asterisk que se creo
Enter your PASSWORD to connect to the 'asterisk' database:
amp109
Introducir el nombre del servidor de la base de datos, si esta de forma local intoducir localhost de lo contrario introducir la IP o nombre de dominio del servidor de base de datos
Enter the hostname of the 'asterisk' database:
localhost  localhost
Introducir el nombre de usuario del administrador que se usara como admin del AMI de Asterisk
Enter a USERNAME to connect to the Asterisk Manager interface:
admin asterisk
Password del usuario admin de AMI, importante para conectar aplicaciones terceras a Asterisk
Enter a PASSWORD to connect to the Asterisk Manager interface:
amp111
Ruta de instalacion del Servidor de Asterisk
Enter the path to use for your AMP web root:
/var/www/html  /home/asterisk
Dirección IP del servidor de Voz sobre IP
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
xx.xx.xx.xx  192.168.2.6            “esta direccion es en my caso tu pon la que tienes en tu pc”
Password para poder operar FOP
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
passw0rd  asterisk.01
Solo teclear enter para aceptar la opcion por default
Use simple Extensions
extensions admin or separate Devices and Users deviceanduser?
extensions      enter
Solo teclear enter para aceptar la opcion por default
Enter directory in which to store AMP executable scripts:
/var/lib/asterisk/bin   enter
Solo teclear enter para aceptar la opcion por default
Enter directory in which to store super-user scripts:
/usr/local/sbin  enter

  • si marcara algun error el script de install_amp revisar usuarios de base de datos, librerias de php y de mysql, reiniciar apache y peardb, php-db
  • en caso de que tuviera un error al ejecutar FreePBX puede reconfigurarlo pero previamente eliminar el archivo de configuracion en /etc/amportal.conf

  • Paramos previamente la ejecucion de asterisk
    #ps aux | grep asterisk
    root 14992 0.0 1.7 22524 7892 ? Ssl 07:14 0:00 asterisk start
    #sudo kill -s 9 14992
  • Editamos el archivo siguiente y agregamos una linea como la que se menciona
    #sudo nano /etc/default/asterisk
       RUNASTERISK=yes
  • ejecutamos amportal 
    #sudo amportal start 
  • verificamos que se haya ejecutado correctamente amportal
    #sudo ps aux | grep asterisk
  • deberiamos ver algo parecido
    root 15759 0.0 0.1 3864 736 pts/2 S 07:30 0:00 /bin/bash /usr/sbin/safe_asterisk -U asterisk -G asterisk
    asterisk 15764 2.0 1.9 22436 8552 pts/2 Sl 07:30 0:00 /usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg -c
    asterisk 15811 0.0 0.1 1752 496 pts/2 S 07:30 0:00 sh /var/www/asterisk/panel/safe_opserver
    asterisk 15812 14.0 1.8 11072 8340 pts/2 S 07:30 0:00 /usr/bin/perl -w /var/www/asterisk/panel/op_server.pl
  • Abrir en un navegador de preferencia Firefox la direccion del servidor Asterisk por ejemplo que el servidor corra en una IP 192.168.1.2
    http://192.168.2.1/asterisk/admin/           “en my caso”
  • Por default no nos pedira un password, pero hay que ir a administradores y cambiar el nombre de usuario y password del administrador
    Nos desconectamos del servidor web de FreePBX
    Posteriormente editamos el archivo amportal.conf y cambiamos el valor de AUTHTYPE a database
    #sudo nano /etc/amportal.conf               “editamos o cambiamos la siguiente linea” 
    AUTHTYPE=database
  • Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y password, introducir los configurados
    login:admin
    password:assterisk
  • Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk
    Y el administrador Web de Asterisk FreePBX.
  • Ahora lo primero que tenemos que hacer es descargar los modulos para FreePbx, Ir a la opcion de "Module Admin", seleccionar Check Update Online y descargar modulos de administracion de Asterisk necesarios, se requiere conexion a internet
  • Creamos los links con update-rc.d: #update-rc.d asterisk defaults
Creamos el archivo asterisk en /etc/default que contenga:
    #nano/etc/default/asterisk           “añadimos o editamos la siguiente línea” RUNASTERISK=yes              “esto es para que asterisk arranque en el inicio” image
Ahora ya tenemos instalado y configurado nuestro entorno web de Asterisk con FreePbx, lo siguiente será ver un poco sobre el manual de FreePbx que tambien lo he posteado en este blog en la seccion manuales.
“Espero que sea de mucha ayuda para aquellos que estén dentro de este mundo del software libre y la telefonía Ip saludosss…”

Sistemas de Archivos en LINUX/UNIX

 

  • Estructura de Directorios de Linux según FSSTND

image

  • Directorios de Linux mas frecuentes

image

 

  • Subdirectorios de /usr

image

  • Subdirectorios de /var

image

Particiones en Linux y algunos comandos para su Configuración

 

· Lista de algunos dispositivos bajo Linux

image

 

· Esquema general de división de partición del disco duro

 

image

 

· Reparación de un Disco duro si esta defestuoso

En el fichero /etc/fstab están todos los discos duros montados con sus respectivos uuid y sus puntos de montaje

#sudo nano /etc/fstab

Ahora ejecutamos el comando de reparación:

#sudo e2fsck /dev/sda1 “(/dev/nombre de la partición del disco duro)”

Luego reinicie la maquina.

Tutorial para Instalar Servidor-Web con ip Dinámica

 

Este Tutorial fue creado por un alumno de Telecomunicaciones del I.E.S.S.

image

         Alexander Ulloa Rojas

Técnico en Telecomunicaciones e Informática

 

Tutorial para Instalar un Servidor Linux (Ubuntu Server 8.10)

 

· Instalación de Ubuntu Server 8.10

Se recomienda que durante la instalación de Ubuntu server desde el CD de Ubuntu Server, configuremos la Red de Ubuntu introduciendo manualmente la configuración de IP; MASCARA; GATEWAY; DNS y HOSTNAME.

Si en caso que no lo hagamos y la se configure por DHCP tendremos que seguir los siguientes pasos para poder configurar la Red correctamente.”

1. Configuración de la Red:

· Para mayor seguridad hacer una copia de seguridad del fichero (interface) que se encuentra en (etc/network/interface), porque si ocurre algún error solo tenemos que copiar el fichero al que hemos editado no olvides ponerle otro nombre Ej: interface_BACK

#sudo cp /etc/network/interfaces /etc/network/interfaces_BACK

· Luego editamos el fichero (interface)

#sudo nano /etc/network/interfaces

 

image

· Como ven en la línea (iface etho inet dhcp), aparece dhcp porque durante la instalación le dijimos que la configure por dhcp par aque carguen todos los controladores por defecto y ahora lo que haremos es cambiarla por (iface etho inet static) e introducimos los parámetros que le queremos dar a nuestro equipo para que tenga acceso a la Red.

image

Aquí introducimos la ip, la máscara de red, la puerta de enlace del router y los servidores DNS que queramos utilizar y el hostname como lo ven en la imagen.

Es importante en este paso colocar un hostname correcto para que desde fuera podamos entrar a nuestro servidor tanto por nuestra ip como por nuestro hostname que hubiéramos puesto en el fichero interface.

Una vez hecho esto salimos del editor con f2 y luego Y y enter

Para que los cambios surjan efecto hay que reiniciar la red

#sudo /etc/init.d/networking restart

Luego nos aseguramos que los cambios han surgido efecto y vemos que tenemos la ip que hemos introducido en el fichero (interfaces), si no nos aparece la configuración tenemos que volver al paso anterior y editar el fichero interface.

#sudo ifconfig

ahora cada vez que arranquemos tendremos una ip fija y no una ip dinámica como la teníamos antes

2. Configuración de nuestro directorio Root

· Durante la instalación de Ubuntu Server 8.10 activamos la casilla ( LAMP Server ) esto es para montar un servidor Web , como podéis ver en la siguiente imagen …

image

La opción ( LAMP Server ) instala automáticamente Apache HTTP Server, MySQL y soporte para PHP

· Una vez efectuada la instalación de LAMP Server tenemos que configurar algunas cosas para que todo funcione a nuestro gusto y podamos tener control sobre ello.

Antes de nada vamos a comprobar que nuestro Servidor Web Apache tiene soporte para PHP y este funciona bien. Para ello abriremos un navegador (firefox) e introduciremos la IP que tenga nuestro servidor. En mi caso http://192.168.1.3 o http://servidor.homelinux.com

Veremos la siguiente pantalla….

image

Si nos sale esta pantalla es que de momento todo va bien y el Servidor Web Apache funciona correctamente

Por defecto nuestra dirección a la que nos lleva el Servidor cuando introducimos nuestra ip o nuestro hostname es /var/www.

Para esto vamos a configurar uno de los ficheros de configuración de Apache Web Server y le indicaremos que la raíz de nuestro servidor Web va a ser uno de los directorios que se encuentra dentro de nuestra cuenta de usuario.

Para esto vamos a crear un directorio dentro de nuestro home donde todo lo que copiemos lo podremos compartir vía web. ( Yo le voy a llamar satafi )

#mkdir /home/satafi/

Una vez creado el directorio vamos a editar el archivo default ubicado en la ruta /etc/apache2/sites-available/ pero antes vamos a haer una copia de seguridad de dicho fichero para solucionar futuros problemas y lo llamaremos default_BACK con…

#sudo cp /tc/apache2/sites-avalible/default defaultOLD

Luego…editamos

#sudo nano /etc/apache2/sites-available/default

Veremos una pantalla con la directiva DocumentRoot /var/www que es la que viene por defecto

image

Tan solo tenemos que modificar la ruta DocumentRoot /var/www/ por la ruta de vuestro directorio /home/satafi. En mi caso…

image

Una vez hagamos esto guardamos el fichero de configuración y salimos del editor nano pulsando la tecla ( F2 ), después la ( Y ) y el ( Enter ).

Otra cosa que tenemos que configurar es el fichero ports.conf para configurar el puesto escucha de apache.

#sudo nano /etc/apache2/ports.conf

Y tendría que quedar asi apuntando al puerto 8080

image

Hacemos restart a apache para que los cambios surjan efecto:

#sudo /etc/init.d/apache2 restart

y si todo esta correcto nos aparecerá algo como esto:

image

Seguidamente borramos el fichero index.html de la ruta /var/www para que podamos ver todos los ficheros que subamos al directorio satafi.

#sudo rm /var/www/index.html

Ahora todo lo que subamos al directorio /satafi podremos verlo desde nuestro navegador simplemente con poner la ip de nuestro servidor . En mi caso http://192.168.1.3:8080 o http://servidor.homelinux.com:8080

image

3. Comprobar si tenemos soporte para PHP

· Para comprobar si tenemos soporte php hacemos lo siguiente:

Vamos hacia el directorio /home/satafi

#cd /home/satafi

Creamos un fichero llamado prueba.php y escribimos lo que muestra la imagen

#sudo nano prueba.php

image

Una vez introducidas estas líneas guardamos el fichero y salimos del editor pulsando la tecla F2 -> Y -> Enter.

Ahora tan solo nos queda abrir ese fichero en el navegador introduciendo la dirección IP de nuestro servidor seguido del fichero prueba.php. En mi caso http://192.168.1.3/prueba.php o http://servidor.homelinux.com/prueba.php

image

Si os aparece esto podemos estar seguros de que nuestro servidor Web funciona y tiene soporte para PHP, caso contrario tenemos que volverlo a instalar manualmente desde la línea de comandos.

4. Ahora vamos a configurar MySQL que forma parte del servidor WEB que instalamos en el inicio de la instalación de Ubuntu Server

MySQL es un sistema de gestión de base de datos relacional, para ello lo primero que aremos es editar el fichero de configuración de MySQL llamado my.cnf ubicado en la ruta /etc/mysql con …

#sudo nano /etc/mysql/my.cnf

Una vez editado buscamos la línea: bind-address = 127.0.0.1

Y la modificamos por la IP de nuestro servidor ( En mi caso 192.168.1.3 ) quedando así

bind-address = 192.168.1.3

Una vez modificada esta linea guardamos el fichero y salimos del editor pulsando la tecla F2 -> Y -> Enter.

5. Seguidamente instalaremos PhpMyAdmin para poder administrar nuestras bases de datos con:

#sudo apt-get install phpmyadmin

· Durante la instalación nos aparcera un pantalla que nos preguntara que servidor web queremos reconfigurar automáticamente y seleccionamos (apache2) y a continuación Ok

· Una vez terminada la instalación abriremos un navegador e introducimos la url de nuestro servidor seguido de la ruta /phpmyadmin/. En mi caso http://192.168.1.3/phpmyadmin/ o http://servidor.homelinux.com/phpmyadmin

image

Una vez veamos esta pantalla estaremos seguros que todo ha salido bien y vamos a configurar el idioma y el nombre de usuario para poder acceder a PhpMyAdmin.

Respecto al nombre de usuario y el password vamos a introducir el nombre de usuario ( root ) que es por defecto y el password que es el que le dimos al administrador de las bases de datos MySQL durante la instalación del sistema operativo Linux Ubuntu Server …

image

Si en vez de haber accedido a PhpMyAdmin con el usuario ( root ) accediéramos con el usuario ( admin ) y dejáramos la casilla para el password vacía también podríamos acceder al panel de administración aunque sin privilegios. No es bueno que nadie pueda entrar así por la cara y ver que bases de datos tenemos en el servidor. Para tapar esta vulnerabilidad del sistema vamos a clickar sobre la opción (Privilegios) y….

image

Ahora marcamos los tres primeros usuarios llamados (cualquiera) y seguidamente pinchamos sobre el botón (Continuar)…

image

Ahora solo el usuario ( root ) con la contraseña que introducimos durante la instalación del sistema operativo podrá acceder a PhpMyAdmin para administrar las bases de datos que necesitemos, esto es necesario por la seguridad de nuestra base de datos.

6. Configurar FTP server

· Para poder subir y bajar archivos hacia nuestro servidor en Linux Ubuntu Server necesitamos instalar un software que sea capaz de ofrecernos este servicio, por eso vamos a instalar Proftpd programa muy potente y se ofrece bajo la GNU GPL por eso lo he usado en este tutorial.

#sudo apt-get install proftpd

Durante la instalación nos aparecerá un pantalla que nos dirá si queremos ejecutar proftpd desde inet o de forma independiente: seleccionamos independiente y luego OK.

Una vez instalado vamos a añadirle una línea al fichero de configuración proftpd.conf con la que aremos que cuando un usuario se conecte a nuestro servidor con una cuenta propia no pueda navegar por más directorios que por los suyos propios. No es necesario pero así nos aseguramos de que nadie nos tocará nada en el disco duro.

Editamos el fichero proftpd.conf con…

#sudo nano /etc/proftpd/proftpd.conf

y agregamos al final del archivo (DefaultRoot ~)

 

image

Luego salimos del editor con f2-----Y---ENTER

Y reiniciamos el servidor proftpd con:

#sudo /etc/init.d/proftpd restart

Si accedemos a nuestra cuenta FTP con nuestro usuario podremos navegar por nuestro directorio /home/usuario y tendremos permisos suficientes para hacer lo que nos venga en gana. Esto está muy bien pero también estaría bien el poder tener la raíz de nuestro servidor Web accesible desde el FTP para poder manejar los archivos que queremos compartir vía Web en nuestro servidor.

7. Este apartado es para Configurar apache con Dyndns (Solo si tienen IP dinámica)

Para todos los que no tenemos una IP estática nos es necesario registrarnos en alguna web que ofrezca un servicio de re direccionamiento de DNS gratuito. Necesitamos esto para que cuando nuestra IP cambie podamos localizar nuestro servidor desde Internet. Para poder ver lo que tengamos por el apartado web o transferir archivos a nuestro FTP o conectarnos directamente por SSH y tomar el control de la maquina allí donde estemos. Para ello vamos a usar el servicio que nos ofrece DynDNS.com

Si no tenemos todavía un dominio registrado en DynDNS lo hacemos de la siguiente forma:

Nos vamos a la página principal de DynDNS, en el Blog te dejo el enlace directo para registrarse, rellenando el formulario de inscripción de dominio y selecionamos un Dominio que esté disponible ya que tienen muchos tipos de dominio (.com;.dyndns.org,etc)

Llenamos el formulario con un nombre y una contraseña que nos servirá para ingresas a DynDNS , marcamos el formato html y aceptamos la política de privacidad y le damos a Create account.

image

Después recibiremos un mensaje de correo electrónico el cual nos aceptara el dominio creado y pincharemos en el enlace del menaje para activar el dominio.

Después podremos entrar o crear más dominio ya que DynDNS nos permite crear hasta cinco dominios para un solo usuario registrado.

image

Luego tenemos que actualizar nuestra Ip par que DynDNS sea el que redirecciones las peticiones a nuestro servidor.

image

Como vemos ya hemos creado un dominio y vemos que tiene una dirección ip que es la que es accesible desde fuera a nuestro servidor. Esta dirección ip se puede cambiar o actualizarla a la que nos da telefónica o cualquier operador.

Acá podemos modificar nuestro dominio tanto en el tipo de servicio que queremos o actualizar la dirección ip, yo por defecto al tipo de servicio lo dejo en Host with IP address.

Una vez hecho esto tenemos que configurar nuestro router para que funcione con direcciones estáticas y no por dhcp y abrir los puertos por los que oirá nuestro servidor.

image

8. Configuracion del Router

En my caso tengo un routers comtrend y he abierto los puertos 8080 para http, 443 para ssl y 21 para ftp que apuntan a la ip de my servidor

image

Hay algunos routers que tienen el servicio de ip dinámicas para ciertas compañías como es el caso de my routers que tiene el servicio para dns de DynDNS y los hace automáticamente el propio routers la transformación de ip desde fuera hacia dentro por el nombre de dominio que he registrado en DynDNS, lo único que hay que ingresar es el nombre del dominio que hemos registrado, el nombre de usuario y contraseña para acceder a DynDNS y reiniciar el routers para que surjan efectos los cambios aplicados.

image

 

Ahora tenemos configurado nuestro apache y lo unió que nos falta es instalar y con figurar ddclient cuya función es actualizar la IP de nuestra conexión hacia nuestro dominio DynDNS, es decir si nuestra dirección a internet tiene una Ip dinámica, no nos preocuparemos en como actualizar la IP en DynDNS ya que ddclient se encarga de eso cada vez que inicie el Servidor.

A que mola no..ooo..

Primero instalamos ddclient ejecutando en la línea de comandos

#sudo apt-get install ddclient

Nos aparecerá una ventana como esta, seleccionamos www.dyndns.com

image

En la segunda pantalla pondremos el dominio que estamos usando en nuestra cuenta DynDNS.

Si se está usando más de un dominio poner una coma de separación por cada dominio.

image

Ahora introducimos el nombre de usuario de nuestra cuenta DynDNS y damos enter.

 

image

Aquí introducimos la contraseña de nuestra cuenta DynDNS y damos Ok

image

En esta pantalla nos pregunta que tarjeta de red vamos a usar para tener acceso a internet, ponemos eth0 y domos OK

image

Por ultimo tenemos que reiniciar el ddclient con el siguiente comando:

#sudo /etc/init.d/ddclient restart

Si crees que has hecho algo mal y no te funciona puedes volver a reconfigurar el ddclient con el siguiente línea de comando:

#sudo dpkg -reconfigure ddclient

En hora buena ya tienes instalado y configurado tu Servidor Web.

9. Instalación de un entorno grafico para Ubuntu Server:

Al instalar un entorno gráfico o no a tu servidor en Linux Ubuntu Server es algo opcional ya que no es necesario para que todo funcione correctamente pero he pensado en instalar un entorno gráfico minimalista y que sobrecargue lo más mínimo la maquina por si en algún momento lo necesitamos podamos ejecutarlo con un simple comando como si de una utilidad mas se tratase.

Yo voy a instalar un entorno gráfico minimalista como os dije anteriormente y para ello voy a usar FluxBox que te instala solo lo justo para que puedas tener un entorno gráfico más agradable que la terminal a secas. Si instalas Gnome, Kde o incluso Xfce que sepas que sobrecargaras el sistema y no es que se vaya a morir nuestro servidor si no que todo irá más lento, y más si sumamos que hay usuarios visitando nuestras páginas, subiendo archivos y bajando desde el ftp o imprimiendo algo con nuestra impresora. Si tu ordenador no es potentillo no lo instales pero si crees que está bien móntatelo.

Antes de instalar el entorno gráfico hay que instalar el servidor gráfico Xorg. La instalación de estos dos programas es muy sencilla. Para hacerlo accedemos a una Terminal con nuestro usuario de sistema e introducimos lo siguiente…

#sudo apt-get install xorg

Ahora instalamos el entorno gráfico FluxBox con …

#sudo apt-get install fluxbox

Una vez terminada la instalación de Xorg y FluxBox vamos a iniciar el entorno gráfico haber que tal …

#startx

Como navegador he elegido Galeon por lo completito que es y por su poco peso para el sistema.

Lo instalamos con …

#sudo apt-get install galeon

Para salir del entorno gráfico y volver al modo Terminal de siempre tan solo tendremos que clickar sobre el botón derecho del ratón y (Exit)

image

Por ahora eso es todo pero si quieres más información sobre alguna consulta escríbeme a my blog.

Que tengas suerte con tu nuevo servidor………