Antes de instalar todas las herramientas recuerda que siempre es muy importante actualizar el sistema operativo, para ello ejecuta los siguientes comandos:

{% set i %}sudo apt update && sudo apt upgrade -y{% endset %} {% with codigo=i.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Apache Server es un software que nos ayudará a manejar todos los sitios web de nuestros servidores, en mi caso integro Apache con ambientes virtuales de Python 3 y Flask, pero para esta nota lo unico que te enseñaré será a instalarlo. Una vez abierta tu terminal ya sea en Ubuntu o en WLS, debes seguir los siguientes pasos:

1.- Instalar el servidor de Apache que es la herramienta principal para hacer el hosting y manejo de peticiones por sitio web:

{% set ii %}sudo apt install apache2 -y{% endset %} {% with codigo=ii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

2.- Para poder integrar Python 3 (Flask) con Apache vamos a necesitar instalar el módulo WSGI de Apache para Python 3.

{% set iii %}sudo apt-get install libapache2-mod-wsgi-py3 -y{% endset %} {% with codigo=iii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

3.- Habilitar el módulo WSGI el cual es muy importante para poder leer los archivos de la aplicación de Flask:

{% set iii %}sudo a2enmod wsgi{% endset %} {% with codigo=iii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

4.- Habilitar y activar Uncomplicated Firewall (UFW). UFW es una interfaz de usuario para iptables y está diseñado para simplificar el proceso de administración de firewalls, haciendo más accesible la configuración de reglas de firewall para los usuarios.

{% set iv %}sudo ufw enable{% endset %} {% with codigo=iv.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

5.- Hábilitar el puerto 80 del equipo para el tráfico de datos y poder acceder al sitio web desde otros equipos (NO ES LO MISMO HABILITAR EL PUERTO 80 DEL EQUIPO QUE DEL ISP O ROUTER).

{% set v %}sudo ufw allow 80{% endset %} {% with codigo=v.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

6.- Una vez instalado el Apache Server (paso 1) podemos saber si esta activo el servidor ejecutando el comando:

{% set vi %}sudo service apache2 status{% endset %} {% with codigo=vi.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

6.1.- En caso de que la consola te de la respuesta "apache2 is not running":

Lo que debes de hacer es levantar el servicio ejecutando el comando:

{% set vii %}sudo service apache2 start{% endset %} {% with codigo=vii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Una vez que el servicio este activo:

Debemos conocer la ip del equipo, para ello ejecutamos el comando:

{% set viii %}ifconfig{% endset %} {% with codigo=viii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Del comando anterior tenemos que la ip de la interfaz "eth0", en la red local "inet" es la 172.30.29.141, por lo tanto en tu navegador web ingresaras la ip y podras ver que tu servidor apache ya esta operando y listo para ser modificado con tu sitio de interes.

Otros comando básico sobre el servicio de apache:

Reiniciar el sistema:

{% set ix %}sudo service apache2 restart{% endset %} {% with codigo=ix.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Detener el servicio:

{% set x %}sudo service apache2 stop{% endset %} {% with codigo=x.strip() %}{% include 'components/copy-code.html' %}{% endwith %}