2021-22
Fundamentos de la web
La arquitectura World Wide Web (WWW) de Internet provee un modelo de programación sumamente poderoso y flexible, donde la presentación de los contenidos se hace con formatos estándar.
Internet no es un nuevo tipo de red física, sino un conjunto de tecnologías que permiten interconectar redes muy distintas entre sí. Internet no es dependiente de la máquina ni del sistema operativo utilizado.
Es un método de interconexión general que sea válido para cualquier plataforma, sistema operativo y tipo de red.
La familia de protocolos que se eligieron para permitir que Internet sea una Red de redes es TCP/IP.
MODELO DE REFERENCIA TCP/IP
Permite realizar la transferencia de información entre un cliente web y un servidor web en Internet
Principales métodos (verbos) para peticiones a servidores web
HTTPS permite que la información viaje de forma segura entre el cliente y el servidor
Genéricamente, la arquitectura web es un modelo compuesto de 3 capas:
Está muy ligado al desarrollo de Internet, algunos de estos factores son:
Está muy ligado al desarrollo de Internet, algunos de estos factores son:
A grandes rasgos se dividen en 2 tipos:
Aunque es dificil establecer una clasificación, dentro de la Web 2.0 y en función del contenido que muestra podemos clasificarlas en:
Una aplicación web, o web en general necesita de una estructura que permita su acceso desde diferentes lugares (máquinas). Esta estructura es lo que
se denomina Arquitectura Web (realmente este nombre se da también al diseño de toda la estructura).
La estructura de una Arquitectura Web actual sigue el
siguiente modelo
En términos generales, una plataforma web consta de cuatro componentes básicos:
Más extendidas:
Uno de los requisitos fundamentales de una aplicación web es que sea completamente escalable sin que un aumento de los recursos dedicados a la misma suponga modificación alguna en su comportamiento o capacidades.
Esta puede ser:
¿Por qué ?
Es una de las opciones más extendidas y
la posibilidad de obtener este software de manera gratuita disminuye mucho los costes pero no es la única razón.
Además soporta
¡¡¡Manos a la obra!!!
Introducción a la configuración
Se especifican directivas en archivos de configuración de texto plano (ubicación depende de la distro de Linux).
Introducción a la configuración
en ellos se cargan otros archivos de configuración mediante la directiva
Include (error si no existe el archivo indicado)
IncludeOptional (no produce error si no existe el archivo)
Include ports.conf
IncludeOptional mods-enable/*.conf (* permite carga de múltiples archivos)
Introducción a la configuración - A tener en cuenta
Directiva para que funcione tiene que tener su módulo asociado activo
Introducción a la configuración - Secciones (Directory)
Además de directivas la configuración de Apache puede contener Secciones
Incluyen directivas que se aplican en un contexto concreto
<Directory /var/www/html/configuracion>
Require all denied
</Directory>
Contexto
Petición web acceso directorio
Codigo 403, no sirve contenido de ese directorio
Introducción a la configuración - Secciones (Directory)
Una sección a su vez puede contener más secciones
<Directory /var/www/>
<Files "*.conf">
Require all denied
</Files>
</Directory>
Sección Files dentro de Directory
Petición web acceso directorio
Deniega el acceso a los archivos con extensión .conf dentro de /var/www
Forbidden
Introducción a la configuración - ¡¡¡Importante!!!
Consultar siempre la documentación antes de incluir/modificar directivas/secciones
Comprobando el contexto en el que se puede usar cada directiva/sección
Introducción a la configuración - ¡¡¡Importante!!!
Contextos
Inicio y Parada de Apache
Depende del sistema (al igual que en la instalación)
Compilado manualmente (/opt/apache)
Iniciar apache:
/opt/apache/bin/apachectl -f /opt/apache/conf/httpd.conf -k start
Detener apache:
/opt/apache/bin/apachectl -f /opt/apache/conf/httpd.conf -k stop
Reiniciar apache:
/opt/apache/bin/apachectl -f /opt/apache/conf/httpd.conf -k restart
Inicio y Parada de Apache
Depende del sistema (al igual que en la instalación)
Instalado desde repo
| Iniciar | Detener | Reiniciar |
|---|---|---|
| service apache2 start | service apache2 stop | service apache2 restart |
| apache2ctl start | apache2ctl stop | apache2ctl restart |
| /etc/init.d/apache2 start | /etc/init.d/apache2 stop | /etc/init.d/apache2 restart |
Requieren ejecución como administrador
# sudo su
Escenario de partida
Sistema Operativo: Debian GNU/Linux 6.0
Servidor Web: Apache (apache2)
Configuración de Red:
Servidor Web: 192.168.200.250
Cliente de pruebas (desde donde se lanza el navegador): 192.168.200.100
Ip's privadas requieren
Solo necesitamos copiar nuestros ficheros en la ruta donde queremos el proyecto (Ejemplo: miweb)
/var/www/html/miweb
/var/www/html/miweb/prueba.html
Navegador: http://localhost/miweb/prueba.html
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
¿Qué pasa si queremos servir varias web de dominios distintos y que estén alojadas en un mismo servidor?
Necesitamos crear Hosts Virtuales
<VirtualHost *:80>
ServerName www.midominio.extension
DocumentRoot /var/www/html/miweb
</VirtualHost>
¡¡¡Manos a la obra!!!