asterisk-elastix-trixbox-linux
0 Desde cero
Este documento te mostrara paso a paso como instalar varios programas para convertir tu maquina de linux en un servidor útil, que puede ser utilizado en casa, si tienes mas de una maquina o en una empresa.
El servidor te proveerá de varios servicios;
Windows File sharing (Servidor de archivos) - Telefonía IP - Servidor de WEB, Servidor de MySQL, Servidor de email , etc.
El poner todos estos servicios juntos en una sola maquina no es recomendado, al menos no en un ambiente comercial, pero esto sirve para demostrar lo fácil que es reemplazar los servidores de NT sin preocuparte tanto de los virus disponibles para Windows. :0)
0.1 PuTTy
Personalmente me gusta usar el programa PuTTY para conectarme remotamente a las maquinas de Linux – puedes bajarlo desde acá : Bajar Putty
1 Trixbox - ElastiX
Trixbox reemplaza al proyecto Asterisk@home, la imagen puede ser bajada aqui
Te recomendaria instalar Trixbox directamente del ISO, de esta manera tienes el sistema andando en cuestion de minutos y le agregas los paquetes extras si quieres.
Para instalar el ISO, simplemente pone el CD en tu Servidor, ten cuidado ya que formateara todos los discos duros que encuentre en tu maquina.
Cuando instales el ISO, te conectas desde otra maquina usando Explorer o Firefox http://ipdetuservidor te pedira el usuario y la clave, los cuales por defecto son
Usuario maint y la clave es password Lo primero que tienes que hacer es ir a System Administration --> selecciona FreePBX ---> Tools ---> Module Admin (Selecciona todos los modulos que desees tener) y presiona SUBMIT
ElastiX
Elastix es otro proyecto similar al Trixbox, pero con otros agregados, personalmente me gustan los dos.
Muchas de las cosas en esta página pueden ser usadas en los dos.
Un par de cosas básicas que no están incluidas en Elastix pero, fáciles de agregar son nano para editar, rsync para sincronizar con otras maquinas, y webmin para configurar tu servidor remotamente, smartools para ver el estado de los discos duros, Sendmail para enviar emails.
Para instalar estas herramientas
yum install rsync nano webmin smartmontools sendmail -y
En caso que webmin no se instale, ya que en este momento webmin no está en el repositorio de Elastix , puedes instalarlo directamente de esta forma
mkdir /usr/src/redhat
mkdir /usr/src/redhat/SOURCES
wget http://downloads.sourceforge.net/project/webadmin/webmin/1.530/webmin-1.530-1.noarch.rpm && rpm -Uvh webmin-* && rm webmin-* -f
Esto ya es obsoleto pero lo dejo como referencia para instalar, descomprimir, etc
Asterisk@home fue creado para simplificar la administracion de Asterisk. hay dos formas de instalarlo,
1 Bajando el ISO, el mismo es el mas recomendado ya que instala todo sin tener que configurar nada durante la instalacion, el unico problema es que las personas que no tienen experiencia en Linux no van a tener GUI
2 La otra forma, si ya tienes instalado Centos 4.2 puedes bajar el paquete de la siguiente manera.
Abre tu terminal y copia/pega lo siguiente;
wget http://easynews.dl.sourceforge.net/sourceforge/asteriskathome/asteriskathome-2.8.tar.gz
mkdir /var/aah_load
cp asteriskathome-2.8.tar.gz /var/aah_load
cd /var/aah_load
tar xvfz asteriskathome-2.8.tar.gz
./install.sh
2 Samba
Si copias el contenido del cuadro, instalaras Samba
yum install samba -y
Tambien Puedes instalar varios paquetes en una linea si lo deseas Ej;
yum install webmin samba -y
Esto compartirá dos directorios los cuales podrán ser accedidos por otras maquinas de Windows o Linux
Corre esto para crear el directorio que vas a compartir, la segunda linea no te la recomiendo en un servidor de produccion, o al menos no en el mismo directorio de /var/www
en este caso solo esta para mostrar que puedes ver los archivos de tu servidor Appache con control completo del directorio y archivos, practico si quieres editar tus paginas desde una maquina de windows.
cd /etc/samba
cp smb.conf smb.viejo
rm smb.conf -f
wget http://pezoa.com/Asterisk/smb.conf
Esto le dara acceso al usuario ROOT o a cualquier usuario del sistema linux
smbpasswd -a root
Para correr samba
/etc/rc.d/init.d/smb start
Para parar samba
/etc/rc.d/init.d/smb stop
2.1 Conectar desde windows o Linux
Primero tendras que saber como obtener tu IP
En windows ipconfig
En Linux ifconfig
En Windows Explorer copia y pega esto \\192.168.100.10
En linux usa Konqueror o Firefox smb://192.168.100.10
Si todo esta bien podrás ver dos directorios, ServerRoot (lo configure para leer solamente, ya que es un riesgo dar acceso a esto)
y el otro directorio es WEB, (con acceso completo a todo el contenido del área de web)
Desde windows podras configurar una letra, en este caso X
NET USE X: \\192.168.100.10\web /persistent:yes
- Esta es una configuracion basica, la idea es dar funcionalidad sin ir demasiado en detalles, como en seguridad, o como comenzar el servidor de Samba automaticamente ...
- Si quieres modificar el servidor de samba tienes que cambiar los parametros de smb.conf localizado en /etc/samba/smb.conf
3 Webmin
Webmin es una herramienta para configurar tu sistema Linux, el mismo tiene una interfaz Web que te permite configurar la mayor parte del sistema operativo.
Muy útil para configurar Samba, Apache, y para controlar los programas que quieres que comiencen automáticamente, tambien para crear usuarios.
.
3.1 Instalar Webmin
yum install webmin -y
Tambien Puedes instalar varios paquetes en una linea si lo deseas Ej;
yum install webmin samba -y
Para acceder el mismo
http://TUSERVIDOR:10000/
O
https://TUSERVIDOR:10000/
- Esto que esta en rojo es obsoleto, pero puedes usarlo como referencia para versiones anteriores.
- Puedes instalar webmin directamente usando yum install webmin el problema con esto es que el paquete original no esta configurado para Centos 4.2 te instalara
correctamente, pero tendras que modicar cosas como, la ubicacion de los archivos instalados por defecto de apache y otros programas, para evitar todo esto simplemente
modifica el archivo que le indica a yum donde buscar programas
Encuentra esto y abrelo con un editor /etc/yum.repos.d/CentOS-Base.repo
Al final del documento copia y pega esto (linea por linea, no entero porque te va a deformar todo si usas Internet Explorer)
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=0
enabled=1
Corre esto usando el Terminal rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
4 Conferencias no andan
Te recomendaria que luego del rebote hagas lo siguiente para resolver problemas con las conferencias.
rebuild_zaptel
genzaptelconf
5 Como cambiar el IP en Asterisk / Centos / Linux
Para cambiar el IP en centos, desde el commando tienes que tipear netconfig
Le pones los valores correspondientes a tu red y aprietas OK, y rebota
6 Varios comandos utiles para Asterisk@home o Trixbox
yum install kernel-utils.i386 (Esto instalara utilitarios para revisar tus discos rigidos)
Algunos de estos ya son obsoletos.
Luego de instalar kernel-utils puedes usar smartctl -a /dev/hda o para simplificar las cosas puedes usarlo desde el Webmin (con esto podras ver el stado de tu disco)
config set (Cambia la hora zona etc)
netconfig (Configura la placa de network)
genzaptelconf (autoconfigura la placa Zaptel )
bundle-crm (backup CRM para correr en otra maquina)
restore-aah (rechttp://www.voip-info.org/obrar de un backup)
install-ZAPHFC (instala soporte para las placas HFC ISDN )
install-AVMB1ISDN (instala soporte para las placas AVB B1 ISDN )
install-EiconDiva (instala soporte para las placas Eicon Diva ISDN )
install-pdf (instala soporte para enviar PDFs o faxes)
passwd-maint (esto es para cambiar la clave del usuario maint)
passwd-amp (esto es para cambiar la clave de AMP)
passwd-meetme (esto es para cambiar la clave MeetMe )
passwd (esto es para cambiar la clave de ROOT) - se usa de esta manera passwd root
passwd admin (esto es para cambiar la clave de admin , esta cuenta es usada para revisar email)
setup-dhcp ( para configurar el servidor DHCP cuidado, que si ya tienes DHCP activado en otra maquina no necesitas de esto)
asterisk -r Asterisk CLI
yum -y update (para poner al dia tu Centos, no te lo recomendaria si ya tienes Asterisk instalado, ya que tendras que reconfigurar tu placa Zaptel )
dmesg para obtener info de tu maquina (bastante util)
6.1 Clientes
Los mejores clientes son Hardware no Software, yo uso los Sipuras de Linksys , hay varias otras alternativas, en mi oficina tengo un Polycom (foto abajo) y en casa uso ATAs de Linksys, los que no me gustan mucho son los USB, ya que usan software desde tu PC,
y la calidad en las llamadas al usar Software no es muy buena.
Clientes SIP : uno de los mejores es el X-ten, no se si seguirá siendo gratis o no, por el momento se puede bajar desde aqui
Clientes IAX2 - He usado el programa (Kiax) puedes bajarlo desde aqui para Windows o Linux
7 Para Copiar o sincronizar directorios/archivos entre diferentes servidores usando RSYNC
Hay varias formas de copiar directorios de una maquia a otra, scp, unison, rsync, etc, en este caso te mostrare como usar rsync
Esto sincroniza desde la maquina que tiene el directorio Vol1 y lo pone en otra maquina linux en la red local , en este caso 192.168.1.102
rsync -rtvaz --delete /var/www/Vol1 192.168.1.102:/var/www > /var/rsync.txt
yum install rsync.i386 -y
O para ver que tipo de RSYNC es apropiado para tu maquina
yum search rsync
8 Placas FXO
Si consigues una placa de las que venden en Ebay por unos $15 Dollares, puedes hacer que tu servidor de Asterisk pueda hacer o recibir llamadas en tu línea telefónica.
Puedes usar esto en caso que tengas una de estas placas
cd /etc/sysconfig
cp zaptel zaptel.viejo
rm zaptel -r
wget http://pezoa.com/Asterisk/zaptel
Lo único que hace esto, es activar la placa FXO, seria mejor que la edites tu mismo removiendo el # del modulo que quieras usar, lo anterior seria practico si tienes que configurar varios servidores al mismo tiempo
Este es el lugar donde encontraras esto /etc/sysconfig/zaptel y si usas windows para editar \\IP_DEL_SERVIDOR\ServerRoot\etc\sysconfig\zaptel
9 Panico Kernel (kernel panic)
Para resolver este problema, usa esto
anda a
cd /etc/rc6.d
Edita el archivo
K92zaptel En la linea 115 a la 123 simplemente ponele # en frente y listo.
Si no tienes ganas de editar copia y pega esto en tu terminal
cd /etc/rc6.d
cp K92zaptel K92zaptel.old
rm K92zaptel -r
wget http://pezoa.com/Asterisk/K92zaptel
10 Configurar SIP en un NAT
Editar sip_nat.conf
nat=yes
externhost=ElNombreDeTuDominio.com
localnet=192.168.1.0/255.255.255.0
externrefresh=10
Esta parte no hace falta pero puede ser util como test solamente
Editar sip_additional.conf
[6409]
;type=friend
secret=****
record_out=Adhoc
record_in=Adhoc
qualify=yes
port=5060
nat=yes
host=dynamic
dtmfmode=rfc2833
dial=SIP/6409
context=from-internal
canreinvite=no
callerid=device <6409>
externip=xxx.xxx.xxx.xxx (el IP publico del cliente)
disallow=all
allow=ulaw
allow=gsm
type=peer
insecure=very
11 Puertos del firewall / Firewall ports
RTP, MGCP, IAX, IAX2, SIP, FLASH_OP, Estos puertos son los básicos para Asterisk, pero también tienes que agregar el puerto 80 para el servidor de Web, 22 si quieres conectarte a la Terminal, etc.
FLASHOP 4445 TCP/UDP --> Int IP server
RTP 10000-20000 UDP --> Int IP server
SIP 5030 5092 UDP --> Int IP server
IAX 4550 4570 UDP --> Int IP server
Para Broadvoice 68-69 UDP --> Int IP server
12 Cambiar IP de Centos/Elastix/Trixbox desde la consola
Hay varias formas de hacer esto, la mas fácil es usar Webmin, pero es bueno conocer las otras formas;
Si deseas asignarle un valor por tu cuenta puedes editar un par de archivos,
ifconfig -a
ifconfig eth0
Para ver el IP que esta configurado
Ver la configuracion de eth0 o eth1 si tienes mas de una placa de red
Editar ifcfg-eth0 o ifcfg-eth1 si tienes mas de una placa
cat /etc/sysconfig/network-scripts/ifcfg-eth0
nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:1e:37:3c:d7:7e
IPADDR=192.168.1.10
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
Para ver la configuracion
Editar la configuracion
Pone algo similar a esto, si quieres que el servidor tenga el IP 192.168.1.10
Lo que marque en rojo no lo copies, deja lo que ya esta en tu configuracion.
Editar lo siguiente para gateway y nombre de la maquina
cat /etc/sysconfig/network
nano /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=elastix1.pezoa.com
GATEWAY=192.168.1.1
Para ver el archivo
Editar y guardar la configuracion
Le pones el nombre del servidor, y el ip del gateway, el IP del ejemplo es uno de los mas comunes en redes pequeñas
Editar DNS o tu maquina solo tendra acceso a la red local
cat /etc/resolv.conf
nano /etc/resolv.conf
search pezoa.com
nameserver 192.168.1.1
nameserver 67.11.20.32
Para ver resolv.conf
Editar resolv.conf
La primera linea no es necesaria, dependiendo de tu red.
Luego el name server es el valor de tu DNS, en redes pequeñas casi siempre es igual al gateway.
Puedes poner mas si conoces los valores de DNS que te asigna tu proveedor de internet.
service network restart
- reiniciara la red
La forma mas fácil de hacer esto es usando el comando sytem-config-network , si no lo tienes lo puedes instalar asi yum install sytem-config-network -y
Luego de configurar, reinicia la red con este comando
/etc/init.d/network restart
Otra forma de cambiar el IP es asi (no es permanente);
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
13 KDE en Trixbox Interfaz grafica en Trixbox (Linux Centos)
Esto no te lo recomiendo en un ambiente de producción, pero hace la vida más fácil, o simplemente úsalo para configurar y cuando estés listo lo cierras
El proceso es bastante sencillo, baja los paquetes básicos y algunos otros que son útiles para editar, controlar, quemar etc.
Antes de correr los comandos tendras que modificar el repositorio de Centos
Encuentra esto y abrelo con un editor /etc/yum.repos.d/CentOS-Base.repo
Al final del documento copia y pega lo siguiente tal y como esta abajo:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=0
enabled=1
Luego corre lo siguiente en tu terminal
Con el siguiente comando lo configuras a una resolución basica de 1024 X 768 para ver si anda bien
Reinicia la maquina y pones lo siguiente cuando quieras usar la interfaz grafica
También puedes usar XFCE el cual no usa tantos recursos como el KDE pero también es interesante y fácil de usar
yum install kdebase kdeutils firefox system-config* nedit vim-X11 vim-enhanced yum-utils yum-plugin-fastestmirror yum-plugin-protectbase yumex partimage* -y
system-config-display
startx
yum install xf* -y
system-config-display
startxfce4
* Si Quieres agregar otras cosas utiles como para ver y/o copiar DVDs, quemar CD / DVD o simplemente para tocar tu musica en MP3 o formato preferido
yum install -y vobcopy libdvdplay-devel libdvdplay ogle transcode xvidcore mplayer vlc k3b mencoder