Está en la página 1de 32

ÍNDICE

1. INTRODUCCIÓN 3
1.1 Objetivos generales 3
1.2 Objetivos Específicos 3

2. MARCO TEÓRICO 3
2.1. Historia 3
2.2. Servidor web 4
2.3. Funcionamiento de los servidores web 4
2.4. Características de un servidor web 5
2.4.1. Necesitan un soporte físico 5
2.4.2. Requieren un sistema operativo 6
2.4.3. Cuentan con un Protocolo de Transferencia de Hipertexto 6
2.4.4. Sirven para la búsqueda de información 7
2.4.5. Alta capacidad 7
2.5. Tipos de servidores web 7
2.5.1. Servidor compartido 8
2.5.2. Servidor dedicado 8
2.5.3. Servidor VPS 9
2.6. Los servidores web más populares 9
2.6.1. Nginx 9
2.6.2.  Apache HTTP 10
Algunas de las características principales de Apache: 11
2.6.3. LiteSpeed 11
Algunas de las características principales de LiteSpeed 12
2.6.4. Servicios de información de internet 12
2.6.5. Cherokee 13
2.7 Ventajas de apache2 13
2.8 Desventajas de apache2 14

3. DESARROLLO 14
3.1 Instalación de un servidor web 14
3.2 Configuracion principal de un servidor web 16

1
3.3 Configuracion de puertos 21
3.4 Usuarios , autenticacion y autorizacion de visitantes al sitio web 23
3.5 Monitorizacion de acceso al servidor web 25
3.6 Implementacion de la peticion https 28

4. CONCLUSIONES 30

5. BIBLIOGRAFÍA 30

6. ANEXOS 31

2
1. INTRODUCCIÓN
Un servidor web es una plataforma computacional muy potente que resguarda datos
para ser consultados por diversos usuarios. Cuenta con un software que entrega la
información solicitada por visitantes o miembros de un grupo de trabajo, a través de un
dispositivo conectado a la red

1.1 Objetivos generales

El objetivo principal de este proyecto es tener una guia completa de como configurar un
servidor web con apache2 y como sistema operativo base utilizaremos ubuntu 22.04

1.2 Objetivos Específicos

● Evaluar y selecionar las herramientas adecuadas que permitan la


implementacion de servicios web
● Detallar los pasos para la configuración de un servidor web utilizando apache
● implementar un dominio en un entorno local y hacer peticiones HTTP y HTTPS
● Detallar conceptos fundamentales sobre el funcionamiento de los servidores
web

2. MARCO TEÓRICO
2.1. Historia

El desarrollo de los servidores web está estrechamente vinculado al físico e informático


británico Tim Berners-Lee, quien en 1989 sugirió que el intercambio de información en
el CERN (Organización Europea para la Investigación Nuclear) debería realizarse a
través de un sistema de hipertexto más fácil y rápido. En 1990, junto con Robert
Cailliau, presentó un proyecto a partir del cual y con el paso del tiempo, junto con el
primer servidor web, llamado “CERN httpd”, también se creó el primer navegador web y
otros elementos básicos de Internet como HTML y HTTP.

3
2.2. Servidor web

El servidor web procesa una aplicación del lado del servidor, realizando conexiones
bidireccionales o unidireccionales y síncronas o asíncronas con el cliente y generando
o cediendo una respuesta en cualquier lenguaje o aplicación del lado del cliente. El
código recibido por el cliente es renderizado por un navegador web. Para la transmisión
de todos estos datos suele utilizarse algún protocolo. Generalmente se usa el
protocolo HTTP.

2.3. Funcionamiento de los servidores web

Un servidor Es un programa especialmente diseñado para transferir datos de


hipertexto, es decir, páginas web con todos sus elementos (textos, widgets, banners,
etc). Estos servidores web utilizan el protocolo http.

Expresa (Cases, 2014) que los servidores web están alojados en un ordenador que
cuenta con conexión a Internet. El web Server, se encuentra a la espera de que algún
navegador le haga alguna petición, como, por ejemplo, acceder a una página web y
responde a la petición, enviando código HTML mediante una transferencia de datos en
red.

Un servidor web recibe peticiones de clientes y responde con el envío de ficheros


solicitados, texto plano (html, php) o binarios (gif, jpeg). Permanentemente escucha las
peticiones de conexión de los clientes en determinados puertos: 80 para HTTP, 443
para el HTTPS.

La atención a la petición del cliente consiste en buscar el archivo solicitado. Si lo


encuentra, lo transmite; sino envía un mensaje de error 404.

La web funciona siguiendo el modelo cliente servidor.

4
Un servidor se encarga de prestar el servicio, y un cliente que es quien recibe dicho
servicio. Es un programa mediante el cual el usuario solicita a un servidor web el envió
de información.

2.4. Características de un servidor web

2.4.1. Necesitan un soporte físico

Los servidores web deben tener un hardware, que es el equipo que resguarda la
información que será transmitida al ser solicitada por los usuarios. Estos soportes
físicos deben tener una amplia capacidad de almacenamiento y suelen ser potentes
equipos computacionales compartidos por diversas empresas y usuarios.

5
2.4.2. Requieren un sistema operativo

Para que la información del hardware pueda ser extraída y direccionada a su destino
final, es esencial tener un software diseñado para llevar a cabo estas tareas. Entre los
sistemas operativos mas frecuentemente utilizados para el servicio cliente-servidor
tenemos los siguientes:

2.4.3. Cuentan con un Protocolo de Transferencia de Hipertexto

También conocido como HTTP. Son instrucciones que permiten la transmisión


de información. Los HTTP establecen la comunicación entre navegadores o
plataformas de búsqueda con las bases de datos de los servidores web.

6
2.4.4. Sirven para la búsqueda de información

Los servidores tienen como objetivo responder de manera oportuna a las solicitudes de
los usuarios de un sistema. Estas herramientas gestionan la respuesta a los comandos
de búsqueda de datos por parte de los clientes, por lo que su objetivo es permitir el
acceso a la información que resguarda.

2.4.5. Alta capacidad

Un servidor web debe ser potente y contar con una gran capacidad de
almacenamiento, ya que aloja diferentes sitios, cuentas e interacciones.

2.5. Tipos de servidores web

2.5.1. Servidor compartido

Estos servidores son los más populares porque almacenan la información que
usualmente consultamos al entrar a un sitio web o al usar nuestros navegadores para
la búsqueda de productos, páginas o datos.

Es utilizado por múltiples clientes. Por ello, este servicio de alojamiento es


comúnmente conocido como Web Hosting.

Para hacer uso del almacenamiento, los clientes pagan diferentes tarifas dependiendo
del espacio que requieran en estos servidores. Este tipo de servidores son los más
adecuados para crear sitios web de empresas pequeñas que sean accesibles a un

7
número considerable de usuarios. Por ejemplo, páginas electrónicas que sirven para
exponer los propósitos e historia de una compañía, o dominios web optimizados para la
venta de mercancías o para la contratación online de servicios.

2.5.2. Servidor dedicado

Este tipo de servidores están dedicados a un único servicio web. En este sentido, el
almacenamiento de la información se lleva a cabo en un espacio exclusivo para la
gestión de los datos.

Si bien estos servidores suelen tener un costo de creación y mantenimiento más


elevado, tienen algunas ventajas pues están optimizados para servir solamente a un
cliente. Los servidores dedicados no se enfrentan a los límites en la velocidad de
transferencia de la información a causa de la demanda de usuarios en otros sitios web
que comparten un mismo servidor.

Este tipo de servidor es de especial utilidad para grandes empresas o corporaciones


que disponen de grandes cantidades de información o que deben proveer datos a un
amplio número de usuarios al mismo tiempo.

2.5.3. Servidor VPS

Los servidores virtuales privados (VPS), son diferentes a los servidores compartidos y
a los servidores dedicados, en cuanto que no funcionan para el acceso libre de
usuarios por medio de navegadores en línea, sino que están restringidos a usuarios
específicos dentro de una empresa, un equipo de trabajo o, incluso, un hogar.

Los VPS ofrecen un servicio de almacenamiento disponible para todos los usuarios
conectados a la red privada del servidor. La ventaja de estas herramientas es que
facilitan la gestión de la información dentro de un grupo específico y limitan el acceso
a usuarios específicos a contenidos reservados.

Las empresas pueden optimizar sus operaciones internas mediante la implementación


de VPS, pues garantizan que la información está segura y pueden distribuirla entre sus
diversas áreas y colaboradores (y nunca sale de la compañía). 

8
2.6. Los servidores web más populares

2.6.1. Nginx

Nginx es un servidor web de alto nivel para manejar visitas simultáneas y múltiples a un
sitio web. Además de ser de código abierto y de tamaño ligero, es compatible con
varios sistemas: Windows, Linux, iOS, entre otros. Cuenta con una versión libre y otra
de pago. 

Nginx es una solución ideal para gestionar sitios web de alto tráfico. Muchos sitios y
aplicaciones web de alta visibilidad, como Netflix o Pinterest, utilizan el servidor web
Nginx.

Algunas de las características principales de Nginx

● Gratuito y de código abierto


● Arquitectura asíncrona basada en eventos
● Alto rendimiento
● Bajo consumo de memoria

9
2.6.2.  Apache HTTP

Es un servidor web de código abierto que tiene la ventaja de estar optimizado para
sistemas UNIX, Microsoft y MacOS, por lo que es muy versátil para los desarrolladores
informáticos. Es el servidor HTTP más usado en todo el mundo y actualmente aloja el
mayor número de sitios web.

Apache es muy flexible y personalizable; sus funcionalidades se pueden activar y


desactivar con facilidad. Ofrece muchos módulos de seguridad, autenticación, caching,
reescritura de URLs, etc.
Además, es compatible con un gran número de aplicaciones: CMS, ERP, frameworks
web.
Algunas de las características principales de Apache:
● Gratuito y de código abierto
● Arquitectura basada en módulos
● Fácil configuración y personalización
● Actualizaciones y parches de seguridad regulares
● Gran comunidad de desarrolladores
● Compatibilidad con IPv6

10
2.6.3. LiteSpeed

Este servidor está enfocado en agilizar la velocidad de carga de las páginas web; para
ello utiliza la tecnología de los protocolos de HTTP/3 y QUIC, al mismo tiempo que
utiliza menos recursos con su arquitectura basada en eventos. Existe la versión de
código abierto y la de pago.

El servidor web LiteSpeed está optimizado para poder atender miles de clientes


simultáneos de forma segura, sin consumir muchos recursos de memoria y CPU. Es
compatible con muchos paneles de control populares —como Plesk y DirectAdmin

Algunas de las características principales de LiteSpeed


● Arquitectura basada en eventos

● Ligero

● Configuración sencilla

● Mantenimiento sin interrupciones

11
2.6.4. Servicios de información de internet

El servidor IIS está diseñado para el sistema operativo de Microsoft, por lo que se
adapta más fácilmente a las herramientas de Windows y su paquetería. Este servicio
tiene la ventaja de permitir que un equipo de cómputo almacene la información de un
sitio web.

2.6.5. Cherokee

Es un servidor web multiplataforma de código abierto, moderno, rápido, liviano y


fácil de usar. Se ejecuta en Linux macOS, Solaris y BSD. Permite transmisión de video,
almacenamiento en caché de contenido, modelado de tráfico, etc.

12
2.7 Ventajas de apache2

Algunas de las ventajas que podemos encontrar en un servidor Apache son las siguientes

● Soporte: Es uno de los servidores más utilizados desde hace más de dos
décadas, por lo que detrás hay una comunidad muy amplia acompañada de una
extensa documentación.
● Multiplataforma: Funciona tanto en Microsoft Windows como en Unix/Linux
y Mac, lo que lo convierte en un servicio excelente tanto para un servidor como
para un entorno de desarrollo en cualquier estación de trabajo.
● Características: Contiene un gran número de módulos oficiales y de terceros
que le permiten ampliar la funcionalidad del servidor.
● Simplicidad: Es uno de los servidores más fáciles de instalar y configurar,
especialmente en las distribuciones de Linux donde forma parte de los
repositorios de cada distribución. En el caso de Windows, se puede encontrar
empaquetado con el servidor MySQL y PHP en un único instalador que facilita
mucho la instalación.
● Seguridad: Apache lleva incorporadas funciones para hacer seguro el software
con módulos de autorización y autentificación y funciones de control de acceso,
así como soporte para la encriptación con certificados SSL/TLS.
● Cuenta con una gran comunidad de desarrolladores de todo el mundo, que
ayudan a mejorar el software, ya que el código fuente original se puede
consultar libremente;
● Es de código abierto y gratuito;
● Estructura basada en módulos;
● Fácil de usar para los principiantes.

2.8 Desventajas de apache2

Las dos desventajas de Apache son

● El rendimiento puede verse afectado en páginas de alto tráfico, especialmente


después de 10.000 conexiones;

13
● Si los módulos no se utilizan correctamente, se pueden crear agujeros de
seguridad.

La única desventaja notable es el bajo rendimiento en comparación con otras


alternativas del mercado que son más rápidas y capaces de manejar mucho más
tráfico con los mismos recursos.

3. DESARROLLO
3.1 Instalación de un servidor web

-Actualizamos los repositorios de ubuntu para instalar la ultima version de apache


$ sudo apt update

-Con el siguiente comando instalamos el servicio de apache2


$ sudo apt install apache2

-Usaremos el perfil altamente restrictivo 'Apache' para habilitar la actividad de red en el puerto 80.
$ sudo ufw allow ‘Apache”

14
-Nos aseguramos que el firewall este inactivo, esto evitara problemas futuros
$ sudo ufw status

- Activamos el servicio de apache y verificamos que este corriendo sin ningun problema
$ sudo systemctl start apache2
$ sudo systemctl statusapache2

-Asta el momento ya deberíamos tener apache funcionando y corriendo en el localhost de la


maquina lo podemos ver poniendo en el navegador http://localhost/ o poniendo la ip de la red
local y debería mostrarles la siguiente pagina por defecto de apache2.

15
3.2 Configuración principal de un servidor web

En la configuración del servidor apache procederemos a darle un dominio y crearemos una sitio
web de prueba para eso hacemos lo siguiente

-nos dirigimos al siguiente archivo


$ cd /etc/apache2
$ ls
luego listamos para ver las archivos y directorios que trae por defecto apache2

apache2.conf -> aqui se encuentran las configuraciones globales de apache2


ports.conf -> puerto de salida de apache
sites-available -> se encuentran todos los sitios habilitados y las configuraciones por defecto
sites-enabled -> sitios habilitados para mostrarse

ahora ingresaremos al directorio sites-available


$cd sites-available
$ls

-Luego crearemos un archivo que sera la configuracion inicial de nuestro sitio web de prueba
$sudo touch mySite.conf
-Luego modificamos el archivo recientemente creado puedes usar cualquier editor de texto yo
usare vim.

16
-En el archivo /var/ww/prueba crearemos el sitio web, para eso usaremos los siguientes
comandos
$sudo mkdir /var/www/prueba
$ cd /var/www/prueba

-ahora estamos en el archivo raíz del sitio web ahora crearemos el sitio de prueba y lo
modificamos en el editor de tu preferencia
$sudo touch index.html
$ sudo vim index.html

17
-Este código se encontrará en nuestro sitio de prueba “index.html”

-luego modificamos el propietario del archivo prueba para que los usuarios locales puedan
acceder a el y luego modificamos los atributos de los ficheros para que se puedan ejecutar en
el navegador

-luego modificamos el host del servidor y enlazamos la ip local al dominio del sitio de prueba
$ sudo vim /etc/hosts

y lo dejamos de la siguiente manera

18
-Lo que faltaría seria activar el sitio web y reiniciar el servicio de apache2, primero nos vamos a
la carpeta de configuración de apache2
$cd /etc/apache2

Luego activamos la configuración del nuevo host creado


$ sudo a2ensite mySite.conf

-Reiniciamos el servicio apache


$ systemctl reload apache2

-Nos dirigimos al navegador y ponemos el siguiente enlace http://prueba.com

19
-ahora si queremos ver el sitio web en un entorno local debemos deshabilitar la configuración
por defecto de apache2
$sudo a2edissite 000-default.conf

-recargamos apache2
$ systemctl reload apache2

después de esto se debería poder ver el sitio web de prueba en los diferentes dispositivos de la
red local

3.3 Configuración de puertos

Para configurar el puerto de salida de apache nos dirigimos al directorio donde se encuentran
todas sus configuraciones globales
$ cd /etc/apache2
luego modificamos el archivo ports.conf para agregarle un nuevo puerto
$ sudo vim ports.conf

20
-Luego agregamos el puerto que deseamos abrir en este caso el puerto 90 que se pone abajo
del puerto 80

AGREGAMOS la linea ->“Listen 90”

-Luego modificamos el archivo de configuración de nuestro sitio de prueba


$ sudo vim /etc/apache2/sites-available/mySite.conf

En la primera línea ponemos el puerto que utilizaremos en este ejemplo seria el puerto 90

21
-Luego ponemos en el navegador “http://192.168.0.17:90/”

3.4 Usuarios , autenticación y autorización de visitantes al sitio web


- Nos vamos al fichero de configuración de nuestro archivo luego creamos una carpeta
“pruebaRes”

-luego creamos un archivo “pruebaRes.html”

-El contenido de pruebaRes.html es el siguiente

-Luego modificamos el archivo de configuracion del sitio web de prueba “ mySite.conf”

22
-Luego creamos al usuario y le damos una contraseña en este caso “estudiante”

-Luego nos dirigimos al navegador y ponemos el siguiente link, nos pedirá usuario y contraseña
que los creamos en el comando anterior

-una vez autenticado nos saldría la pagina restringida

3.5 Monitorización de acceso al servidor web

-instalamos el modulo status

23
-luego modificamos el archivo de configuracion global status.conf

-verificamos que el archivos status.conf se haya creado correctamente

24
En esta imagen podemos ver el estatus server que esta saliendo por la red local, solo faltaria
buscar en el navegador http://192.168.0.17:90/server-status

25
3.6 Implementación de la petición https

-activamos el modulo ssl

-Luego modificamos el archivo de /etc/apache2/sites-available/mySite.conf y agregamos lo


siguiente al final del archivo

26
despues confirmamos que efectivamente en el navegador se agrego el protocolo “https”
al sitio web de prueba

sale en modo warnning por que no se instalaron los certificaciones

27
4. CONCLUSIONES
El desarrollo de nuestro proyecto esta regido por cada uno de los objetivos que nos formulamos
desde el principio, los cuales fueron llevados a la práctica y alcanzados exitosamente.

Como hemos visto antes, Apache es el servidor web con el que trabajan miles de hosts web en
todo el mundo.

Es ideal para las pequeñas y medianas empresas que quieren tener presencia en el mundo
digital. Es muy compatible con WordPress, lo que le permite trabajar de forma sencilla y
ordenada.

Espero que esta guía le haya ayudado a sopesar los pros y los contras para tomar la decisión
correcta para su proyecto

28
5. BIBLIOGRAFÍA

https://www.stackscale.com/es/blog/top-servidores-web/

https://es.wikipedia.org/wiki/Servidor_web

https://www.webempresa.com/hosting/que-es-servidor-web.html

https://blog.hubspot.es/website/que-es-servidor-web

https://www.ionos.es/digitalguide/servidores/know-how/servidor-web-definicion-historia-y-programas/
#:~:text=El%20desarrollo%20de%20los%20servidores,hipertexto%20m%C3%A1s%20f%C3%A1cil%20y%2
0r%C3%A1pido.

https://tododebian.com/apache-activacion-de-la-reescritura-de-urls-y-reglas-con-mod-rewrite

https://www.hostinger.es/tutoriales/como-configurar-mod_rewrite

https://www.stackscale.com/es/blog/top-servidores-web/

https://programmerclick.com/article/39531337626/

https://www.apache.org/

https://www.hostinger.es/tutoriales/que-es-apache/

https://github.com/apache

29
6. ANEXOS

web service mas usados actualmente

30
Crecimiento de los servidores web en los últimos años

31

También podría gustarte