<!-- 6 -->
<div class="img zoomable">
  <img src="/static/source_imgs/apache/pst_1/apache.webp" alt="" style="height: 350px; width: auto;">
</div>
<p> Antes de instalar todas las herramientas recuerda que siempre es muy importante actualizar el sistema operativo,
  para ello ejecuta los siguientes comandos: </p>

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

<p> 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: </p>
<p> 1.- Instalar el servidor de Apache que es la herramienta principal para hacer el hosting y manejo de peticiones por
  sitio web: </p>

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

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

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

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

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

<p> 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. </p>

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

<p> 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). </p>

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

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

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

<p> 6.1.- En caso de que la consola te de la respuesta "apache2 is not running": </p>
<div class="img zoomable">
  <img src="/static/source_imgs/apache/pst_1/pst1_a.png" alt="">
</div>
<p> Lo que debes de hacer es levantar el servicio ejecutando el comando: </p>

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

<p> Una vez que el servicio este activo: </p>
<div class="img zoomable">
  <img src="/static/source_imgs/apache/pst_1/pst1_b.png" alt="">
</div>
<p>Debemos conocer la ip del equipo, para ello ejecutamos el comando:</p>

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

<div class="img zoomable">
  <img src="/static/source_imgs/apache/pst_1/pst1_c.png" alt="">
</div>
<p> 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. </p>
<div class="img zoomable">
  <img src="/static/source_imgs/apache/pst_1/pst1_d.png" alt="">
</div>
<p> Otros comando básico sobre el servicio de apache: </p>
<p>Reiniciar el sistema: </p>

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

<p>Detener el servicio:</p>

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