lunes, 1 de octubre de 2012

SERVIDOR HTTP

WEB


La industria del servicio Web hosting se hace muy compleja para la mayoría de los Web masters, especialmente para aquellos que no están familiarizados con términos cruciales. Uno de los conceptos más básicos en Web hosting es el de “servidor”. Los servidores Web son los que hacen posible el Web hosting, es decir, la posibilidad de alquilar un espacio en un servidor para alojar nuestro sitio.


FUNCIÓN 

Cada servidor Web y cada computadora conectada a Internet tiene asignado una dirección de IP irrepetible que lo identifica en la red incluyendo la PC que tenés en tu casa. La dirección de IP vendría a ser como los datos del remitente en una carta postal. Cuando llegas a un sitio Web, se envía un pedido desde tu dirección de IP hacia la dirección IP del servidor. El servidor Web responde mandando datos a la dirección IP que los pide. Esto es lo que pasa cada vez que estamos navegando en un sitio en Internet.

El servicio http trabaja por el puerto 80. Donde encontramos el puerto 8080 que es el puerto alternativo y el 443 que es el puerto usado para conexiones seguras.














GLOSARIO

  • Contexto de Configuracion del Servidor: -Las directivas pueden aparecer en cualquier archivo de configuración fuera de cualquier contenedor.  -Tienen un alcance global. -Archivos Comunes: httpd.conf, apache2.conf.
  • Contexto del Contenedor: -Los contenedores se usan para limitar el alcance de una directiva.  -<VirtualHost>  </VirtualHost> se utiliza para aplicar una o mas directivas. -<Directory> </Directory> se utiliza para aplicar directivas a un directorio determinado.  -<Location> </Location> se utiliza para aplicar una o mas directivas a una URL determinada.   
NOTA: existen mas contenedores pero estos son los mas utilizados.

                                         Ejemplo:
                                                  <VirtualHost (direccion IP)>
                                                   ServerName www.midominio.com
                                                    DocumentRoot /var/www/html/midominio
                                                    DirectoryIndex midominio.html
                                                    <Location/Secured>
                                                    DirectoryIndex login.html
                                                    </Location>
                                                    </VirtualHost>


  • Regla en el Uso de Contenedores: -Un contenedor <VirtualHost> no se puede anidar con otro del mismo tipo. -Los contenedores <Location> y <Directory> no se pueden mezclar ni utilizar uno dentro del otro.
  • DocumentRoot: Es el directorio raiz para los archivos del sitio web. Cada host virtual definido dentro de los contenedores <VirtualHost> debe tener esta directiva para indicar la ruta donde se encuentran los archivos del sitio. Por defecto se utiliza el directorio /var/www/html.
  • Listen: Usada para especificar el puerto a traves del cual escuchara apache las peticiones de los clientes web. Por ejemplo: 
Listen 80 //Puerto http por defecto
                                                    Listen 8080 //http alternativo
                                                    Listen 443 //http seguro


  • User: -Esta directiva se usa para configurar el ID del usuario del sistema que se utilizara para ejecutar los procesos del apache.

  • Group: -Esta directiva se usa para configurar el ID del grupo del sistema que se utilizara para ejecutar los procesos del apache.

  • Options: Esta directiva controla las propiedades del servidor disponibles para un directorio en particular. Los valores son los siguientes:
                                                     -None: Sin opciones 
                                                      -All: Todas las opciones
 
                 -Indexes: si se solicita la URL de un directorio y este carece de un            DirectoryIndex, entonces el servidor muestra una lista con el contenido de dicha carpeta.


  • ServerAdmin: -Esta directiva especifica la dirección de correo electrónico que el servidor incluye para los mensajes de error.

  • ServerName: -Esta directiva es la encargada de definir el nombre del servidor. -Asegurese de ingresar un nombre de dominio completamente cualificado (FQDN). -Tenga en cuenta que para cada host virtual debe especificar un ServerName.

  • ServerRoot: -Se usa para definir el directorio en el que se encuentran los archivos de confgiuracion del servidor, osea en /etc/httpd.

  • ServerAlias: -Cuando tenga que referice a un servidor que tiene varios nombres puede utilizar ServerAlias para definir un sobrenombre para el mismo ServerName.

  • Errorlog: -Nombre del archivo de registro donde se guardaran los mensajes de error que genera el servidor.

  • DirectoryIndex: -Especifica las paginas principales para un sitio. Ejemplo: Index.php Index.html.

  •  HostVirtual: Utilizar el mismo servidor web  para diferentes paginas web:
                                                      -Ventajas:
                                                         Mas fácil de manejar.
                                                         Un único archivo de configuración.
                                                         Una actualización de hardware beneficia todos los sitios web.

-Tener servidor dedicado por cada sitio web puede aumentar el rendimiento del sitio, ya que el flujo de datos solo llega a esa tarjeta de red donde esta alojado el sitio web.

-En cambio el servidor compartido, son varios sitios web en una sola tarjeta de red, pues el trafico de red en esa será mucho peor que en un servidor dedicado.






PASOS PARA EL MONTAJE DE UN SERVIDOR HTTP 


Para empezar a montar el servidor http, debemos descargar el paquete de instalación con el siguiente comando.

yum install httpd 



Al descargar el servicio http se nos descargan una seria de archivos que nos servirán para montar nuestro servicio.
Una vez instalado el servicio, procedemos abrir una maquina windows, configurar en la misma red y en el buscador digitar la URL (http://"dirección del servidor web". Se despliega un resultado como el de la imagen, este resultado es la configuración por defecto que trae el servidor httpd.




 


Por defecto el directorio raíz del Apache en CentOs es /var/www/html y el archivo de configuración /etc/httpd/conf/httpd.conf. Configuraciones adicionales se almacenan en los subdirectorios de /etc/httpd available (para los módulos).

En la siguiente imagen se pueden observar los directorios donde de alojan los archivos de configuración principal. 









Para editar el fichero de configuracion por defecto de httpd se debe acceder al siguiente ruta:


nano /etc/httpd/conf/httpd.conf.



Allí encontraremos una serie de lineas que nos servirán en la configuración de nuestro servidor, las mas básicas son:



ServerRoot:





Listen:


    

ServerAdmin:



ServerName:



DocumentRoot: 



NOTA: Estas lineas se encuentran en el fichero httpd.conf. y la definición de cada una de ellas ya fue hecha en el glosario.



Las lineas que acabo de colocar son las lineas que posiblemente tengas que modificar para hacer un montaje de una pagina web. A continuación voy a explicar como realizar virtualizacion, para esto vamos al final del archivo (httpd.conf) y configuraremos lo siguiente:


En esta linea especificamos la dirección ip por la cual va a salir nuestra pagina web, la ruta en la cual se va alojar nuestro archivo de configuración de la pagina, el nombre de nuestro archivo de configuración de nuestra pagina web.

 
Teniendo esta configuración básica, podemos prender nuestro servicio y probar el funcionamiento de nuestra de este por medio de un cliente, en mi caso utilizara Windows server R2.



Como lo podemos ver nuestra pagina esta funcionando.

Si es el caso y nos piden en el ejercicio realizar autentificacion a las lineas de la virtualizacion de le agregarían las siguientes:



En la imagen de muestra la autentificacion:



Y llega el caso de que nos pidan en el ejercicio denegar el acceso a la pagina a una dirección ip en especifico o a varias. Debemos de agregar lo siguiente:


En la imagen se muestra la denegación:


Esto es todo lo que debemos llevar a cabo para la configuración de nuestro servicio.



POSIBLES ERRORES


  • los mas comunes son los errores de sintaxis, que se pueden presentar en la configuración del archivo principal del servicio.  


  • Tener en cuenta el estado de la interfaces, ya que cuando estamos configuran la virtualizacion por ip en el servidor web, cada virtual host debe tener una interfaz habilitada.  
  • Al tratar de abrir nuestra pagina web desde un equipo cliente, un error común es que nos abra la pagina por defecto que tiene configurada apache. Para corregir este error debemos de entrar a la ruta: /etc/httpd/conf.d/welcome.conf, en este archivo lo que haremos sera comentar todo su contenido como lo muestra la imagen.



1 comentario: