Skip to content

Diseño modular

Un diseño modular de software hace que tengamos un núcleo central y una serie de módulos que se pueden cargar para aumentar la funcionalidad. Así tenemos solo software cargado que vamos a utilizar, esto reduce la necesidad de recursos (menos espacio en memoria) y aumentar la seguridad (menor superficie de ataque).

En la anterior sección hemos visto como el servidor no puede procesar la web con php. Nos falta el interprete de php en el servidor y la parte que integra apache con php.

Es importante ser consciente de estos dos elementos ya que nos pasará con cualquier lenguaje y con más servicios con los que nos integremos:

  • python - módulo python de apache
  • ruby - módulo ruby de apache
  • etc.

Como veremos más adelante este diseño modular también se aplica a los interpretes de lenguaje, por ejemplo cuando instalemos MySQL como servidor necesitaremos instalar la parte de php que es capaz de hablar con el servidor para que podamos hacer consultas.

Habilitar php

Instalar php7.X y la librería de apache.

apt install php7.X # cambia la X por la versión actuale
apt install libapache2-mod-php

Los módulos de apache comienzan por el nombre: libapache2-mod-XXX.

Tarea

Verifica que la web con php funciona correctamente. ¿Puedes ver el código php? ¿Por qué?

Habilitar ssl

La parte de cifrado TLS también es un módulo de apache

Certificado autofirmado

Tareas:

  • a2enmod ssl
  • a2ensite default
  • Conexión no privada
  • Convertirnos en CA
  • Instalar nuestro certificado en el ordenador
  • Certificar al sitio web

Seguir este tutorial: https://deliciousbrains.com/ssl-certificate-authority-for-local-https-development/