lunes, 8 de diciembre de 2008

Video volúmenes lógicos Windows Server 2003

domingo, 7 de diciembre de 2008

Joomla en Ubuntu

Joomla en Ubuntu.

Video LVM+RAID1

viernes, 5 de diciembre de 2008

Manual de Gestion y Monitoreo. Uptime en windows server 2003

Gestion y Monitoreo con Uptime

miércoles, 3 de diciembre de 2008

APLICACIONES WEB




QUÉ SON?

Una aplicación web es aquella a la que el usuario puede acceder por medio de un servidor web, a través de internet o de una intranet.

Un servidor Web es un software que suministra páginas Web en respuesta a las peticiones de los navegadores Web. La petición de una página se genera cuando un visitante hace clic en un vínculo de una página Web en el navegador, elige un marcador en el navegador o introduce una URL en el cuadro de texto Dirección del navegador.

Anteriormente, los usuarios no podían interactuar con la información que encontraban por medio de los navegadores, ya que las páginas eran estáticas o solo eran simples documentos en HTML. Una página Web estática es aquélla que no cambia cuando un usuario la solicita, el servidor Web envía la página al navegador Web solicitante sin modificarla.

A lo largo del tiempo, la creación de documentos HTML ha variado significativamente, pasando desde las primeras páginas escritas en HTML almacenadas en un fichero en el servidor web, hasta aquellas páginas web dinámicas, que son aquellas que el servidor modifica antes de enviarlas al navegador solicitante como respuesta a una acción del cliente y cuyo contenido varía según las circunstancias.


COMO FUNCIONA REALMENTE UNA APLICACION WEB?

Cuando un servidor web recibe una petición para mostrar una página web estática, el servidor lo único que hace es enviarla directamente al navegador que la está solicitando. Cuando un navegador envía una solicitud de una página web dinámica, a un servidor web, el servidor localiza la página y la envía al servidor de aplicaciones, el cual estará encargado de leer el código y finalizar la página en función de las instrucciones del código, luego el servidor de aplicaciones pasa la página terminada al servidor web y a su vez, el servidor la envía al navegador solicitante.


COMO ACCEDEN LAS APLICACIONES WEB A LAS BASES DE DATOS?

Un servidor de aplicaciones no puede comunicarse directamente con una base de datos porque el formato de las bases de datos impiden que se descifren los datos, asi como cuando un documento de Microsoft Word no puede descifrarse al abrirlo Bloc de Notas. El servidor de aplicaciones sólo puede comunicarse con la base de datos a través de un controlador que actúe de intermediario con la base de datos, este software actuara como un intérprete entre el servidor de aplicaciones y la base de datos. Inmediatamente el controlador establece la comunicación, la consulta se ejecuta en la base de datos y se crean una serie de registros. Estas serie de registros son un conjunto de datos extraídos de una o varias tablas de una base de datos. El conjunto de registros se devuelven al servidor de aplicaciones, que emplea los datos para completar la página.

Un servidor de aplicaciones permite trabajar con recursos del lado del servidor, como las bases de datos. Por ejemplo, una página dinámica puede indicar al servidor de aplicaciones que extraiga datos de una base de datos y los inserte en el código HTML de la página.

La instrucción para extraer datos de una base de datos recibe el nombre de consulta de base de datos. Una consulta consta de criterios de búsqueda expresados en un lenguaje de base de datos denominado SQL (Structured Query Language, lenguaje de consulta estructurado). La consulta SQL se escribe en los scripts o etiquetas del lado del servidor de la página.

Podemos utilizar prácticamente cualquier base de datos con las aplicaciones Web, siempre y cuando se haya instalado el controlador de base de datos correcto en el servidor, si deseamos desarrollar grandes aplicaciones empresariales, podemos utilizar una base de datos basada en servidor, como las que permite crear Microsoft SQL Server, Oracle o MySQL.

Si la base de datos está situada en un sistema distinto del servidor Web, debemos asegurarnos de disponer de una conexión rápida entre ambos sistemas para que la aplicación Web pueda funcionar de forma rápida y eficiente.


VENTAJAS DE LAS APLICACIONES WEB:

Podemos acceder desde cualquier lugar del mundo, sólo necesitamos una conexión a internet y un navegador web.

Se utilizan herramientas Open Source, no tiene que pagar por usar el sistema operativo Linux, el servidor web Apache, el lenguaje PHP o el motor de base de datos MySQL. Tampoco tenemos que pagar según el número de usuarios de dichas herramientas.

Actualización más fácil. Basta con hacer los cambios en el servidor vía on-line.

Es una aplicación multiplataforma, es decir, el usuario maneja el programa tanto si tiene instalado Windows, Macintosh, Linux, PocketPC u otro sistema ya que lo único necesario es un navegador web.

sábado, 27 de septiembre de 2008

MI AFICHE DEL FLISOL 2009



Esta es una de las tantas "tareitas" que se lo ocurrio a Nando, teníamos que crear un diseño para el FLISOL 2009 (Festival latinoamericano de instalación de software libre) con un software libre para diseño llamado inskcape.

Los personas que hicieran los mejores trabajos, tendrian automáticamente un traslado a artes gráficas y los trabajos no tan buenos, tendrian unas cuantas "tareitas" adicionales.

Conclusión: Con Nando si eres bueno, es malo y si eres malo, peor.

lunes, 15 de septiembre de 2008

Servidor FTP PROFTPD en Ubuntu 8.04

Primero debemos loguearnos como root, lo hacemos con el commando sudo bash, una vez hecho esto, procedemos a instalar los paquetes necesarios:

# apt-get install proftpd


Aparece una pantalla para elegir entre dos opciones, inetd o standalone, elegimos standalone.

Luego por razones de seguridad vamos a crear un shell false para el acceso de ftp para esto vamos a agregar una linea en el archivo /etc/shell:

#gedit sudo /etc/shells

Agregamos la siguiente línea al final del archivo:

/bin/false

Esto va a evitar que cualquier usuario que utilice el ftp puede acceder a nuestra consola de comandos.

Ahora creamos un directorio donde se guardarán los archivos a compartir en el ftp:

#cd /home

#mkdir FTP-public


Ahora vamos a crear un usuario para acceder al ftp:

#useradd nombreusuarioftp -p tu_password -d /home/FTP-public -s /bin/false


Nota:

-p para definir el password,
-d para definir cuál va a ser el directorio principal o home del usuario
-s para indicarle cual es el shell por defecto del usuario, para más información de este comando puedes colocar man useradd en la consola.


Ahora vamos a crear dos directorios más para separar los archivos de subida y bajada:

#mkdir /home/FTP-public/download

#mkdir /home/FTP-public/upload

Ahora tenemos que especificar los permisos de lectura y escritura para estos directorios:

#chmod 755 /home/FTP-public
#chmod 755 /home/FTP-public/download
#chmod 777 /home/FTP-public/upload


Ahora veamos el archivo de configuración del proftp que se encuentra en la ruta:

/etc/proftpd/proftpd.conf para esto ejecutamos:
sudo gedit /etc/proftpd/proftpd.conf


# Para aplicar los cambios tienes que reiniciar el servidor FTP
AllowOverwrite on
AuthAliasOnly on

# Escoge aqui un alias para tu usuario de FTP

UserAlias vensign userftp

ServerName "kate FTP"

ServerType standalone

DeferWelcome on

MultilineRFC2228 on

DefaultServer on

ShowSymlinks off

TimeoutNoTransfer 600

TimeoutStalled 100

TimeoutIdle 2200

DisplayFirstChdir .message

ListOptions "-l"

RequireValidShell off

TimeoutLogin 20

RootLogin off

# Aqui creamos los archivos de logs que son de mucha utilidad en caso de fallos

ExtendedLog /var/log/ftp.log

TransferLog /var/log/xferlog

SystemLog /var/log/syslog.log

#DenyFilter *.*/

# No vamos a utilizar el archivo /etc/ftpusers file
#(sirve para colocar adentro los usuarios que no queremos que se conecten)

UseFtpUsers off

# Permitir reiniciar una descarga (muy útil en caso de que se caiga la conexion)

AllowStoreRestart on

#El puerto 21 es el estandar para FTP,
#es bueno cambiarlo por razones de seguridad
#aqui elegi el 1980 puedes escoger el que quieras

Port 1980

# Coloca el usuario y el grupo al que el servidor normalmente funciona

User nobody

Group nogroup

# Umask 022 es un buen valor por defecto para evitar que nuevos archivos y directorios

# sean escribibles por todo el mundo o por el grupo.

Umask 022 022

PersistentPasswd off

MaxClients 8

MaxClientsPerHost 8

MaxClientsPerUser 8

MaxHostsPerUser 8

# Despliega un mensaje despues de que ingresa un usuario

AccessGrantMsg "Bienvenidos a kate !!!"

# Este mensaje es mostrado por cada intento de ingreso sea bueno o no

ServerIdent on "estas en kate"

# Coloca a /home/FTP-public como el directorio principal (home)

DefaultRoot /home/FTP-public

# Bloquea a todos los usuarios al directorio home que definimos

DefaultRoot ~

MaxLoginAttempts 5

#Ingresos validos solo permitimos a userftp



AllowUser userftp

DenyALL



#Definimos los permisos de los directorios que creamos para el FTP



Umask 022 022

AllowOverwrite off



DenyAll







Umask 022 022

AllowOverwrite off



DenyAll





/home/FTP-public/upload/>

Umask 022 022

AllowOverwrite on



DenyAll





AllowAll





Con este archivo de configuración tendrás un servidor FTP funcionando con el usuario kate (como alias de userftp) y con el password que colocaste, cuando creaste el usuario, además definimos como puerto de conexión 1980.

Reiniciamos el servidor:

# /etc/init.d/proftpd restart

Para conectarte desde un cliente FTP debes recordar colocar como puerto de conexión 1980 como lo definimos en el archivo de configuración.

domingo, 14 de septiembre de 2008

PROYECTO. ENTRADA 1

Avanzando un poco mas en el proyecto, decidimos comenzar con windows server 2003, nos hemos ido encontrando con una serie de inconvenientes (errores) los cuales hemos ido solucionando en el transcurso del desarrollo del proyecto.

Proyecto 1: PLATAFORMA DE CORREO SEGURA

Objetivo: Diseñar, implementar y gestionar un sistema de correo que cumpla con lo siguiente:

*Cifre el tráfico entre usuario y servidor
*Valide los usuarios contra un sistema de directorios
*Almacene los correos de los usuarios en un sistema de directorios o base de datos
*Permita configurar usuarios y dominios virtuales
* Soporte un sistema de antivirus, antispam y antimalware en general.
* Soporte administración gráfica (fácil de administrar para el usuario).
* Soporte acceso POP, IMAP y WebMail (hacerlo de forma segura - SSL)
* Bonus ( hacer algo adicional para diferenciar el proyecto de otros similares).

Desarrollo:

Sistema operativo: Windows server 2003 Enterprise
Plataforma de correo: Exchange 2003
Otras plataformas: Microsoft Outlook 2003

1. Se configuro un Directorio activo en windows server 2003, al momento de instalar, se le dio la opción para que él mismo instalara el DNS.

Luego de finalizada la instalación, se conectó un equipo cliente con windows XP al DNS. Pero antes, al tratar de hacer este procedimiento, el equipo cliente no encontraba el nombre de dominio DNS configurado en el servidor, ya que este no estaba resolviendo direcciones, que para este caso era katerine.com con IP 192.168.1.30.

Para que el servidor fuera capaz de resolver direcciones y el equipo cliente pudiera conectarse, debimos ejecutar el comando ipconfig /registerdns en la consola del servidor.

Este comando lo que hace es iniciar manualmente el registro dinámico de los nombres DNS y las IP configuradas en el equipo, tambien permite actualizar todas las concesiones de direcciones DHCP y registrar los nombres relacionados, configurados y usados por el equipo cliente.

Una vez realizado este procedimiento, el equipo cliente se conecto al DNS katerine.com


2. Error al instalar SP2 al exchange 2003.

Se recomienda que el exchange 2003 tenga SP2 instalado, sino lo tiene, se puede descargar en la siguiente dirección:

http://technet.microsoft.com/es-es/exchange/bb288486.aspx

Una vez descargado el SP2 se debe ejecutar para instalar.

Cuando estaba instalando, llego un momento en que el asistente para la instalación no me habilitaba la opción siguiente y al actualizar me arrojaba el siguiente error:

El componente servicios de “colaboración y mensajería de Microsoft Exchange” no se puede asignar a la acción “actualizar”.

-El programa de instalación detecto que no se instalo la revisión descrita en el artículo 831464 de Microsoft knowledge Base. Se necesita esta revisión para que Outlook Web Access funcione correctamente.

Solución: Instalar el paquete 831464, el cual se puede descargar de la siguiente dirección:

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=0BC9B5BC-A094-49BF-89A5-C8A2D32345A2

Una vez descargado el paquete e instalado, ya se puede instalar el SP2 sin ningun inconveniente

www.vmlogia.com

viernes, 22 de agosto de 2008

Cherokee vs Apache2

Antes de empezar, visita los siguientes enlaces, donde encontrarás algunas recomendaciones antes de comenzar con la prueba:

Desde la red interna (sena):

http://10.3.240.246/wiki/BenchmarkAspectosImportantes

Desde la red externa (internet):


http://wiki.red-sena.net/BenchmarkAspectosImportantes


Desde la red interna (sena):

http://10.3.240.246/wiki/ErrorLimiteConcurrenciaPruebaBenchmark

Desde la red externa (internet):

http://wiki.red-sena.net/ErrorLimiteConcurrenciaPruebaBenchmark

Benchmark utilizado para la prueba

ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Caracteríticas del computador donde se encuentra alojada la página web:

Compaq nx9010
Procesador Intel Pentium 4 a 2.8 GHz
Memoria RAM de 512 MB
Disco duro de 60 GB
Sistema opertivo Linux Debian Etch 4.0
Cherokee 0.5.5
Apache2 2.2.3


Ejemplos de comandos usados:

katy:/etc/cherokee# ab -n700 -c300 -k http://127.0.0.1/

katy:/etc/apache2# ab -n700 -c300 -k http://127.0.0.1/



Aca le estoy enviando 700 requerimientos al servidor en grupos de 300 en 300 requerimientos al mismo tiempo. Lo que podriamos interpretar como si 300 usuarios le estan pidiendo abrir 700 requerimientos y le digo que que mantenga abierto el socket (-k).


Lo anterior lo realice para las pruebas completas, manteniendo constante C=300 y diciéndole siempre que mantenga abierto el socket (-k)



Prueba de rendimiento Cherokee

Cherokee llego al límite cuando -n valia 1700000 y observe lo siguiente:

katy:/etc/cherokee# ab -n1700000 -c300 -k  http://127.0.0.1/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 200000 requests
Completed 400000 requests
Completed 600000 requests
Completed 800000 requests
apr_socket_recv: Connection reset by peer (104)
Total of 996507 requests completed
katy:/etc/cherokee#



Despues que llego a su límite, reinicie el servicio y repetí la prueba, pero esta vez sin -k, osea que le estoy diciendo que cierre el socket.

Obtuve los siguientes resultados:


Gráfica 1 Cherokee: Número de requerimientos (n) vs 100% Longest Request




En esta gráfica observamos lo siguiente:

eje x: -n= Número de requerimientos
eje y: Tiempo en ms que demora en cargar una página al 100%
-c= Concurrencia, que siempre tuvo un valor de 300
Línea azul CON -k
Línea roja SIN -k


Los resultados eran los esperados, pues al decirle al servidor web que cerrara el socket (línea roja), le estaba diciendo que para cada requerimiento debia establecer una nueva conexión, lo que hacia mas lento el tiempo de respuesta. Por lo tanto, para este caso, el servidor es mas eficiente cuando usamos -k (mantener el socket abierto), pues asi él no tiene que establecer una nueva conexión para cada requerimiento.



Gráfica 2 Cherokee: Número de requerimientos (n) vs Request per second




A continuación, realizaré una prueba de rendimiento a los servidores web Cherokee y Apache2



eje x: -n= Número de requerimientos
eje y: Número de requerimientos por segundo
-c= Concurrencia, que siempre tuvo un valor de 300
Línea azul CON -k
Línea roja SIN -k


En el gráfico anterior podemos observar que cuando usamos -k el servidor es capaz de procesar mas requerimientos por segundo, pues como lo mencione anteriormente, no hay que establecer una nueva conexión para cada requerimiento, lo que hace mas rápido el proceso.

El servidor Cherokee es un servidor muy estable, que sometido a fuertes "presiones", es capaz de responder muy satisfactoriamente, incluso mejor que el Apache2, el cual observaremos a continuación:



Prueba de rendimiento Apache2


Observaciones

Las pruebas se realizaron con las mismas condiciones técnicas.

Se uso el mismo rango de valores que se utilizo para realizar la prueba de Cherokee.

Sólo se mostrará un gráfico (Número de requerimientos (n) vs Request per second).

El servidor web Apache2, llego a su límite cuando n valia 800.000

C=300



Gráfica 3 Apache2: Número de requerimientos (n) vs Request per second




Enlaces de interes



Apache2, apesar de ser uno de los servidores web mas usados actualmente, no es el mas eficiente, pues tiende a ser mas lento y no responde muy bien frente a fuertes "presiónes" como lo hace el Cherokee.



Gráfica 4: Comparación Cherokee vs Apache2


Observación:

Series con -k









Conclusiones


El servidor web Cherokee puede llegar a comportarse mejor frente a una gran avalancha de requerimientos, se recomienda usar -k para una mejor respuesta.

Cherokee puede procesar un mayor número de requerimientos que Apache2 y en un menor tiempo.

Apache2 es un servidor web muy usado, pero eso no quiere decir que sea el mejor.

jueves, 21 de agosto de 2008

Què es un Benchmark?

Wikipedia: "Un benchmark es una técnica que se utiliza para medir el rendimiento de un sistema o componente de un sistema"

http://es.wikipedia.org/wiki/Benchmark



Los siguientes son algunos parámetros que podemos usar al momento de realizar el Benchmark de rendimiento al servidor web, en este caso la prueba utilizada es la ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/:



-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses
-p postfile File containing data to POST
-T content-type Content-type header for POSTing
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-C attribute Add cookie, eg. 'Apache=1234. (repeatable)
-H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
Inserted after all normal header lines. (repeatable)
-A attribute Add Basic WWW Authentication, the attributes
are a colon separated username and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
-Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)
-f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)
katy:/etc/cherokee#


Me enfocarè en tres aspectos: -k, -n y -c


-c
debe ser menor que -n, sino nos saldrá el siguiente error:

katy:/etc/cherokee# ab -n100 -c500 -k http://127.0.0.1/ ab: Cannot use concurrency level greater than total number of requests Usage: ab [options] [http[s]://]hostname[:port]/path



Es recomendable realizar cada prueba 3 veces y tomar siempre el valor mas pequeño, ejm:

katy:/etc/cherokee# ab -n2000 -c300 -k http://127.0.0.1/


Lo anterior lo realizamos 3 veces y tomamos el resultado mas pequeño, ejm: el Request per second mas pequeño.


Realizar la prueba completa con -k y luego sin -k para tener una mejor comparativa de resultados. Primero realizamos la prueba con -k y cuando terminemos, debemos reiniciar nuestro servidor web y luego realizar la prueba sin -k, sino reiniciamos, el servidor no toma los cambios.



Qué es -k:

Anteriormente http trabajaba de la siguiente manera: un usuario primero abria un socket(osea una conexion al servidor) y por él enviaba el request y esperaba la respuesta del servidor. Cuando el servidor respondia cerraba el socket y esperaba otros request.

Despues de http 1.1 se creo otro método que es keepalive, osea, -k, que es mantener abierto el socket.

La diferencia es:

El servidor , una vez responde no cierra el socket y lo deja abierto entre el usuario y el servidor por si el usuario hace mas requests, y eso hace que todo sea mas rápido por que solo tienen que crear una conexión, y no es necesario crear una para cada request. El servidor abre un socket con cada usuario que hace un request.

En conclusión, cuando usas esta opción (-k), le estas diciendo al servidor que deje el socket abierto, es por esto que se recomienda hacer pruebas con -k y sin -k para ver cómo se comporta el servidor web.


A continuación pongo ejemplos para entender mejor -n y -c:

Este es un ejemplo de comando que use en linux debian con la versión del benchmark mencionada anteriormente:


katy:/etc/cherokee#
ab -n10000 http://localhost/

Aca estoy enviando 10000 requerimientos al servidor, al no poner c le estoy diciendo que por defecto envie 1 al tiempo. Lo que podriamos interpretar como si un solo usuario enviara 10000 requerimientos al servidor web.



katy:/etc/cherokee# ab -n20000 -c16 -k http://localhost/

Aca le estoy diciendo que envie 20000 requerimientos al servidor en grupos de 16 en 16 requerimientos al mismo tiempo. Lo que podriamos interpretar como si 16 usuarios le estan pidiendo abrir 20000 requerimientos y que mantenga abierto el socket.


katy:/etc/cherokee# ab -n20000 -c16 http://localhost/



Este es casi igual al caso anterior, la diferencia es que le digo que no mantenga abierto el socket



El siguiente es un ejemplo que nos muestra cuàndo el servidor llegò a su lìmite:

katy:/etc/cherokee# ab -n2000000 -c300 -k http://127.0.0.1/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 200000 requests
Completed 400000 requests
Completed 600000 requests
Completed 800000 requests
apr_socket_recv: Connection reset by peer (104)
Total of 996507 requests completed
katy:/etc/cherokee#

martes, 19 de agosto de 2008

Error en límite de concurrencia. Prueba benchmark

Podemos forzar el servidor web incrementando el número de concurrencia con la opción -c, a la vez que aumentamos el número de requerimientos con -n.

Cuando hacemos esto se puede presentar el siguiente error:

katy:/etc/cherokee# ab -c 1100 -t 50 http://127.0.0.1/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking127.0.0.1 (be patient)

socket: Too many open files (24)



El error anterior se puede corregir con el siguiente comando:

katy:/etc/cherokee# ulimit -n(número)

Este comando aumentará el límite del número de archivos abiertos para la sesión actual. Debe repetir este procedimiento cada vez que inicie una nueva sesión


lunes, 18 de agosto de 2008

MaxClientes y otras opciones en Apache2. Todo depende...

En esta parte del archivo de configuración del Apache2, podremos encontrar varias opciones que podremos ajustar, pero "todo depende de lo que queramos".

Primero, entramos al archivo de configuración del Apache2:

katy:/etc/apache2#

con ls visualizamos qué se encuentra dentro de apache2:

apache2.conf envvars mods-available ports.conf sites-enabled
conf.d httpd.conf mods-enabled sites-available

y editamos apache2.conf:

katy:/etc/apache2# nano apache2.conf

Buscamos las siguientes opciones que son las que nos interesan por el momento:

# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

MaxClientes, StartServers, MinSpareServers y MaxSpareServers regulan la manera de atender peticiones. Apache funciona bien generalmente sin necesidad de modificar estos valores, pero caso contrario sucede cuando un sitio web necesita atender 250 peticiones simultáneas, necesitaremos aumentar el valor de MaxClientes, pero si tenemos un servidor web con poca memoria, necesitaremos disminuir este valor para evitar un mal rendimiento del servidor. No es recomendable que este valor supere los 256, pues podria generar inestabilidad del sistema.

MaxClientes: Si llegáramos a tener muchas peticiones en nuestro servidor web en un determinado momento, la memoria y el ancho de banda podrian no ser suficientes, es por eso que bajando el valor de MaxClientes que por defecto trae 150 a 100, por ejemplo, nuestro servidor web no se veria "alcanzado". Si, yo se que el servidor comenzaria a rechazar peticiones cuando llegue al límite de los 100, pero es mejor esto, pues le prestamos un mejor servicio a los clientes que se conecten y rechazaríamos a los demas clientes para asi darle un "respiro a nuestro servidor"

Si llegáramos a disminuir el valor de MaxClientes a valores muy bajos, el servidor podría bloquearse e incluso dejar de funcionar. La carga de la memoria será menor, pero la carga del sistema será mayor.

Max/MinSpareServers: Estos dos parámetros regulan el número de servidores que esperan peticiones.

El valor por defecto de MinSpareServers es 5 y el de MaxSpareServers es 10. Estos valores son suficientes generalmente. El número de MinSpareServers no debería ser elevado ya que crearía una carga muy alta, incluso cuando el tráfico estuviese bajo y no tuviéramos muchas peticiones.

StartServers: Maneja los procesos que serán creados al arrancar. El servidor Web crea y elimina dinámicamente servidores según el tráfico, no es necesario cambiar este valor. El servidor está configurado para arrancar 5 procesos en el arranque.










martes, 12 de agosto de 2008

Wake On Lan (Wol)

Es una tecnología que permite encender remotamente un computador desde otro computador que se encuentre en la misma Lan o en una Wan, configurando adecuadamente los routers.

Para permitir el encendido remoto, debemos habilitar la opción en el setup del computador que deseamos prender, generalmente esta opción la encontramos en Power management (en la BIOS) y requiere estar conectada como casi todas las redes, via ethernet y poseer ACPI (Interfaz Avanzada de Configuración y Energía) que es una tecnología que se encuentra en todas las fuentes ATX. Lo anterior para lograr que la computadora este escuchando por el puerto 9 de la interfaz de red. Las señales que espera recibir son de cualquier protocolo, aunque se usa UDP por el modelo de conexión que utiliza.

Qué necesitamos para que Wol funcione?

1. Que el hardware lo permita
2. Configurar el setup
3. Que el computador este apagado correctamente
4. Enviar la señal desde otro computador

Cómo funciona Wol?
Cuando el ordenador está apagado, las fuentes de alimentación ATX siguen alimentando a ciertas partes de la placa base permitiendo el Wake on Ring y la posibilidad de encender el PC sólo pulsando una tecla del teclado o que se encienda a una determinada hora.

Wake On Lan funciona en base a la dirección Mac del computador que deseamos encender, la cual podemos averiguar de las siguientes maneras:

En el mismo computador que deseamos encender (windows XP):


En la consola escribimos ipconfig /all, vemos que nos aparece una opción llamada dirección física como por ejemplo esta: 00-04-5C-50-6B-C8

Vamos a panel de control y hacemos click donde dice Conexiones de Red luego hacemos click encima de conexión de área local, click en soporte y luego click en detalles

En resumen, habilitamos la opción en el setup de la computadora que encenderemos y luego lo dejamos apagado. Descargamos un software en el computador desde donde encenderemos el otro pc y escribimos la dirección Mac del pc que será encendido, lo que enviara una señal al otro computador despertándolo y haciendo que este se encienda.

Algunos software recomendados:

Wake On Lan

Wake Up Lan

Esta es una tecnología que nos puede ayudar en muchas ocasiones si necesitamos acceder a un computador y no nos encontramos cerca de él, pero también puede ser muy peligrosa, pues cualquier persona que sepa que tenemos esta opción habilitada en nuestro computador y averigüe la dirección Mac, podría prenderlo y entrar a él, causar daños, extraer información, etc.

domingo, 10 de agosto de 2008

Algunos conceptos de DIRECTORIO ACTIVO


El Directorio Activo es un servicio de red que contiene toda la información acerca de los recursos de la red, como por ejemplo usuarios, archivos, impresoras, topología física, entro otros.


CARACTERÍSTICAS:

Delegación de control
Integración con kerberos
Integración con DNS
Administración centralizada
Dominio


ÁRBOL: Es una estructura jerárquica de dominios que comparten un sufijo DNS

BOSQUE:
Es un conjunto de árboles que no comparten el mismo sufijo DNS, como por ejemplo cuando se fusionan empresas y se quiere mantener el nombre de cada una.

UNIDAD ORGANIZATIVA: Son contenedores, osea que contienen objetos, como impresoras, carpetas compartidas, cuentas de usuario, otras unidades organizativas, etc.

DOMINIO: Es la estructura lógica del directorio activo, que almacena miles de objetos en el catálogo global dentro de un Controlador de dominio.

CONTROLADOR DE DOMINIO: Es un equipo con windows server 2000, 2003 o 2008 que almacena una réplica del directorio de dominio (Base de datos).

KERBEROS: Es un protocolo de autenticación usado en windows 2000 para el control de acceso, usado generalmente en redes no seguras.

viernes, 8 de agosto de 2008

Actualización del DNS con el DHCP en linux Debian

Instalamos los paquetes necesarios:

#apt-get install bind9

#apt-get install dhcp3-server


Entramos a la carpeta bind:

#cd /etc/bind/ ls

Vemos que se encuentra el archivo rndc.key. Copiamos esta llave en la siguiente ruta:

#cp /etc/bind/rndc.key /etc/dhcp3


Volvemos a bind:

#cd /etc/bind

Visualizamos los archivos dentro de bind, con ls y observamos que se encuentra el archivo named.conf y entramos a editarlo:

#pico named.conf


Agregamos la configuración de la llave que nos va a permitir actualizar dinámicamente el dns:

include "/etc/bind/rndc.key";


Configuramos la zona directa:

zone “katerine.com” {
type master;
file “/etc/bind/db.katerine”;



Para activar las actualizaciones con el DHCP ponemos lo siguiente:

notify yes;
allow-update {key "rndc-key";};
};



Configuramos la zona inversa:

zone “70.168.192.in-addr.arpa” {
type master ;
file “/etc/bind/db.192.168.70”;
notify yes;
allow-update {key "rndc-key";};
};


Guardamos los cambios.


Entramos a bind creamos las bases de datos de la zonas:

#cp db.127 db.192.168.70

#cp db.local db.katerine


Editamos el archivo db.katerine. En este archivo encontramos los nombres de los host y la dirección:

; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.thiney.com. root.katerine.com. (
20080801 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ) ; negative cache TTL
;
@ IN NS ns1.katerine.com.
@ IN A 192.168.70.3
@ IN MX 10 mx1.katerine.com.
www IN A 192.168.70.3
ftp IN CNAME www.
thiney IN A 192.168.70.10


Guardamos

Editamos el archivo db.192.168.70, la zona inversa es utilizada para resolver de direcciones IP a nombres.

;BIND reverse data file for broadcast zona
;
$TTL 604800
@ IN SOA ns1.katerine.com. root.katerine.com. (
20080801 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ) ; negative cache TTL
;
@ IN NS ns1.katerine.com.
2 IN PTR ns1.katerine.com.
10 IN PTR thiney.


Agregamos el servidor DNS en el resolv.conf.

#nano /etc/resolv.conf

Agregamos lo siguiente:

search katerine.com

nameserver 192.168.70.3 (dirección IP servidor DNS )


Reiniciamos:

#/etc/init.d/bind9 restart


Probamos:

#nslookup

Nos muestra lo siguiente:

> 192.168.70.3
Server: 192.168.70.3
Address: 192.168.70.3#53
3.70.168.192.in-addr.arpa name = ns1.katerine.com.

domingo, 27 de julio de 2008

VIRTUALIZACIÓN = FUTURO

La virtualización existe hace aproximadamente 30 años, pero solo en los últimos años grandes empresas comenzaron a poner sus ojos en ella y han empezado a usarla en sus servidores. Todo esto gracias a que grandes jugadores como VMware la hicieron accesible a los centros de computo de la mayoría de las compañías de hoy, ya no es necesario ser una corporación gigante y operar con costosos mainframes. Virtualización es básicamente alojar varios y/o distintos sistemas operativos en un mismo servidor y que corran al mismo tiempo como si estuvieran en servidores independientes, reduciendo costos, recursos y espacio.

VENTAJAS:

Reducción de costos. Al reducir el número de servidores físicos se reduce la energía y el costo del enfriamiento sin mencionar el costo en si de los servidores

Reducción del trabajo administrativo. A menos servidores menos soporte técnico

Optimización del hardware. En promedio los servidores en los centros de cómputo se usan en un 10 a 15%, esta tecnología permite incrementar el uso del poder de procesamiento en mas de 80% optimizando de esta forma el uso de servidores

Facilidad de instalación de software. La tendencia es a que muchos de las aplicaciones necesarias para la puesta en marcha de los servidores lleguen preinstalados y listos para trabajar

Puedes tener varios sistemas operativos abiertos al mismo tiempo.

Ofrecen seguridad. Nada de lo que hagamos en una máquina virtual afectará a otra o al sistema anfitrión.

Es el entorno ideal para probar software peligroso, ya que sabemos que nada de lo que ocurra en ella afectará al resto.

Una máquina virtual puede ser trasladada a otra plataforma de manera prácticamente inmediata

DESVENTAJAS:

Los expertos lo llaman único punto de falla, y es el tener varios servidores virtuales en un solo servidor físico. Cualquier fallo en el servidor físico aumenta sustancialmente el riesgo de tener varios servidores virtuales sin operar al mismo tiempo

Consume muchos recursos del computador (memoria)

Se requiere un computador potente

El costo: el software VMware cuesta $300 por licencia. Lo cual puede ser mucho para un aficionado, o para un estudiante

Personalmente creo que el futuro de la informática está en la virtualización, cuántas veces has dejado de instalar algunas aplicaciones por no saturar el PC o por no crear conflicto con otras aplicaciones? Con una máquina virtual, ya no sucederá mas, las empresas se darán cuenta del gran ahorro que esto representara, a pesar de tener que pagar por el costo de las licencias y de la efectividad al migrar a esta revolucionaria tecnología.