jueves, 14 de agosto de 2014

Servidor Web, Correo y DNS -- Parte I (Requerimientos)


Primero debemos saber exactamente qué deseamos hacer y con qué recursos contamos para hacerlo.

Necesitamos crear un servidor de correo interno para una institución, el computador que prestará el servicio debe almacenar todos los correos electrónicos, teniendo entonces una límite de espacio por cada correo.

Tenemos un equipo con una IP Pública fija, que es en el cual deseamos  instalar el servidor de correo, actualmente ese equipo puede estar prestando otros servicios, lo importante es que podamos instalar los paquetes que deseamos; adicionalmente tenemos un DNS configurado que nos redirige a ese equipo, o sea, tenemos un dominio dirigiendo a la IP pública que tiene ese equipo; por ahora digamos que la dirección de nuestro dominio es propio.com.

Conociendo entonces los requerimientos, es necesario que procedamos a entender un poco de lo que vamos a instalar.
ISPConfig 3: Es una aplicación de software libre que permite manejar servidores directamente desde el navegador, creando cuentas de usuario, limitándolas, editándolas y borrándolas de nuevo; en nuestro caso específico, lo usaremos para manejar nuestro servidor de correo, pero vale acotar que este software también posee muchas otras cualidades. Puedes ir a la página oficial para mayor información al respecto. "http://www.ispconfig.org/page/home.html" Agosto 2014.
Apache: Es una aplicación de software libre que permite convertir un equipo en un servidor HTTP (o servidor Web) para sistemas operativos como GNU/Linux y Windows. El objetivo del proyecto "Apache HTTP server" es proveer un servidor seguro, eficiente y extensible que proporcione servicios HTTP en sincronía con los estándares HTTP actuales.
"http://httpd.apache.org/" Agosto 2014.
BIND: (Berkeley Internet Name Domain) es un servvidor DNS, actualmente el más usado en Internet, especialmente en sistemas Unix; provee una plataforma estable y robusta sobre la cual las organizaciones pueden distribuir sistemas de cómputo sabiendo que dichos sistemas cumpliran con los estándares de DNS.
Para mayor información al respecto puedes ir a la página oficial del proyecto:
"http://www.isc.org/downloads/bind/" Agosto 2014.
Dovecot: es un servidor de correo POP3 e IMAP para sistemas GNU/Linux y Unix, desarrollado pensando primero en la seguridad. Dovecot es una excelente opción puesto que es rápido, fácil de configurar y no requiere administración especial, además de hacer uso de pocos recursos del sistema.
"http://www.dovecot.org/" Agosto 2014.
Squirrelmail: es un paquete de servidor de correo escrito en PHP, soporta protocolos IMAP y SMTP y todas sus páginas son hechas en HTML 4.0 puro (no requiere JavaScript)."http://squirrelmail.org/" Agosto 2014.
En pocas palabras, Dovecot se comunica con los protocolos mientras que squirrelmail me proporciona una GUI (Graphic User Interface) para manejar el correo, es por eso que este paquete es tan denominado webmail.
La idea es preparar nuestro flamante Debian para que sea un gran servidor y a la vez, levantar nuestro pecho con orgullo al mostrar que tenemos un correo configurado por nosotros solos jejejeje (mi sobrino diría "lo hice yo solito jajajaja).
Copyleft 2014 - RAITE

lunes, 9 de junio de 2014

Predespacho jajajajaja

El título es un poco jocoso pues en realidad el artículo es sólo para indicarles que en unos días estaré subiendo la primera parte del manual para montar servidores Web en GNU/Linux Debian Wheezy.

No es el predespacho a una rumba, pero les puedo decir que cuando lo monté full, me sentí como si hubiera llevado a cabo la mejor y más exitosa rumba del año jejejeje.

Bueno, un abrazo my fellow citizens, see you later, may the force be with you!

sábado, 29 de marzo de 2014

Problema descomprimir RAR en Wheezy

Desde hace un tiempo (mucho tiempo en realidad, pero estaba de holgazán y no me había dedicado a solventarlo), he estado teniendo un problema con mi sistema GNU/Linux para descomprimir archivos que vengan en RAR. Si, lo se, es preferible utilizar archivos que vengan en versiones libres, pero muchachos(as), seamos objetivos, no le podemos pedir a todo el mundo que use los formatos libres, por ejemplo, subdivx.com no va a dejar de subir un subtítulo sólo porque quien lo hizo lo puso en rar.

Ahora bien, vale acotar que siempre he tenido instalado en mi computador el paquete rar y unrar-free, normalmente con estos dos paquetes puedo comprimir y descomprimir archivos en este formato, pero por alguna extraña razón, desde hace un tiempo para acá, esa opción ya no ha funcionado más; los detalles del problema son los siguientes:
  • El archivo rar se podía abrir sin inconvenientes;
  • Cuando intentaba descomprimir, el proceso se cumplía (aparentemente) sin problemas; sin embargo, cuando iba al directorio, resulta que no aparecía el archivo descomprimido. Vale acotar que esto pasaba con cualquier rar.
A continuación indicaré cómo lo solucioné.

Para poder hablar de la descompresión de archivos con extensión RAR, es necesario que primero entendamos que un archivo RAR es un fichero comprimido, que puede contener muchos otros ficheros y directorios, es como decir, un paquete de archivos, que además, ocupan menos espacio estando empaquetados.

Nuestra muy apreciada Wikipedia [http://es.wikipedia.org/wiki/RAR (marzo, 2014)] nos indica que:
es un formato de archivo propietario, con un algoritmo de compresión sin pérdida utilizado para la compresión de datos y archivación, desarrollado por el ingeniero de software ruso, Eugene Roshal.
RAR utiliza un algoritmo de compresión basado en el LZSS que, a su vez, se basaba en el LZ77, de James Storer y Thomas Szymanski (1982). El tamaño del diccionario puede variar entre 64k y 4 Mb.
Nótese bien que el formatos es PROPIETARIO, o lo que es lo mismo, no posee licencia libre, como nuestro adorado GNU/Linux.

Ahora bien, me puse a leer un poco y me encuentro con que en el equipo tengo instalado un programa llamado p7zip. Hize uso de este comando para averiguarlo.
sudo aptitude search p7zip
Esto me permite conocer que nombre del paquete es "p7zip-full". Ya en el pasado había visto y usado ese programa en Ms Windows y vale acotar que me pareció espectacular, ahora vengo y busco detalles del paquete haciendo uso del comando
sudo aptitude show p7zip-full
Lo cual en pocas palabras me indica que 7zip es un compresor de archivos de gran poder que además viene hecho para interactuar con fille-roller, el descompresor de archivos por defecto de Debian.

Lo interesante y que nos simplifica las cosas está en la "Lista de Formatos Soportados" en la cual nos indica que, solamente para descompresión, se soportan los siguientes:
APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RAR (only if non-free p7zip-rar package is installed), RPM, SquashFS, UDF, VHD, WIM, XAR and Z.
Esto me hizo empezar a buscar el paquetico, primero intenté de la manera mas sencilla.
sudo aptitude search p7zip-rar
Pero por alguna extraña razón, el paquete no estaba, ya que sé que el paquete no es libre, debe estar en la rama non-free de los repositorios, pero como no quiero meterme en ellos, busco el paquete directamente en la web y lo descargo de la página oficial de paquetes de Debian (cómo me gusta usar software libre).
https://packages.debian.org/wheezy/i386/p7zip-rar/download (marzo, 2014)

Lo descargo para mi tipo de arquitectura, i386.

Y luego, procedo a instalarlo, haciendo uso de otro comandito
sudo dpkg -i /home/raite/Descargas/p7zip-rar_9.20.1~ds.1-3_i386.deb
Si estás siguiendo los pasos, es seguro que tu ruta debe ser distinta, no creo que tu usuario tenga el mismo nombre que el mío.
La cosa es, con este comando el sistema instala el paquete y... listo, eso nos permite abrir y descomprimir archivos .RAR en nuestro sistema GNU/Linux Wheezy.

Copyleft 2014 - RAITE

FTP desde Cónsola

Si queremos transferir archivos por FTP desde la cónsola de GNU/Linux tendremos que hacer uso de unos pocos comandos (en serio, son muy pocos comandos jeje). Sin embargo, comenzaré por una definición básica de FTP para los newbies.
FTP: File Transfer Protocol o en nuestro adorado español, Protocolo de Transferencia de Archivos tal como indica http://es.wikipedia.org/wiki/Ftp (marzo 2014)
"...es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo."
En resumen, tienes un equipo con el servicio de FTP activo, te conectas desde otro equipo para poder subir y bajar archivos, en realidad es muy simple, de hecho, es tan simple que es extremadamente potente.

Ahora bien, supongamos que en el momento en el cual necesitas subir archivos por a tu FTP, tu conexión simplemente "apesta", o bueno, quizá estés conectándote desde el celular y no quieres "chuparte" todas tus megas de un solo trancazo, y bien sabemos que conectarnos por entorno gráfico siempre usa un poco más de datos de los realmente necesarios, así que buscamos una manera de conectarnos rápido, y consumir la menor cantidad de datos posibles, pues, "te lo tengo" jajajaja (broma solo para venezolanos); conéctate por cónsola.

Aja, pero ¿Cómo me conecto por cónsola, it's that even possible?

Oh my friend, there is no power as the one that hide's behind the black console!
¡Oh amigo mio, no hay poder como el que se esconde detrás de esa cónsola negra!

Primero, abre la cónsola :D

Ahora, lo que tienes que hacer es asegurarte de que el paquete FTP esté instalado en tu sistema, en mi caso, yo soy usuario de Debian, por lo tanto, el comando que utilizo es el siguiente:
sudo aptitude search ftp
 Y en la respuesta que me da el servidor puedo ver que hay una "i" antes del paquete denominado así.





A continuación una pequeña imagen de lo que indico, nótese que les coloqué el cursor cerca del paquete ftp para facilitar el trabajo.





Si deseamos conocer más detalles del paquete, bien podemos hacer uso del comando
aptitude show ftp
En caso de que en vez de una i tengas una p antes del nombre del paquete, debes proceder a instalarlo haciendo uso del comando
sudo aptitude install ftp
Una vez el paquete está instalado en nuestro GNU/Linux, procederemos a usarlo

Para acceder debemos escribir el comando
ftp LaDirecciónDeTuFTP
El sistema nos pedirá que indiquemos nuestro nombre de usuario.
Y luego nos solicitará la contraseña.

Luego de esto, estaremos conectados a nuestro ftp, la mejor forma de notarlo es observando que el prompt de nuestra cónsola es como sigue
ftp>
Podemos hacer movernos por los directorios, listar los mismos, eliminar archivos, cambiar permisos, cambiar dueños, tal y como lo haríamos en nuestro equipo.

Si queremos subir archivos debemos hacer uso del comando put de la siguiente manera
ftp> put RutaArchivo/NombreArchivo.Extensión
Y si lo que deseamos es descargar un archivo, hacemos uso de
ftp> get ArchivoDescargar.extensión
Una vez hayamos terminado de subir y/o bajar nuestros archivos, haremos uso del siguiente comando para cerrar nuestra sesión.
ftp> quit
Aquí les dejo el vínculo a una página que también contiene toda esta información y un poco más.

viernes, 28 de marzo de 2014

Requerimientos de Hardware para Servidor de Moodle Act. 2014


He estado verificando los requerimientos actuales para la instalación de Moodle en un servidor, me interesaba conocer detalles de lo que necesito tener en el equipo para que mi moodle funcione sin inconvenientes. Es importante tener claro un par de deficiones básicas.

Usuario concurrente:
Máximo de usuarios que estarán usando moodle al mismo tiempo (para actividades evaluaciones).
Usuario de Navegación:
Número máximo de usuarios que pueden navegar en tu Moodle, es el número de computadoras en tu organización o en tu curso, por decirlo de alguna manera. Claro está, algunas veces no es tan fácil obtener este número ya que veces no se tiene planificado el alcance de la plataforma a instalar; en estos casos, habla con los que están solicitando el LMS (Learning Managment System - Eso es Moodle) para intentar definir un aproximado.
Sabiendo esto, la fórmula más o menos inicial, sería:

Aprox máximo de usuarios concurrentes= RAM (GB) * 50.
Aprox máximo de usuarios de navegación= concurrentes *5.

O lo que es lo mismo, necesitaremos 1GB RAM por cada 50 usuarios concurrentes.
Y al multiplicar el número de usuarios concurrentes por 5, obtendremos el número de usuarios de navegación.

Ok, digamos que tengo ya el equipo, sin embargo lo quiero mejorar, en ese caso, bien podríamos citar a http://docs.moodle.org/20/en/Performance_recommendations#Hardware_configuration (marzo, 2014)

Incrementar la RAM del servidor te presentará beneficios inmediatos, ya que esto permitirá reducir la necesidad del proceso de swaping al disco, y permitirá también que el mismo maneje un mayor número de usuarios.
Hay mayor rendimiento al obtener mayor capacidad de procesamiento, así como también procesamiento multi hilo.
De ser posible, usa disco duros SCSI en lugar de SATA; ya que los disco duros SATA incrementarán el uso del CPU, a diferencia de los SCSI que tienen su propio procesador integrado.
A medida de lo posible, intenta que tus disco duros posean tiempo de búsqueda bajos "low seek time". Pues esto mejorará la velocidad de tu sistema.
Haz que tu partición swap posea 4 veces el tamaño de tu RAM.
Haz uso de Gigabit Ethernet (si puedes), para mejorar la latencia. Esto es bastante relevante si tienes tu servidor de Base de Datos separado del servidor Web.
También se posee un caso de estudio, (inglés) el cual muestra cierta información de estadísticas de uso del hardware en un ambiente de 300 usuarios https://moodle.org/mod/forum/discuss.php?d=68579 (marzo, 2014).
Y por último, en http://www.factorsim.info/2012/04/16/necesito-un-moodle-que-tendra-x-usuarios-concurrentes-de-media-que-servidor-ponemos-aguantara/ (marzo, 2014) se muestra también un poco de información sobre el cálculo de usuarios concurrentes.

Off topic: Honey, I'm back! - O como lo diría Estopa "Vuelvo a las andadas".

RAITE - Copyleft 2014

martes, 3 de mayo de 2011

Reemplazar teclas Laptop

Gracias a Dios que este no es mi caso, sin embargo he visto muchas personas que por algún inconveniente pierden teclas de su laptop. En la siguiente URL consiguen una base de datos con videos que indican los pasos a seguir para reemplazar las teclas de tu laptop.
http://www.laptopkey.com

jueves, 21 de abril de 2011

Touchpad en Debian Squeeze



Creía que todo funcionaba a las mil maravillas en el portátil, pero me encuentro con que al momento de hacerle tap al touchpad del mismo, el sistema no reacciona como deberia (se supone que al hacer tap, o lo que es lo mismo, presionar por un instante el touchpad, el SO deberia asumir que eso es un clic).

Bueno, esto me agrada, toca aprender. Se que a eso le llaman "synaptic" así que necesitaré instalar el driver o controlador para synaptic.

Hay dos formas de hacerlo, una es creando el archivo xorg.conf (recordemos que ahora gracias a la nueva forma de Debian Squeeze para manejar el video, ya este bendito archivo no existe); la otra opción es hacer un script que active las opciones que necesitamos.

A decir verdad, pienso que si quitaron el archivo xorg.conf es por algo así que opté por hacer el script, que de hecho es bastante corto. A continuación lo mostraré y luego se hará la explicación línea a línea.

Abrí mi editor de texto favorito, GEDIT y escribí lo siguiente

#!/bin/bash
#Script para habilitar el driver synaptic del mouse
synclient TapButton1=1
synclient HorizEdgeScroll=1


Explicación

#!/bin/bash
La primera línea se utiliza para permitir al sistema que identifique nuestro archivo como un código que debe ejecutarse como si estuvieramos escribiendo cada línea en nuestra cónsola de comandos.

#Script para habilitar el driver synaptic del mouse
Esta línea no es más que un comentario que me permite conocer lo que hace el archivo (así lo entenderé dentro de un año cuando vuelva a leer este código. Toda línea que comience con un símbolo "#" es considerado un comentario.

Ok, ahora utilizaremos comando denomindado "synclient", por lo tanto es adecuado que sepamos que
"Este programa te permite cambiar parámetros del controlador para el touchpad de synaptic del servidor XOrg/XFree86 mientras la interfáz gráfica está corriendo.

Alerta: Esto no es seguro si estás utilizando una plataforma multiusuario. Todos los usuarios locales pueden cambiar los parámetros en cualquier momento"
http://linux.die.net/man/1/synclient (Fuente en inglés. 20-4-2011)


Ya que sabemos que es el synclient, es hora de utilizarlo.

synclient TapButton1=1
Esta línea habilita la funcionalidad de clic al hacer tap en el touchpad

synclient HorizEdgeScroll=1
Necesitamos que si movemos el dedo en sentido horizontal, tocando nuestro touchpad, esto active el scroll en ese sentido. Para eso es esta línea.

Señores, esto es sólo un breve resumen de lo que puede hacer el synclient, para mas información se pueden ir a la URL citada anteriormente y leer un poco más al respecto.

Ok, hecho el archivo, lo guardo en mi home con un nombre, no olviden colocar la extensión necesaria, o sea "sh". En mi caso particular llamare al archivo "synclient.sh", sin las comillas. Ahora sólo falta cambiarle la permisología al archivo, para esto pueden usar el comando "chmod 777 /home/raite/synclient.sh" desde una cónsola o también pueden seleccionar su archivo, hacer clic sobre él con el botón derecho del mouse y luego, en la pestaña denominada "Permisos" activar la opción que indica "Permitir ejecutar el archivo como un programa".

Listo, ejecuten su archivo haciendo doble clic sobre él, les aparecerá una ventana para que seleccionen la acción a efectuar, indiquen que desean ejecutar en terminal. Listo señores, ya funciona su tap del touchpad.

Ahora bien, cuando reinicien el computador, dejará de funcionar, esto se debe a que el script que hicimos sólo cambia los parámetros para la sesión actual, lo que yo hice entonces fue lo siguiente.
Clic en el Menú Gnome/Systema/Preferencisa/Aplicaciones al Inicio, ahora clic en Añadir, esto nos despliega una nueva ventana que solicita tres datos.

Nombre: synclient
Comando: aquí deben indicar la ruta de su script, en mi caso /home/raite/synclient.sh
Comentario: Algo que les haga recordar que hace el script, no es obligatorio.
Y aceptar, así cuando reinicien su script se ejecutará automáticamente.

Webografía:
http://linux.die.net/man/1/synclient (Fuente en inglés. 20-4-2011)
http://elmundodesenekis.wordpress.com/2010/06/13/habilitando-touchpad-en-debian-squeeze/ (20-4-2011)