2. Servidor Web
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Mayo, 2020
Loja, Ecuador
4. 4
Servidor Web
Es un software que corre sobre el servidor que escucha las
peticiones HTTP que le llegan y las satisface
Dependiendo del tipo de la petición, el servidor Web buscará
una página Web o bien ejecutará un programa en el servidor.
Siempre devolverá algún tipo de resultado HTML al cliente o
navegador que realizó la petición.
Todas las aplicaciones Web se ejecutarán en él.
5. 5
Servidor Web
Es un sofware que se instala en una máquina y ofrece el
servicio web por el puerto de comunicaciones, por defecto,
80
Su objetivo es proporcionar a los potenciales clientes
(navegadores) una página web – HTML
6. 6
Servidor Web
Servidor de Aplicaciones
Es un software que aparte de ofrecer el mismo servicio que un
servidor web además ofrece la posibilidad de ejecutar aplicaciones.
Ej: Servlets o páginas JSP ́s si se utiliza el lenguaje Java
Un servidor de aplicaciones generalmente gestiona la mayor parte (o
la totalidad) de las funciones de lógica de negociación y de acceso a los
datos de las aplicaciones
7. 7
Servidor Web
Tipos de Servidores Web
https://news.netcraft.com/archives/2018/06/13/june-2018-web-server-survey.html#m
ore-26552
Los informes más seguidos sobre uso de servidores web quizás sean los
de Netcraft ( www.netcraft.com)
8. 8
Servidor Web
Tipos de Servidores Web
Otras fuentes de consultas
www.builtwith.com
https://w3techs.com/
9. 9
Servidor Web
En los tres estudios hay tres servidores web que destacan sobre
el resto: Apache, IIS y nginx.
10. 10
Apache
Es un servidor web HTTP de código abierto, para plataformas
Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y
otras, que implementa el protocolo HTTP/1.12
11. 11
Apache
Presenta mensajes de error altamente configurables, bases
de datos de autenticación y negociado de contenido
Fue criticado por la falta de una interfaz gráfica que ayude en
su configuración
Modular, Open source, Multi-plataforma, Extensible, Popular
(fácil conseguir ayuda y soporte) y gratuito
12. 12
Apache
La arquitectura del servidor Apache es modular. El servidor consta
de un nucleo (core)
Los modulos de la funcionalidad básica incluyen:
mod_ssl: Comunicaciones Seguras vía TLS.
mod_rewrite: reescritura de direcciones servidas (generalmente
utilizado para transformar páginas dinámicas como php en
páginas estáticas html para así engañar a los navegantes o a los
motores de búsqueda en cuanto a como fueron desarrolladas
estas páginas).
mod_dav:Soporte del protocolo WebDAV (RFC 2518).
13. 13
Apache
La arquitectura del servidor Apache es modular. El servidor consta
de un nucleo (core)
Los modulos de la funcionalidad básica incluyen:
mod_deflate: Compresión transparente con el algoritmo deflate
del contenido enviado al cliente.
mod_auth_ldap: Permite autentificar usuarios contra un servidor
LDAP.
mod_proxy_ajp: Conector para enlazar con el servidor Jakarta
Tomcat de páginas dinámicas en Java (servlets y JSP).
14. 14
Apache
El servidor de base puede ser extendido con la inclusión de
módulos externos entre los cuales se encuentran:
mod_perl: Páginas dinámicas en Perl.
mod_php: Páginas dinámicas en PHP.
mod_python: Páginas dinámicas en Python.
mod_ruby: Páginas dinámicas en Ruby.
mod_mono: Páginas dinámicas en Mono
mod_security: Filtrado a nivel de aplicación, para seguridad
15. 15
Apache
Instalar Apache
sudo apt -get update
sudo apt -get install apache2
Verifica si se instaló correctamen
Abrimos un navegador y colocamos en la barra de
navegación localhost
Deberíamos tener algo así:
17. 17
Apache
Se genera el directorio /var/www/html donde se van a
alojar nuestras aplicaciones web
localhost = /var/www/html
Para verificar si está ejecutándose el servicio de apache,
ejecutamos
ps -fea
Buscamos en la lista: /usr/sbin/apache2
18. 18
Lamp Server
Es un grupo de software de código libre que se
instala normalmente en conjunto para habilitar un
servidor para alojar sitios y aplicaciones web
dinámicas
L = sistema operativo Linux
A = servior Apache
M = base de datos MySQL
P = Lenguaje de programación PHP.
19. 19
Lamp Server
Tasksel es una herramienta que hace es instalar
grupos de paquetes(programas, librerias y
archivos) que estan relacionados.
De todas formas se instala facil con un:
sudo apt-get install tasksel
Se ejecuta escribiendo en una consola:
sudo tasksel
20. 20
Lamp Server
Otra forma de usarlo seria directamente con un
comando. Ej: para instalar LAMP en Ubuntu es:
sudo tasksel install lamp-server
21. 21
Xampp
https://www.apachefriends.org/index.html
Utilizada para describir una infraestructura de internet
que usa las siguientes herramientas:
Windows
Apache
MySQL
PHP
Objetivo: Se instalan y configuran a la vez las tres
herramientas. Es más sencilla la instalación del entorno
https://youtu.be/ldGlm5j1oX4
22. 22
Xampp
Se genera el directorio /opt/lampp/htdocs donde se van a alojar
nuestras aplicaciones web
localhost = /opt/lampp/htdocs
23. 23
Xampp
El archivo de configuración principal de
apache es httpd.conf
Listado de todas las directivas del fichero httpd.conf en la
dirección web:
http://httpd.apache.org/docs/2.2/mod/core.html
24. 24
Xampp
Fichero de configuración http.conf
Este fichero contiene distintas directivas que determinan la
configuración de nuestro Servidor. Junto a cada directiva se incluye
un comentario que describe su propósito
Para establecer la configuración del Servidor Apache, sólo es necesario
editar el fichero httpd.conf, modificar las directivas según corresponda y
reiniciar nuevamente el servidor
Una buena práctica a realizar antes de modificar el fichero httpd.conf, es
realizar una copia del mismo y almacenarla con un nombre distinto. De
este modo, restaurando la copia original, podremos volver a levantar el
servidor, ante posibles errores cometidos en la modificación httpd.conf
Para establecer la configuración del Servidor Apache, sólo es necesario
editar el fichero httpd.conf, modificar las directivas según corresponda y
reiniciar nuevamente el servidor
25. 25
Xampp
Para una información más completa, puedes consultar la siguiente
dirección:
http://httpd.apache.org/docs/2.2/mod/core.html
SERVERROOT
Esta directiva establece el directorio en el que vive el servidor.
Normalmente contendrá los subdirectorios de configuración, logs y
error. Por defecto, ServerRoot está configurado al directorio de
instalación de Apache.
ServerRoot "/opt/lampp"
26. 26
Xampp
LISTEN
identifica las direcciones IPs y puertos en los que le servidor Apache
aceptará peticiones. Si sólo se especifica un número de puerto, el
servidor aceptará peticiones entrantes en el puerto especificado para
todos los interfaces de red disponibles. Si se especifica IP y puerto,
el servidor aceptará sólo peticiones en la IP y puerto especificados.
Listen 80
Listen 8000
El servidor aceptará peticiones en los puertos 80 y 8000
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
El servidor aceptará peticiones en los dos interfaces y puertos
especificados.