domingo, 16 de septiembre de 2012

SERVICIO HTTP





RESUMEN SERVICIO HTTP


QUE ES UN SERVIDOR WEB

Es aquel servidor que atiende la solicitud de petición de una página solicitada por el navegador web, localizando entonces el fichero correspondiente a  dicha pagina para enviársela al navegador y este se la muestre al usuario.
El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una página web o información de todo tipo de acuerdo a los comandos solicitados.

SERVIDOR APACHE EN LINUX


APACHE servidor web estable, confiable, es personalizable, la arquitectura modular de Apache permite construir un servidor hecho a la medida. Además permite la implementación de los últimos y más nuevos protocolos.
En cuanto a la administración los archivos de configuración de Apache están en ASCII, por lo que tiene un formato simple, y pueden ser editados tan solo con un editor de texto. Estos son transferibles, lo que permite la clonación efectiva de un servidor. El servidor puede ser administrado vía línea de comandos, lo que hace la administración remota muy conveniente.

Este corre rápido y consume menos recursos de sistema en comparación a otros servidores. Además, Apache corre en una amplia variedad de sistemas operativos, incluyendo varias versiones de UNIX, Windows9x/NT, MacOS (Sobre Power PC), y varios otros.

Se instala con el comando:
CentOS
Yum Install apache 2
Debian
Apt-get  install apache 2

FICHEROS DE CONFIGURACIÓN

Archivo de configuración global del servidor:
etc/apache2/apache2.conf
Directivas: Opción configurable del servidor web apache
Contenedor: Limitan el alcance de una directiva
Pareja de etiqueta que agrupan las directivas
<virtualhost…>…</virtualhost>se utiliza para aplicar una o mas directiva s al sitio web.

Ejemplo
<virtualhost  206.171.50.50> (CONTEXTO SEVRIDOR VIRTUAL)
serverName www.diana.com (DIRECTIVA)
<location /secured> (CONTEXTO LOCATION)
Directoryindex   login.html (PAGINA WEB)
<directory..>…</directory>aplicar directrices a un detemrinaod directorio.Las directivas se aplicaran a todos los subdirectorios.
 <location…>…</location>Aplicar una o mas directivas auna URL determianda
Archivo: /etc/apache2/site-svailable/default
Principales directivas
AccessFileName
Especifica el nombre del archivo de control por directorio
htaccess, archivo  que apache busca cuando el cliente hace la solicitud.
Documentroot:Directorio raíz para el sitio web, lugar donde se almacena lo de la pagina web
/var/www   (RUTA DEL DOCUMENTROOT DEL SERVIDOR)
Include: Incluir  otros archivos de configuración aparte de los propios
Listen: Puerto por el cual apache escucha las peticiones de los clientes
Puerto por defecto
Listen 80
Puerto alternativo
Listen 8080
Puerto modo seguro (HTTPS)
Listen 443
User: ID del usuario administrador del servidor web
Group:ID del grupo administrador del servidor web
Options: Controla  las propiedades del servidor disponible para un directorio en particular.
Los valores posibles son los siguientes.
None:Sin opciones
All:Todas
ExeccCGI:
Indexes:
FollowSymlinks:
Includes:
Server admin: Dirección de correo del servidor  para los mensajes de error (Puede ser la de WEBMASTER)
ServerName: Nombre del servidor (ingresar un FQDN completo)
Para cada host virtual se debe especificar un ServerName
ServerRoot:Directorio ne el que se encuentra los archivos de configuración del servidor.Carga el archivo de configuración.
ServerAlias:Sobrenombre para el sevridor m en caso de que este tenga varios nombres.
ErrorLog: nombre del archivo de registro donde se guardan los mensajes de error que genera el servidor.
DirectoryIndex: Página por defecto.
AllowOverride:
Permite crear archivos .htaccess con directivas apache en diferentes carpetas. Se cargarán de forma dinámica.


Order: Order
     Controla el sistema de evaluación que utiliza apache con las directivas allow y deny (Usadas para permitir o denegar hosts)
     Ejemplo
<Directory /var/www>
     Order deny,allow
     deny from myboss.londonetwok.net
     allow from all
</Directory>
Más archivos de configuración del servidor
Directorio conf.d:Todos los archivos de este directorio son incluidos en el fichero Apache2.conf
Httpd.conf:Fichero vacío
Magic:Transferir ficheros de determianods tipos :mod_mime_magic.
Ports.conf:Indicar los puertos de escucha

mods-available: Directorio con ficheros para cargar módulos de apache. Por cada módulo hay dos ficheros:
.load: Directivas de apache encargadas de cargar el módulo correspondiente
.conf: fichero de configuración del módulo de apache
mods-enabled: Enlaces simbólicos a losmódulos que se quieren activar en apache
(ficheros .load)
sites-available: contiene configuraciones de diferentes sitios web.

sites-enabled: Funcionamiento similar a mmods-enable. Enlaces simbólicos a los sitios que se desean activar en el directorio sites avaliable

SOPORTE SSL
Un certificado SSL sirve para brindar seguridad al visitante de su página web, una manera de decirles a sus clientes que el sitio es auténtico, real y confiable para ingresar datos personales. Las siglas SSL responden a los términos en inglés (Secure Socket Layer), el cual es un protocolo de seguridad que hace que sus datos viajen de manera íntegra y segura, es decir, la transmisión de los datos entre un servidor y usuario web, y en retroalimentación, es totalmente cifrada o encriptada. El que los datos viajen cifrados, nos referimos a que se emplean algoritmos matemáticos y un sistema de claves que sólo son identificados entre la persona que navega y el servidor. Al tener un certificado SSL confiable, nuestros datos están encriptados, en ese momento podemos asegurar que nadie puede leer su contenido.
Crea un certificado en /etc/apache2/ssl/apache.pem. (Codificado
MIME base 64).
Usa el puerto 443.
Activar SSL en algún sitio web usando las directivas del módulo SSL:
SSLEngine on
SSLCertificateFile <fichero.pem>
SSLCertificateKeyFile <fichero.pem>
Cambiar el puerto del sitio web:
<VirtualHost *:443>

Servidores o hostings virtuales
Alojar varios sitios web en una misma máquina.
Se pueden basar en IPS o en nombres.
Directiva NameVirtualHost, consigue que seactive el alojamiento virtual basado en nombre en la IP y puerto especificado:
NameVirtualHost *:80
NameVirtualHost 192.168.0.2:8080
Para responder cada petición basada en un nombre es necesario:
Bloques <virtualhost x.x.x.x:x>...</virtualhost>
 En el interior del bloque usar las directivas:
ServerName: Nombre al que responder
ServerAlias: Nombres alternativos
DocumentRoot: Raiz del WEB
CustomLog
Errorlog
A continuación se muestra la configuración del servidor Web virtual basado en IP:
Listen 80

<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>

A continuación se muestra la configuración del servidor Web virtual basado en nombres:
Ejecución de varios sitios web basados en nombres en una única dirección IP.
El asterisco indica que * usará todas las direcciones que tenga el servidor

NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>


En este caso suponemos que el servidor tiene más de una dirección IP y usaremos la dirección 172.20.30.50 compartida por los sitios

Ejemplo 2:
       Listen 80

# This is the other address
NameVirtualHost 172.20.30.50

<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName
www.example1.com
      
</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example2.org
...
</VirtualHost>

       Sirviendo el mismo contenido en diferentes direcciones IP

NameVirtualHost 192.168.1.1
NameVirtualHost 172.20.30.40

<VirtualHost 192.168.1.1 172.20.30.40>
DocumentRoot  /var/www/server1
ServerName server.example.com
ServerAlias example.com
</VirtualHost>

Corriendo diferentes sitios en diferentes puertos
        
      Listen 80
Listen 8080

NameVirtualHost 172.20.30.40:80
NameVirtualHost 172.20.30.40:8080

<VirtualHost 172.20.30.40:80>
ServerName www.example1.com
DocumentRoot /www/domain-80
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
ServerName www.example1.com
DocumentRoot /www/domain-8080
</VirtualHost>

<VirtualHost 172.20.30.40:80>
ServerName www.example2.org
DocumentRoot /www/otherdomain-80
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
ServerName www.example2.org
DocumentRoot /www/otherdomain-8080
</VirtualHost>

Hosting virtual basado en nombres y en  ips (combinado)
Listen 80

NameVirtualHost 172.20.30.40

<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>

<VirtualHost 172.20.30.40>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>

# IP-based
<VirtualHost 172.20.30.50>
DocumentRoot /www/example4
ServerName www.example4.edu
</VirtualHost>

<VirtualHost 172.20.30.60>
DocumentRoot /www/example5
ServerName www.example5.gov
</VirtualHost>

SERVIDOR WEB EN MICROSOFT



INTERNET INFORMATION SERVER



Permite ta,bién concevrti la máquina a un servidor FTP.
Incluye una interfaz HTML de administración para poder conseguir ISS de manera remota con cualquier navegador
Localhots: Acceder al mismo servidor desde el navegador.

Donde residen los archivos:
Consola de administración: Para configurar  la información de la página web.
Correspondecnia de la URL con el sistema de ficheros.
http://, protocolo o lenguaje utilizado para la comunicación entre el solicitante y el sevridor.
www.diana.es, nombre del encabezado del host. En caso de no haber nombre se reemplaza por una ip.

/estudiantes/acceso/info.asp:Ruta del fichero
El sitio web predertimando es c:/Inetpub/wwwroot
Pestaña documentos:Sólo se encuentra presente cuando el elemnto sellecioando sea un directorio.
Pestaña errores persolanilazods:
Cada vez que el sevridor no ecnutra la pagina le envía otra pagina al usuario diciéndole que erroe al cragar la página, produciendo ais un error 404 y cuando el usuario no tiene privilegios  para acceder a la página solicitada  se producirá el 401.
Los archivos de errores se almacena en c:/WinNT/help/iishelp/common

Pestaña web: Se diferencian tres áreas diferentes: identificación del sitio web, conexiones con el servidor y registro de la actividad del servidor.
Pestaña rendimiento: Indica el rango de valor se moverá de visitantes por día que tendrá el sitio.
Pestaña operadores:
Se define que usuarios o grupos del S.O. podrán administrar  el sitio web.
Control de acceso:
Autenticación y diligenciar formulario para ingresar a la página.



SERVIDOR  HTTP EN CENTOS







Se busca el paquete del servicio httpd en la máquina
Yum search httpd

 Se instala el software o servicio httpd, con el comando
Yum install httpd




ARCHIVO DE CONFIGURACIÓN GLOBAL DEL HTTPD
/etc/httpd/conf/httpd.conf

PARÁMETRO PUERTO:

Se configura el puerto por el cual el sevridor va a escuchar las peticiones del cliente:Se pueden configurar tres puertos diferentes:

PUERTO POR DEFECTO=80
PUERTO ALTERNATIVO=80:80
PUERTO SEGURO (HTTPS)=443-TRABAJA CON EL MÓDULO SSL (CERTIFICACIÓN DE LA ENCRIPTACIÓN DE LOS DATOS, ES DECIR LA COMUNICACIÓN, LOS DATOS SE MANDAN CIOFRADOS).



PARÁMETRO DEL NAME SERVER

Se configura el FQDN, (dirección de la página), en caso de trabajar con DNS, sino  se tiene configurado y corriendo el servicio DNS, ingreso la dirección IP de la máquina y el puerto por el cual escuchara las peticiones de solicitud de página del cliente.




PARÁMETRO DEL DOCUMENTROOT
Lugar donde se almacena la información del sitio o la página web: su contenido






Dentro de la anterior ruta, se encuentra un archivo llamado index.html, si dicho archivo no está se procede entonces a crearlo, hay se configurara la página web ingresado lenguaje de programación HTML o PHP.





 Al temrinar de configurar lo anterior se procede a inciar el servicio con el comando:

service httpd start

para detener, ver el estado actual del servicio y reinicializarlo, se ejecutan lso siguientes comandos respectivamente:

service httpd stop
service httpd status
servic hhtpd restart






SERVICIO  HHTP EN DEBIAN


SOFTWARE A UTILIZAR  APACHE2



Se instala el servicio con el comando

Apt-get install apache2

ARCHIVO DE CONFIGURACIÓN GLOBAL DE APACHE2
/etc/apache2/apache2.conf



Este archivo contiene varias rutas de archivos a otros archivos de configuración avanzada, o a los archivos dodne se almacenan las repuesta de erores que elsevridor omite, al no encontrar la página solicitada por el cliente.


PARÁMETRO DE SERVERNAME

En debian la linea del ServerName no está incluida en el archivo de configuración global /etc/apache2/apache2.conf, por tanto debe de ser ingresada manualmente así, en la ultima línea de dicho archivo.



Ingreso a la ruta /var/www/index.html, para configurar la página o el sitio web.Por defecto Debian ya trae el archivo creado con algunos comandos.


Inicio el servicio con el comando

service apache2 start

para detener, ver el estado actual del servicio y reinicializarlo, se ejecutan lso siguientes comandos respectivamente:

service apache2 stop
service apache2 status
service apache2  restart





No hay comentarios:

Publicar un comentario