Pequeños Post

Este Blog esta dedicado para Azul y para documentar mis líos en diferentes proyectos de tecnología.

lunes, 31 de octubre de 2011

Como recuperar la contraseña de administrador de joomla


Debes tener acceso al cpanel de tu hosting para que ingreses al php My Admin, cuando estés dentro de PhpMyAdmin ingresas a la base de joomla, ejemplo:

 nombre_joomla  el nombre puede ser cualquier cosa pero debe decir _joomla, se ingresa ahí y se busca:

nombre_joomlausers

Cuando se da clic en esa base de datos aparecen todos los usuarios de jommla das clic en el lápiz que dice editar del usuario admin y en password seleccionas MD5 y enseguida borras la clave que son números y letras (eg40d556d862a0594lkop444hgtysn)y pones la que quieras le das guardar y listo pruebas con la nueva clave.

Se selecciona MD5 para que luego que se guarda el encripte la nueva contraseña que se ingreso.


lunes, 22 de agosto de 2011

Herramientas hackig Ético (Foxyproxy)

foxyproxy: es un componente de firefox, es un administrador de servidores proxy que te permite tener el control de los que tú usas. Entre sus características se encuentra el poder usar un proxy para URLs específicas, definir varios proxys y asignarles prioridades, inhabilitar un proxy haciendo click sobre un botón y otras. Esto sirve para hacer navegaciones privadas.

Instalamos el complemento buscándolo en Google (foxyproxy), se instala como cualquier complemente de Firefox, luego de ya tenerlo instalado procedemos a configurar lo  

En google buscamos proxy Lists y buscamos un proxy para añadirlo y empezar a navegar.
Ejemplo:






Luego de tener el proxy vamos a herramientas foxyproxy à Opciones à Añadir nuevo proxy y luego que añadas el proxy con el puerto le das clic en aceptar y listo.





Para probarlo  ve a páginas que verifique con qué dirección Ip estas navegando ejemplo:

http://www.cual-es-mi-ip.net/

ahí sabes cuál es tu proxy por donde estas saliendo a internet.


viernes, 29 de julio de 2011

Como agregar un nuevo disco duro a un servidor


Bueno hice el siguiente procedimiento y me funciono, conecte mi disco sata nuevo para liberar espacio de mi otro disco que ya estaba super lleno, lo conecte normalmente, apagando mi servidor, conectando el cable sata a la  board y el cable de poder de la fuente.


Una vez ya esté conectado el disco, encendemos el servidor, entramos como root una vez dentro le damos el siguiente comando para saber cómo nombro  nuestro disco duro


#fdisk –l


Disco /dev/hda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes


Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14       38913   312464250   8e  Linux LVM


Disco /dev/hdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes


El disco /dev/hdb no contiene una tabla de particiones válida

En mi caso lo nombro, como hdb, si tiene particiones también las mostrara y mostrara el formato si es NTFS o ext3 etc…
Una vez estemos seguros de cómo se llama nuestro disco en el nuevo sistema vamos a darle formato.
Primero se crea un directorio dónde se va a montar el disco duro.
Pero si lo que se quiere es salvar la información antes de formatearlo y montarlo en el sistema mirar este post:
http://lists.centos.org/pipermail/centos-es/2009-December/006688.html


En mi caso no quiero salvar la información de este nuevo disco solo quiero formatearlo y montarlo en el sistema para poder pasar información allí.
Entonces creamos un directorio
#mkdir audios


Yo lo llamo audios ya que lo que necesito es liberar espacio del directorio /var/spool/asterisk/monitor de mi asterisk  entonces voy a pasar allí los audios hasta liberar suficiente espacio.


Luego se le da formato así:
#mkfs -t ext3 /dev/hdb
Esto va a tardar varios minutos dejarlo hasta que termine

Pilas con darle formato a otro disco porque este proceso borra toda la información.
Luego de esto se monta la partición
#mount –t ext3 /dev/hdb /audios
y luego vamos a audios claro en mi caso
#cd /audios
 Para que cada vez que reiniciemos el servidor monte la partición automáticamente debemos  agregar una línea en el archvio /etc/fstab así:


/dev/hdb                      /audios                 ext3                  defaults            0 0


Y listo.

viernes, 24 de junio de 2011

Solución para que todos los usuarios no solo el administrador pueda ver en monitoring todas las llamadas y no solo Admin

Bueno en este post esta la solución para que todos los usuarios no solo el administrador pueda ver en monitoring todas las llamadas y no solo las que hace la extensión relacionada cuando se crea el usuario en la WEB.

Para esto ya deben tener un usuario creado con los permisos modificados de lo que quieren que ese usuario pueda ver, en mi caso me cree un grupo llamado líder y allí solo muestro el panel del login del agente del Modulo Callcenter, el monitoring ,  Report ah y el Flash operator Pannel .

En elastix 2.0.2

1. cd /var/www/html/modules/monitoring/

2. cp index.php index.php.original -- copia de seguridad

3. Editar index.php, y busque la sección siguiente

Código:

$extension = $pACL->getUserExtension($user);
$esAdministrador = $pACL->isUserAdministratorGroup($user);

4. Editar esta sección, y dejarlo como:

Código:

$extension = $pACL->getUserExtension($user);
$esAdministrador = $pACL->isUserAdministratorGroup($user);
$esAdministrador=true;

Como se puede ver la línea añadida es:

Código:
        $esAdministrador=true;

#:wq! para guardar si usamos vim como editor y listo ya todos los usuarios podrán ver las grabaciones.


Solución para que todos los usuarios no solo el administrador puedan ver los reportes CDR.

Bueno en este post esta la solución para que todos los usuarios no solo el administrador puedan ver  los reportes CDR en Elastix.

Para esto ya deben tener un usuario creado con los permisos modificados de lo que quieren que ese usuario pueda ver, en mi caso me cree un grupo llamado líder y allí solo muestro el panel del login del agente del Modulo Callcenter, el monitoring ,  Report ah y el Flash operator Pannel .

1. root@host# sqlite3 /var/www/db/acl.db - Aquí es donde la información del usuario se almacena para elastix

2. sqlite> select * from acl_user; 

para localizar al usuario que se desea modificar. se vera algo como esto:

1|admin||7a5210c173ea40c32305a5de7dcd4cb0|
2|user1|pass|ddc542386d2f85e1b1ff763aff13ce0a|1000
3|user2|pass|98a8d3f11b400ddc06d7343235b71a84|2000
4|user3|pass|680561bec052fdbd2e3f98957a32228b|3000

Analicemos acá como vemos el  usuario1, 2,3 tiene una extensión relacionada que es la que está al final,  la  1000, 2000, 3000, pero admin no tiene ninguno.

Lo que vamos hacer es quitarle esa extensión y remplazarla por un cero al usuario que queramos que pueda ver todos los reportes CDR  de la siguiente forma

3. sqlite> .schema acl_user - opcional para asegurarse de que las columnas queden con el mismo nombre

4. sqlite> update acl_user set extension='0' where name='user1'; - Cambiar el nombre de usuario a usuario 1 y en extension='0' poner cero porque si queda vacía no nos va a mostrar las llamadas

5. sqlite> select * from acl_user; - Esta vez, su salida se mostrará lo siguiente:

1|admin||7a5210c173ea40c32305a5de7dcd4cb0|
2|user1|pass|ddc542386d2f85e1b1ff763aff13ce0a|0
3|user2|pass|98a8d3f11b400ddc06d7343235b71a84|2000
4|user3|pass|680561bec052fdbd2e3f98957a32228b|3000

6. sqlite> .quit

Eso es todo. Entonces, cuando  entren en la configuración de usuario en elastix, el usuario ya no tendrá una extensión de allí y que el usuario podrá ver los informes de todo el sistema CDR.




jueves, 23 de junio de 2011

El truco para la entrada de llamadas

Bueno en este post hablare de cómo hice para recibir una llamada en elastix

Primero tengo conectado una trocal SIP de Telmex donde me asignaron un DID ósea un número telefónico pero también podemos tener un Primario o una Tarjeta FXO con una línea análoga común y corriente.
Luego vamos a menú PBX à Inbound Routes
Aca agregamos una ruta de entrada  dando clic en Add Incoming Route

Bueno acá solo voy a poner los campos que modifique los que no pongo acá se dejan como estaban .

Description: Nombre de la Ruta
DID Number: El número de teléfono que te dio tu proveedor


Bueno ahora es definir donde vamos a recibir la llamada hay varias opciones que no mencionare para luego mencionarlas en otros POST como el IVR, las colas, los anuncios, bueno lo que voy hacer es que cuando marquen al numero la llamada entre a una extencion asi que marco la casilla de Extensions: y elijo la extensión que prefiera es este caso elegí la 5002.

Luego de esto debemos ir a menú PBX à Genral Settings o en español configuraciones general y miramos en Securuty Setting el parámetro Allow Anonymous Inbound SIP Calls?: si esta en NO ponerlos en YES ya que si no lo tenemos en YES no nos van a entrar las llamadas este paso es súper importante para que el trabajo que hicimos arriba funcione créanme casi me mato la cabeza pensando porque no entraba :S. Y listo ya pueden recibir llamadas.







Como instalar el Codec G729 free en asterisk

Primero descargarnos el códec según nuestra versión de Linux en http://asterisk.hosting.lv/
Bueno mi asterisk es a 64Bit por lo tanto descargue el siguiente:

codec_g729-ast16-gcc4-glibc-x86_64-pentium4.so

Luego lo movemos al directorio

Normalmente el directorio donde copia el códec en 32Bit es en /usr/lib/asterisk/modules/ pero para 64 Bit es la siguiente ruta /usr/lib64/asterisk/modules
 
#mv codec_g729-ast16-gcc4-glibc-x86_64-pentium4.so  /usr/lib64/asterisk/modules

Luego debemos darle permisos a esta carpeta 
 
#chmod 777 /usr/lib64/asterisk/modules/
 
Ahora entramos en la consola Cli del asterisk

# asterisk –vvvr

y cargamos el modulo de esta forma

host*CLI> modulo load codec_g729-ast16-gcc4-glibc-x86_64-pentium4.so

luego reiniciar asterisk 
 
host*CLI> core restart now

Ahora miramos si el codec quedo instalado con los siguientes comandos

Local*CLI> core show codecs
Disclaimer: this command is for informational purposes only.
        It does not indicate anything about your configuration.
        INT    BINARY        HEX   TYPE       NAME   DESC
--------------------------------------------------------------------------------
          1 (1 <<  0)      (0x1)  audio       g723   (G.723.1)
          2 (1 <<  1)      (0x2)  audio        gsm   (GSM)
          4 (1 <<  2)      (0x4)  audio       ulaw   (G.711 u-law)
          8 (1 <<  3)      (0x8)  audio       alaw   (G.711 A-law)
         16 (1 <<  4)     (0x10)  audio   g726aal2   (G.726 AAL2)
         32 (1 <<  5)     (0x20)  audio      adpcm   (ADPCM)
         64 (1 <<  6)     (0x40)  audio       slin   (16 bit Signed Linear PCM)
        128 (1 <<  7)     (0x80)  audio      lpc10   (LPC10)
        256 (1 <<  8)    (0x100)  audio       g729   (G.729A)
        512 (1 <<  9)    (0x200)  audio      speex   (SpeeX)
       1024 (1 << 10)    (0x400)  audio       ilbc   (iLBC)
       2048 (1 << 11)    (0x800)  audio       g726   (G.726 RFC3551)
       4096 (1 << 12)   (0x1000)  audio       g722   (G722)
      65536 (1 << 16)  (0x10000)  image       jpeg   (JPEG image)
     131072 (1 << 17)  (0x20000)  image        png   (PNG image)
     262144 (1 << 18)  (0x40000)  video       h261   (H.261 Video)
     524288 (1 << 19)  (0x80000)  video       h263   (H.263 Video)
    1048576 (1 << 20) (0x100000)  video      h263p   (H.263+ Video)
    2097152 (1 << 21) (0x200000)  video       h264   (H.264 Video)



Bragi*CLI> core show translation
         Translation times between formats (in microseconds) for one second of data
          Source Format (Rows) Destination Format (Columns)

           g723   gsm  ulaw  alaw g726aal2 adpcm  slin lpc10  g729 speex  ilbc  g726  g722 siren7 siren14 slin16
     g723     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
      gsm     -     -  1001  1001     4000  1001  1000  3000  3999  5999     -  2999  1999      -       -   2999
     ulaw     -  2002     -     1     3002     3     2  2002  3001  5001     -  2001  1001      -       -   2001
     alaw     -  2001     1     -     3001     2     1  2001  3000  5000     -  2000  1000      -       -   2000
 g726aal2     -  2001     2     2        -     2     1  2001  3000  5000     -  2000  1000      -       -   2000
    adpcm     -  2001     2     2     3001     -     1  2001  3000  5000     -  2000  1000      -       -   2000
     slin     -  2000     1     1     3000     1     -  2000  2999  4999     -  1999   999      -       -   1999
    lpc10     -  3000  1001  1001     4000  1001  1000     -  3999  5999     -  2999  1999      -       -   2999
     g729     -  3000  1001  1001     4000  1001  1000  3000     -  5999     -  2999  1999      -       -   2999
    speex     -  3000  1001  1001     4000  1001  1000  3000  3999     -     -  2999  1999      -       -   2999
     ilbc     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
     g726     -  2001     2     2     3001     2     1  2001  3000  5000     -     -  1000      -       -   2000
     g722     -  3000  1001  1001     4000  1001  1000  3000  3999  5999     -  2999     -      -       -   1000
   siren7     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
  siren14     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
   slin16     -  4000  2001  2001     5000  2001  2000  4000  4999  6999     -  3999  1000      -       -      -


Y listo ya pueden hacer llamadas vía internet por medio de una troncal SIP con el Codec G729 free.

miércoles, 22 de junio de 2011

Me salvo la vida este comando #du --max-depth=1

Bueno tengo un Zentyal como Dominio PDC y de un momento a otro mi partición /raíz se lleno al 100% mire en un post algunas ideas y la primera vez me sirvió el truco de

[Loca]# sudo aptitude clean

Luego ya no funciono me lubero solo el 5% y al dia siguiente ya estaba lleno mi disco, bueno entoces mire algunos foros donde decía que eliminar archivos temporales pero nada no se liberaba espacio tome la opción de re dimensionar el disco pero investigando es un lio hacer eso a la mayoría se les pierden los datos y pues :S entoces segui buscando una solución antes de formatear de nuevo :S y me encontré con un comando exelente que me dio una luz de donde estaba el lio

[Loca]# du --max-depth=1

Bueno me pare en el directorio raíz con cd ./ y luego le di ese comando “du --max-depth=1” el cual me voto toda la información del consumo de espacio del directorio raíz / de la siguiente forma

root@local:/# du --max-depth=1
4983980 ./Backup_Servidores
4       ./cdrom
8620    ./sbin
609184  ./var
du: cannot access `./proc/7389/task/7389/fd/3': No such file or directory
du: cannot access `./proc/7389/task/7389/fdinfo/3': No such file or directory
du: cannot access `./proc/7389/fd/3': No such file or directory
du: cannot access `./proc/7389/fdinfo/3': No such file or directory
0       ./proc
4       ./opt
800540  ./usr
4       ./mnt
7844    ./bin
16      ./lost+found
196     ./dev
36      ./root
8       ./srv
154924  ./lib
16      ./tmp
4       ./selinux
8384    ./etc
17170   ./boot
0       ./sys
129834812       ./home
4       ./media
136425762       .

Entonces me di cuenta que tenía una carpeta llamada Backup_Servidores que estaba consumiendo mucho espacio me metí en esta carpeta borre todas las copias que habían de server con
[Loca]# rm *

y listo mire con  

[Loca]# df –h y ya me había liberado casi todo el disco de nuevo.
Mi error fue mandar mis copias al directorio Raiz / y no a /home/samba/share/ Backup_Servidores/ donde tenía bastante espacio entonces pues ahora enviare las copias a home.

Estos son algunos comandos para analizar el espacio en el disco:

#df –h  para mirar el consumo del disco en GB

Realizamos un fdisk -l , que nos muestra información sobre el particionado actual:
# fdisk -l /dev/sda

La partición que quiero agrandar es /dev/sda1 , así que obtenemos su tamaño en bloques:
# fdisk -s /dev/sda1


Nos aseguramos que la partición se encuentre en buen estado:
# fsck -n /dev/sda1


Tips Asterisk



Como cambiar los audios del sistema  asterisk al español:

En el directorio /var/lib/asterisk/sounds/

Todo lo es .gsm que esta en la carpeta /es/ pasarlo a la carpeta /en/  de ese directorio. Y listo.
---------------------------------------------
Para que asterisk reproduzca sonidos como IVR esos audios deben ser primero convertidos a mono de 8000 hz con Audacity para subirlos al sistemas de asterisk.

Como hacer Backup de Elastix y asterisk



Primero podemos hacer un backup por medio de la interface grafica de elastix en el menú System à Backup/Restore estando allí damos clic en Perform a Backup… y allí seleccionamos los archivos de los que queremos tener respaldo. Esto demora unos cuantos minutos.

Pero también por seguridad es necesario realizar un Backup de la siguiente forma

Guardas  los siguientes directorios de asterisk en otro PC diferente yo use Winscp:

/etc/asterisk/
/var/lib/asterisk/
/var/www/html/

También se debe realizar Backup de las bases de datos

[root@local ~]# mysqldump -pcontraseña -A --opt >> /home/Backup16-06-11.sql

Ahora el comando para restaurar las bases de datos en asterisk

mysql -pcontraseña del msql à esto es para ingresar a Mysql

Ejemplo:

[root@local ~]#  mysql -pcontraseña

>\.  /home/Backup16-06-11.sql  ----> este el esl directorio donde fue guardado con el nombre que se le asigno al archivo.

listo ya esta 

Backup Audios de llamadas asterisk


Esta backap se va a realizar por medio del protocolo ssh entre dos Linux

Bueno se debe tener instalado en ambos PC el ssh y ambos deben estar en el mismo puerto sea 22 o el que les quieran poner por seguridad pero los dos en el mismo puerto.

Luego se deben compartir las llaves ssh entre los servidores para que no pida contraseña por cada audio copiado de la siguiente forma:

[Local]#/> ssh-keygen -d
[Local]# /> ssh ip-destino "cat >> ~/.ssh/authorized_keys2" < ~/.ssh/id_dsa.pub

Nota:
El segundo paso tambien puede realizarse copiando manualmente la clave
 publica del origen en el dstino en el archivo id_dsa.pub

Comandos para hacer backup de audios de asterisk de un servidor a otro (linux)


Antes nos paramos en #cd /var/spool/asterisk/monitor/ que es donde están las grabaciones y allí ejecutamos el comando

[Local]# find . -name '*201103*' -exec scp {}  root@192.168.0.77:/media/Datos/backup/ \;

Esto  ‘*201103*’ significa que voy a buscar con find los audios del mes 03 (Marzo) del año 2011 para luego copiarlos con scp al PC con ip 192.168.0.77 en el directorio /media/Datos/Backup/
El directorio puede ser el que quieran.

Y listo estas copias llevan bastante tiempo. 


Bueno para buscar los audios se haces así:



[Local]# find . -name '*201003*' |more

Toca  de esta forma ya que si nos paramos en el directorio y por ejemplo le damos un ls por la cantidad de audios no  va a mostrar nada y se va ablaquear toca primero buscarlos por partes o meses.



Y si lo que se quiere es copiarlo en el mismo servidor pero en otro directorio se hace así:

[Local]# find . -name '*201003*' -exec cp -R {} /rutadirectorio/ \; &

martes, 21 de junio de 2011

Como crear una troncal SIP en Elastix


Lo primero es ir a menú PBX à Trunks o Troncales y dar clic en Add SIP Trunk


Trunk Description: Le ponemos el nombre que queramos 

Dial Rules: Simpre la dejo X. y luego en la rutas salientes o Outbound Routes le indico el plan de marcado.

Outbound Dial Prefix: En este ejemplo mi proveedor me pide que le envie el prefijo con 57 ya que se va a logear con un server en USA.

Acá si es una troncal sip de Telmex por ejemplo  para bogota no envias prefijo no le pones nada pero si tienes plan ilimitado nacional ellos por cada Ciudad te dan un prefijo que debes ingresar allí bueno y crear una troncal por cada ciudad, es super tedioso pero bueno. 

Trunk Name: pones el nombre de la troncal es obligatorio si no lo pones no de la deja crear

PEER Details: Bueno esta es la parte más importante

username= Te lo da tu proveedor
type=friend
secret= Te lo da tu proveedor
qualify=yes
language=es  //esto si tienes aun pro defecto los audios en ingles para que te los bote en español
insecure=very
host= Te lo da tu proveedor
dtmfmode=rfc2833
disallow=all
call-limit=50
allow=g729 // normalmente es el Codec cuando viaja la voz por internet

ahora esto siempre los dejos en banco

USER Context
USER Details

Y este campo también es super importante 

Register String: la lógica de esto es

usuario:password@ip host/usuario

Digamos un ejemplo

Pepito:12345@64.18.5.3/pepito 

Este usuario, password, y host son los mismos que pones en PEER Details que te da tu proveedor