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.
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>
<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>
<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
# 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>
</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>
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>
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>
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
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:
http://localhost/(nombre del
archivo)
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