<!-- 36 -->
<p>Para el manejo de caché en Apache, debemos seguir los siguientes pasos:</p>
<p>1.- Habilitar los módulos de caché de Apache.</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo chown -R www-data:www-data /var/cache/apache2/mod_cache_disk
sudo chmod -R 755 /var/cache/apache2/mod_cache_disk
sudo apt-get install apache2-utils
sudo a2enmod expires
sudo a2enmod cache
sudo a2enmod cache_disk
sudo a2enmod headers
sudo systemctl restart apache2
</code></pre>

<p>2.- Configurar el caché en el disco: <br> Debemos movernos a la ruta donde están los archivos de configuración:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>cd /etc/apache2/sites-available/</code></pre>

<p>3.- Modificar el archivo de configuración del sitio, por ejemplo:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo nano ejemplo.com.conf</code></pre>

<p>4.- Una vez en el modo de edición, veremos probablemente la configuración básica como esta:</p>
<pre>
<code>Listen 8084

&lt;VirtualHost *:8084&gt;
	ServerAdmin tu-email@email.com
	ServerName ejemplo.com
	ServerAlias ejemplo.com
	DocumentRoot &sol;var&sol;www&sol;ejemplo.com

	WSGIDaemonProcess app-ejemplo user=www-data group=www-data threads=6 python-home=&sol;var&sol;www&sol;ejemplo.com&sol;.venv
	WSGIScriptAlias &sol; &sol;var&sol;www&sol;ejemplo.com&sol;ejemplo.com.wsgi

	# dentro de tu proyecto debe existir la carpeta log para que dentro de esa se almacenen los logs
	ErrorLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;error.log
	CustomLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;access.log combined

	&lt;Directory &sol;var&sol;www&sol;ejemplo.com&gt;
		WSGIProcessGroup app-ejemplo
		WSGIApplicationGroup %{GLOBAL}
		#Order deny,allow
		Require all granted
	&lt;&sol;Directory&gt;

&lt;&sol;VirtualHost&gt;
</code></pre>

<p>Dentro de la configuración, de preferencia después del cierre del tag &lt;&sol;Directory&gt;, agregaremos la
	siguiente información:</p>

<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true"># Habilitar caché para todas las solicitudes
CacheEnable disk &sol;
	
# Configuración de caché
&lt;IfModule mod_cache_disk.c&gt;
	CacheRoot &sol;var&sol;cache&sol;apache2&sol;mod_cache_disk
	CacheDirLevels 2
	CacheDirLength 1
	# [bytes] Tamaño máximo de archivo a almacenar en caché
	CacheMaxFileSize 1000000
	# CacheMinFileSize bytes
	CacheMinFileSize 1
	CacheIgnoreHeaders Set-Cookie
	CacheIgnoreNoLastMod On
		
	&lt;FilesMatch "\.(jpg|jpeg|png|gif|css|js)$"&gt;
		# Indica si el caché está funcionando
		Header set X-Cache "HIT from Apache"
		# Expiración por defecto (1 hora)
		CacheDefaultExpire 3600
		# Expiración máxima (1 día)
		CacheMaxExpire 86400
		CacheLastModifiedFactor 0.5
	&lt;&sol;FilesMatch&gt;
&lt;&sol;IfModule&gt;
	
</code></pre>

<p>5.- El nuevo archivo de configuración debería de verse como el siguiente:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true">Listen 8084

&lt;VirtualHost *:8084&gt;
	ServerAdmin tu-email@email.com
	ServerName ejemplo.com
	ServerAlias ejemplo.com
	DocumentRoot &sol;var&sol;www&sol;ejemplo.com
	
	WSGIDaemonProcess app-ejemplo user=www-data group=www-data threads=6 python-home=&sol;var&sol;www&sol;ejemplo.com&sol;.venv
	WSGIScriptAlias &sol; &sol;var&sol;www&sol;ejemplo.com&sol;ejemplo.com.wsgi
	
	# dentro de tu proyecto debe existir la carpeta log para que dentro de esa se almacenen los logs
	ErrorLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;error.log
	CustomLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;access.log combined
	
	&lt;Directory &sol;var&sol;www&sol;ejemplo.com&gt;
		WSGIProcessGroup app-ejemplo
		WSGIApplicationGroup %{GLOBAL}
		#Order deny,allow
		Require all granted
	&lt;&sol;Directory&gt;

	# INICIO MANEJO CACHE APACHE
	# Habilitar caché para todas las solicitudes
	CacheEnable disk &sol;
		
	# Configuración de caché
	&lt;IfModule mod_cache_disk.c&gt;
		CacheRoot &sol;var&sol;cache&sol;apache2&sol;mod_cache_disk
		CacheDirLevels 2
		CacheDirLength 1
		# [bytes] Tamaño máximo de archivo a almacenar en caché
		CacheMaxFileSize 1000000
		# CacheMinFileSize bytes
		CacheMinFileSize 1
		CacheIgnoreHeaders Set-Cookie
		CacheIgnoreNoLastMod On
		
		# archivos en especifico:
		&lt;FilesMatch "\.(jpg|jpeg|png|gif|css|js)$"&gt;
			# Indica si el caché está funcionando
			Header set X-Cache "HIT from Apache"
			# Expiración por defecto (1 hora)
			CacheDefaultExpire 3600
			# Expiración máxima (1 día)
			CacheMaxExpire 86400
			CacheLastModifiedFactor 0.5
		&lt;&sol;FilesMatch&gt;
	&lt;&sol;IfModule&gt;
	# FINAL MANEJO CACHE APACHE

&lt;&sol;VirtualHost&gt;

</code></pre>

<p>6.- Para aplicar los cambios realizados en el archivo de configuración, debemos recargar Apache:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo systemctl reload apache2</code></pre>