<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wordpress &#8211; El Cornijal de Linux</title>
	<atom:link href="https://linuxete.duckdns.org/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxete.duckdns.org</link>
	<description>Un blog sobre Linux</description>
	<lastBuildDate>Sat, 11 Jul 2026 08:20:16 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>
	<item>
		<title>Cómo respaldar tu blog de WordPress en Raspberry Pi</title>
		<link>https://linuxete.duckdns.org/como-respaldar-tu-blog-de-wordpress-en-raspberry-pi/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-respaldar-tu-blog-de-wordpress-en-raspberry-pi</link>
					<comments>https://linuxete.duckdns.org/como-respaldar-tu-blog-de-wordpress-en-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sun, 05 Jul 2026 17:38:04 +0000</pubDate>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[backup wordpress]]></category>
		<category><![CDATA[Pila Lamp]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress raspberry pi]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=4145</guid>

					<description><![CDATA[Este blog estaba alojado bajo MX Linux 23.6 (basado en Debian 12). Si no había actualizado aún a Trixie, era porque llevaba esperando desde agosto de 2025 la nueva versión de MX Linux para Raspberry Pi. Pero el destino es caprichoso: justo ahora, cuando me he hartado de esperar y he migrado a Raspberry Pi [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Este blog estaba alojado bajo MX Linux 23.6 (basado en Debian 12). Si no había actualizado aún a Trixie, era porque llevaba esperando desde agosto de 2025 la nueva versión de MX Linux para Raspberry Pi. Pero el destino es caprichoso: justo ahora, cuando me he hartado de esperar y he migrado a <a href="https://linuxete.duckdns.org/como-instalar-raspberry-pi-os-con-xfce4-en-raspberry-pi/">Raspberry Pi OS con escritorio XFCE4</a>, va y sale la tan esperada versión 25. A pesar del lanzamiento, ya no voy a dar marcha atrás; la migración está hecha y, viendo el excelente rendimiento que me está dando XFCE4 en mi placa, creo que me quedaré aquí al menos hasta la próxima versión de Debian.</p>



<p class="wp-block-paragraph">Migrar un blog, especialmente cuando cambias el sistema operativo de base (en este caso, de un entorno Debian 12 a un Raspberry Pi OS basado en Debian 13), es un proyecto sumamente divertido y una oportunidad excelente para aprender.</p>



<p class="wp-block-paragraph">El proceso es bastante sencillo si se siguen los pasos adecuados. Básicamente, consiste en empaquetar el blog (tanto los archivos como la base de datos) desde el disco antiguo para luego desempaquetarlo en el nuevo. A continuación, te guío paso a paso para que puedas hacerlo tú mismo sin perder absolutamente nada en el camino.</p>



<h3 class="wp-block-heading">Resumen</h3>



<ol class="wp-block-list">
<li><strong>Instalar WordPress:</strong> Hazlo en el nuevo disco, exactamente igual que aquí <a href="https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/">Instala WordPress en tu Raspberry Pi 4</a>.</li>



<li><strong>Respaldar el Blog Viejo (MX Linux):</strong> Hacer una copia de seguridad de los archivos de WordPress y de la base de datos.</li>



<li><strong>Migrar los Datos al Nuevo Servidor:</strong> Copiar los archivos y la base de datos al disco nuevo.</li>



<li><strong>Ajustar la Configuración:</strong> Revisar el archivo <code>wp-config.php</code> para que use la nueva base de datos.</li>



<li><strong>Dar los Toques Finales:</strong> Aplicar los permisos correctos y listo.</li>
</ol>



<p class="wp-block-paragraph">Ahora, vamos a verlo en detalle.</p>



<h3 class="wp-block-heading">Paso 1: Prepara tu Nuevo Servidor (Raspberry Pi OS)</h3>



<p class="wp-block-paragraph">Como la finalidad de esta entrada no es explicar cómo instalar WordPress desde cero, te recomiendo echar un vistazo a mi artículo <strong>«<a href="https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/">Instala WordPress en tu Raspberry Pi 4</a>«</strong>. Aunque ya tiene algún tiempo, sigue siendo perfectamente vigente tanto para las nuevas versiones de Linux y de la base de datos, como para el propio CMS.</p>



<h4 class="wp-block-heading">Prepara la Base de Datos: </h4>



<p class="wp-block-paragraph">Antes de crear la base de datos,  toma nota del  nombre y contraseña que usaste anteriormente, ejecutando en tu antiguo WordPress este comando.</p>



<pre class="wp-block-code"><code>sudo nano /var/www/html/wp-config.php</code></pre>



<p class="wp-block-paragraph">Busca las siguientes líneas y toma nota de los datos que ahí aparecen. (especialmente la contraseña):</p>



<pre class="wp-block-code"><code>define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'tu_contraseña_segura' );
define( 'DB_HOST', 'localhost' );</code></pre>



<p class="wp-block-paragraph">Ahora crea la base de datos con los datos que hemos apuntado. </p>



<p class="wp-block-paragraph">Accede a MariaDB usando los mismos nombres y contraseña que los del antiguo blog para evitar cambios.</p>



<pre class="wp-block-code"><code><strong>sudo mysql -u root -p</strong>
CREATE DATABASE wordpress;
CREATE USER wordpress@localhost IDENTIFIED BY 'tu_contraseña_segura';
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost;
FLUSH PRIVILEGES;
EXIT;</code></pre>



<h3 class="wp-block-heading">Paso 2: Respaldar el Blog en tu Raspberry Pi Vieja (MX Linux)</h3>



<p class="wp-block-paragraph">Este es el paso más crítico. Vamos a comprimir todos los archivos y a exportar la base de datos.</p>



<p class="wp-block-paragraph"><strong>1- Comprime los archivos de WordPress</strong>: </p>



<p class="wp-block-paragraph">En tu Raspberry Pi vieja, ejecuta:</p>



<pre class="wp-block-code"><code><code># Ve al directorio donde está WordPress</code>
<code>cd /var/www/html/</code>
<code># Comprime TODO el contenido en un archivo llamado 'mi_blog_backup.tar.gz'</code>
<code>sudo tar -czvf mi_blog_backup.tar.gz .</code></code></pre>



<p class="wp-block-paragraph">Este comando creará un archivo comprimido. Te recomiendo que lo muevas a tu carpeta de usuario para poder acceder a él fácilmente más tarde:</p>



<pre class="wp-block-code"><code><code>sudo mv mi_blog_backup.tar.gz /home/tu_usuario/</code></code></pre>



<p class="wp-block-paragraph"><strong>2- Exporta la base de datos: </strong></p>



<p class="wp-block-paragraph">Aún en la terminal de la Raspberry Pi vieja, ejecuta:</p>



<pre class="wp-block-code"><code># Tenemos que ser root para trabajar con esto. No podemos hacerlo con sudo
sudo -i<code># Ahora que eres root, exporta toda la base de datos 'wordpress' a un archivo .sql </code>
<code>mysqldump -u wordpress -p wordpress &gt; wordpress_backup.sql </code>
<code># Te pedirá la contraseña del usuario 'wordpress' de la base de datos que ya viste cuando preparaste la base de datos</code></code></pre>



<p class="wp-block-paragraph"><code>Al igual que con los archivos, si no estás en el directorio /home/tu_usuario/</code>, te recomiendo mover el archivo .sql allí: </p>



<pre class="wp-block-code"><code><code>mv wordpress_backup.sql /home/tu_usuario/</code></code></pre>



<p class="wp-block-paragraph">Ahora ya puedes salir con un <code>exit</code> para volver a ser un plebeyo.</p>



<h3 class="wp-block-heading">Paso 3: Copiar los Respaldos a la Nueva Raspberry Pi</h3>



<p class="wp-block-paragraph">Ahora tienes dos archivos en la Raspberry vieja: <code>mi_blog_backup.tar.gz</code> y <code>wordpress_backup.sql</code>. Vamos a pasarlos a la nueva.</p>



<p class="wp-block-paragraph">El método más sencillo es usar es usar un pendrive o memoria usb, copiarlos y pegarlos en la nueva Raspberry.</p>



<p class="wp-block-paragraph">Pero si por algún extraño motivo, no tienes acceso a la antigua raspberry porque está alojada en el bunker de la Casa Blanca y no quieres ir allí y tropezarte por los pasillos con Donald Trump, existe el modo de utiliizar <code>rsync</code> o <code>scp</code> desde la <strong>nueva Raspberry Pi</strong>.</p>



<p class="wp-block-paragraph">En una terminal de tu <strong>nuevo sistema</strong>, ejecuta:</p>



<pre class="wp-block-code"><code># Copia el archivo comprimido de los temas, plugins y medios
rsync -avz tu_usuario@IP_DE_LA_RASPBERRY_VIEJA:/home/tu_usuario/mi_blog_backup.tar.gz /tmp/

# Copia el archivo .sql de la base de datos
rsync -avz tu_usuario@IP_DE_LA_RASPBERRY_VIEJA:/home/tu_usuario/wordpress_backup.sql /tmp/</code></pre>



<p class="wp-block-paragraph">Recuerda cambiar <code>tu_usuario</code> por tu nombre de usuario y <code>IP_DE_LA_RASPBERRY_VIEJA</code> por su IP.</p>



<h3 class="wp-block-heading">Paso 4: Restaurar los Datos en la Nueva Raspberry Pi</h3>



<p class="wp-block-paragraph">¡Ya estamos en la recta final! Ahora trabajaremos completamente en tu nueva Raspberry Pi.</p>



<p class="wp-block-paragraph">Como siempre voy por el camino mas fácil, he transferido desde un pendrive los archivos a mi directorio home, con lo que trabajaremos desde ahí.</p>



<p class="wp-block-paragraph"><strong>1- Restaura los archivos de WordPress</strong></p>



<p class="wp-block-paragraph">Limpia el directorio por defecto de Apache (por si acaso)</p>



<pre class="wp-block-code"><code>sudo rm -rf /var/www/html/*</code></pre>



<p class="wp-block-paragraph">Ve al directorio donde copiaste el backup, en mi caso en la /home</p>



<pre class="wp-block-code"><code>cd ~</code></pre>



<p class="wp-block-paragraph">Descomprime todo el backup directamente en el directorio web</p>



<pre class="wp-block-code"><code>sudo tar -xzvf mi_blog_backup.tar.gz -C /var/www/html/</code></pre>



<p class="wp-block-paragraph"><strong>2-  Restaura la base de datos.</strong></p>



<p class="wp-block-paragraph">Aún en el directorio /home, importa el archivo .sql a tu nueva base de datos &#8216;wordpress&#8217;. Te pedirá la contraseña que creaste en el Paso 1 para el usuario &#8216;wordpress&#8217; (o la que uses)</p>



<pre class="wp-block-code"><code>mysql -u wordpress -p wordpress &lt; wordpress_backup.sql</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Nota:  Si cambiaste el nombre de la base de datos, el usuario o la contraseña en el Paso 1, debes actualizar el archivo de configuración de WordPress.</p>



<pre class="wp-block-code"><code>sudo nano /var/www/html/wp-config.php</code></pre>



<p class="wp-block-paragraph">Busca las siguientes líneas y asegúrate de que los datos son correctos (especialmente la contraseña):</p>



<pre class="wp-block-code"><code>define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'tu_contraseña_segura' );
define( 'DB_HOST', 'localhost' );</code></pre>
</blockquote>



<p class="wp-block-paragraph">Guarda el archivo con <code>Ctrl+O</code>, Enter, y luego <code>Ctrl+X</code> para salir.</p>



<p class="wp-block-paragraph">3<strong>&#8211; Configura los permisos correctos</strong>:<br>Para que WordPress pueda funcionar sin problemas (instalar plugins, subir imágenes, etc.), el usuario del servidor web (<code>www-data</code>) debe ser el propietario de los archivos.</p>



<pre class="wp-block-code"><code>sudo chown -R www-data:www-data /var/www/html/</code></pre>



<h3 class="wp-block-heading">Paso 5: Toques Finales</h3>



<p class="wp-block-paragraph">Ya está. Ahora toca la mejor parte: comprobar que todo funciona.</p>



<ol class="wp-block-list">
<li><strong>Prueba tu blog</strong>: Abre un navegador web en la dirección IP de tu <strong>nueva Raspberry Pi</strong> (por ejemplo, <code>http://192.168.1.XX</code>).
<ul class="wp-block-list">
<li>Si ves tu blog con normalidad, ¡la migración ha sido un éxito!</li>



<li>Si ves un error de «Error al establecer la conexión con la base de datos», revisa de nuevo el paso 4.3 (el <code>wp-config.php</code>).</li>



<li>Si ves un error de «404» o «No encontrado» al intentar entrar al panel de administración (<code>/wp-admin</code>), prueba a volver a guardar los enlaces permanentes: ve a <code>Escritorio &gt; Ajustes &gt; Enlaces permanentes</code> y simplemente haz clic en «Guardar cambios». Esto regenerará las reglas de enrutamiento de WordPress .</li>
</ul>
</li>



<li><strong>Redirige el tráfico de Internet (Punto final)</strong>: Cuando estés completamente seguro de que todo funciona en tu nueva Raspberry Pi, ha llegado el momento de hacer el cambio definitivo.
<ul class="wp-block-list">
<li><strong>Actualiza tu DNS Dinámico (DuckDNS)</strong>: Si usas DuckDNS, simplemente actualiza la IP en tu cuenta de DuckDNS para que apunte a la nueva IP de tu Raspberry Pi (esto asumiendo que ambas están en la misma red doméstica y usan la misma IP pública). Si la nueva Pi tiene una IP local diferente, asegúrate de que el reenvío de puertos (80 y 443) de tu router esté apuntando a la nueva IP.</li>



<li><strong>Certificados SSL (Let&#8217;s Encrypt)</strong>: Una vez que el tráfico ya se dirige a la máquina nueva, <strong>renueva el certificado SSL</strong> con Certbot en la nueva Raspberry Pi para que HTTPS siga funcionando. El comando es el mismo que usaste la primera vez:<br><code>bash sudo certbot --apache</code><br>Sigue las instrucciones y, cuando te pregunte sobre redirigir el tráfico, elige la opción 2 para redirigir de HTTP a HTTPS.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Ánimo, que con esta guía paso a paso es muy difícil equivocarse. Es un proceso muy gratificante. Si te surge alguna duda durante el proceso, puedes consultar foros como el de Raspberry Pi, donde hay mucha comunidad y suelen ayudar con estos temas .</p>



<p class="wp-block-paragraph">¡Mucha suerte con la mudanza de tu blog!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/como-respaldar-tu-blog-de-wordpress-en-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Añade WordPress a fail2ban.</title>
		<link>https://linuxete.duckdns.org/anade-wordpress-a-fail2ban/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=anade-wordpress-a-fail2ban</link>
					<comments>https://linuxete.duckdns.org/anade-wordpress-a-fail2ban/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 14 Sep 2024 19:41:06 +0000</pubDate>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[fail2ban Debian 12]]></category>
		<category><![CDATA[wordpress fail2ban]]></category>
		<category><![CDATA[wordpress raspberry pi]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=1845</guid>

					<description><![CDATA[Después de dificultar el acceso a WordPress con reCAPTCHA, vamos a dar otra vuelta de tuerca a la seguridad de nuestro servidor. Si has llegado hasta aquí, te recomiendo que leas: Hasta aquí, tenemos un blog funcionando con WordPress y un sistema de bloqueo de accesos como fail2ban. Ahora vigilaremos los accesos e intentos de [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Después de dificultar el acceso a WordPress con <code><a href="https://www.google.com/recaptcha/about/">reCAPTCHA</a></code>, vamos a dar otra vuelta de tuerca a la seguridad de nuestro servidor.</p>



<p class="wp-block-paragraph">Si has llegado hasta aquí, te recomiendo que leas:</p>



<ul class="wp-block-list">
<li><a href="https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/">Instala WordPress en tu Raspberry Pi</a></li>



<li><a href="https://linuxete.duckdns.org/instalar-fail2ban-en-debian-12-y-que-funcione/">Instalar Fail2ban en Debian 12 y que funcione.</a></li>
</ul>



<p class="wp-block-paragraph">Hasta aquí, tenemos un blog funcionando con <code><strong>WordPress</strong></code> y un sistema de bloqueo de accesos como <code><strong>fail2ban</strong></code>. </p>



<p class="wp-block-paragraph">Ahora vigilaremos los accesos e intentos de acceso al servidor <code><strong>WordPress</strong></code>.</p>



<p class="wp-block-paragraph">Veamos como configurar todo esto.</p>



<h3 class="wp-block-heading">Crea el filtro</h3>



<p class="wp-block-paragraph">Crearemos el siguiente fichero <code>/etc/fail2ban/filter.d/wordpress.conf</code> con el contenido:</p>



<pre class="wp-block-code"><code>sudo nano /etc/fail2ban/filter.d/wordpress.conf</code></pre>



<p class="wp-block-paragraph">Ahora pega lo siguiente:</p>



<pre class="wp-block-code"><code>&#91;Definition]<br>failregex = ^ .* "(GET|POST) /+wp-login.php<br>^ .* "(GET|POST) /+xmlrpc.php</code></pre>



<p class="wp-block-paragraph">Guarda con Crtl + o y cierra con Crtl + x</p>



<h3 class="wp-block-heading">Crea el jail</h3>



<p class="wp-block-paragraph">Crea también la siguiente jail con:</p>



<pre class="wp-block-code"><code>sudo nano /etc/fail2ban/jail.d/defaults-debian.conf</code></pre>



<p class="wp-block-paragraph">Pega el lo siguiente a continuación de la última línea:</p>



<pre class="wp-block-code"><code>&#91;wordpress]
enabled = true
port = 443
filter = wordpress
logpath = /var/log/apache2/access.log
maxretry = 3
findtime = 15m
bantime = 1h
action = %(action_mwl)s</code></pre>



<p class="wp-block-paragraph">Como antes, guarda con Crtl + o y cierra con Crtl + x</p>



<p class="wp-block-paragraph">Reiniciamos fail2ban:</p>



<pre class="wp-block-code"><code>sudo systemctl restart fail2ban</code></pre>



<h2 class="wp-block-heading">Comprobaciones.</h2>



<p class="wp-block-paragraph">Vamos a realizar una serie comprobaciones para ver si se están ejecutando correctamente los servicios, estados y  advertencias.</p>



<h3 class="wp-block-heading">Test estado del servicio</h3>



<p class="wp-block-paragraph">Comprobamos el estado del servicio con:</p>



<pre class="wp-block-code"><code>sudo systemctl status fail2ban</code></pre>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="785" height="504" src="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-33-25.png" alt="" class="wp-image-1846" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-33-25.png 785w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-33-25-300x193.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-33-25-768x493.png 768w" sizes="(max-width: 785px) 100vw, 785px" /></figure>



<p class="wp-block-paragraph">De momento todo correcto, el servicio está activo y corriendo.</p>



<h3 class="wp-block-heading">Test estado general de fail2ban</h3>



<p class="wp-block-paragraph">Comprobamos el estado y la cantidad de jails en funcionamiento.</p>



<pre class="wp-block-code"><code>sudo fail2ban-client status</code></pre>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="540" height="325" src="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-35-25.png" alt="" class="wp-image-1848" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-35-25.png 540w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-35-25-300x181.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></figure>



<p class="wp-block-paragraph">Perfecto, tenemos dos jail, el primero (ssh) que creamos en <a href="https://linuxete.duckdns.org/instalar-fail2ban-en-debian-12-y-que-funcione/">Instalar Fail2ban en Debian 12 y que funcione</a>, y el segundo el que acabamos de crear para wordpress.</p>



<h3 class="wp-block-heading">Test estado de Jails específicos</h3>



<p class="wp-block-paragraph">Comprobemos el estado para la jail de WordPress.</p>



<pre class="wp-block-code"><code>sudo fail2ban-client status wordpress</code></pre>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="540" height="325" src="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-38-42.png" alt="" class="wp-image-1849" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-38-42.png 540w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-38-42-300x181.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></figure>



<p class="wp-block-paragraph">La salida nos muestra bastante información sobre las IPs baneadas (ninguna por el momento), el número de intentos de conexión, el número de baneos etc etc</p>



<h3 class="wp-block-heading">Visualizar el log de eventos</h3>



<p class="wp-block-paragraph">Veamos si el archivo log de fail2ban contiene algún error. Visualiza el archivo log en tiempo real para ver los cambios que se van produciendo instantáneamente.</p>



<p class="wp-block-paragraph">Copia y pega el siguiente comando:</p>



<pre class="wp-block-code"><code>sudo tail -f /var/log/fail2ban.log</code></pre>



<p class="wp-block-paragraph">En la siguiente imagen verás el log en tiempo real de los jail sin errores.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="949" height="325" src="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-41-43.png" alt="" class="wp-image-1850" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-41-43.png 949w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-41-43-300x103.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-41-43-768x263.png 768w" sizes="auto, (max-width: 949px) 100vw, 949px" /></figure>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">Test de Fail2ban</h3>



<p class="wp-block-paragraph">Fail2ban tiene un comando testear la configuración. Para esta comprobación tienes que usar este comando:</p>



<pre class="wp-block-code"><code>sudo fail2ban-client --test</code></pre>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="567" height="325" src="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-43-50.png" alt="" class="wp-image-1851" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-43-50.png 567w, https://linuxete.duckdns.org/wp-content/uploads/2024/09/Captura-desde-2024-09-11-18-43-50-300x172.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /><figcaption class="wp-element-caption">Test de la configuración de fail2ban</figcaption></figure>



<p class="wp-block-paragraph">Esto demuestra que todo está bien y no tenemos ningún problema con la configuración.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/anade-wordpress-a-fail2ban/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Instala WordPress en tu Raspberry Pi 4</title>
		<link>https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instala-wordpress-en-tu-raspberry-pi-4</link>
					<comments>https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Tue, 20 Jun 2023 21:24:50 +0000</pubDate>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[instalar wordpress]]></category>
		<category><![CDATA[wordpress raspberry pi]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=11</guid>

					<description><![CDATA[Hay muchos servicios gratuitos en internet para hospedar tu propia página web o blog personal. Si no quieres depender de terceros y controlar todo el proceso, puedes crearte un servidor web en el que guardar tus archivos, documentos, páginas y compartirlas en internet. No es costoso, es fácil de instalar y configurar. Los precios de [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter size-medium"><img decoding="async" src="http://localhost/wp-content/uploads/2023/06/WordPress_blue_logo.svg_-300x300.png" alt="" class="wp-image-474"/></figure>



<p class="wp-block-paragraph">Hay muchos servicios gratuitos en internet para hospedar tu propia página web o blog personal. Si no quieres depender de terceros y controlar todo el proceso, puedes crearte un servidor web en el que guardar tus archivos, documentos, páginas y compartirlas en internet. No es costoso, es fácil de instalar y configurar.</p>



<p class="wp-block-paragraph">Los precios de la Raspberry Pi están un poco altos en este momento,  unos 170 euros la de 8GB, frente a los 88 euros que me costó a mi en Enero de 2021. A esto debes sumarle los elementos que añadas: <a href="https://shop.inux3d.com/en/home/69-geeekpi-ice-tower-cpu-fan-.html">cooler</a>, <a href="https://shop.inux3d.com/en/14-terrapi-cases-">carcasa</a>, <a href="https://www.pccomponentes.com/kingston-a400-ssd-480gb">disco SSD</a>, <a href="https://shop.inux3d.com/en/home/75-118-official-eu-raspberry-pi-4-power-supply-51v-3a.html#/11-color-black">alimentador de corriente</a>… <br>Todo lo que aquí se explica no tiene por qué instalarse sobre una Raspberry Pi. Es posible que te salga mas barato comprar en Wallapop un pc antiguo, como un Intel i3, pero la ventaja que tiene la Raspberry es su consumo, el cual apenas notarás en la factura eléctrica.</p>



<p class="wp-block-paragraph">En referencia al software, el requisito imprescindible es tener instalada una distribución de Linux. En mi caso usaré <a href="https://www.raspberrypi.com/software/operating-systems/">Raspberry Pi OS</a> <br>El software, se instala igual que en cualquier distribución basada en Debian, como Ubuntu, Linux Mint, Pop Os y otras derivadas de la primera.<br>Nunca había sido tan fácil y accesible para el usuario medio instalar la pila <strong>LAMP y WordPress</strong>, con los que podrás montar un servidor web completo y fácil de configurar.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="http://localhost/wp-content/uploads/2023/06/raspberryblue.jpg" alt="" class="wp-image-764" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/raspberryblue.jpg 800w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/raspberryblue-300x300.jpg 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/raspberryblue-150x150.jpg 150w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/raspberryblue-768x768.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph">Ahora mismo, mientras lees esta entrada, lo estás haciendo sobre una Raspberry como la de la imagen superior alojada en la Buhardilla de mi casa.</p>



<h2 class="wp-block-heading">¿Qué es una pila LAMP?</h2>



<p class="wp-block-paragraph">Una pila LAMP es un conjunto de cuatro tecnologías de software diferentes que los desarrolladores utilizan para crear sitios web y aplicaciones web. LAMP es un acrónimo del sistema operativo <strong>Linux</strong>, el servidor web <strong>Apache</strong>, el servidor de base de datos <strong>MySQL</strong> y el lenguaje de programación <strong>PHP</strong>. Estas cuatro tecnologías son de código abierto, lo que significa que son mantenidas por la comunidad y están disponibles gratuitamente para que cualquiera las utilice. Los desarrolladores utilizan pilas LAMP para crear, alojar y mantener el contenido web. Es una solución popular que impulsa muchos de los sitios web que se utilizan comúnmente en la actualidad.</p>



<h3 class="wp-block-heading">Cómo instalar la pila LAMP en Raspberry Pi 4</h3>



<p class="wp-block-paragraph">Para instalar la pila LAMP en Raspberry PI usaremos los paquetes procedentes de los repositorios de la propia distribución, así que actualizaremos la información de dichos repositorios:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo apt update</strong></code></pre>



<p class="wp-block-paragraph">Ahora instalaremos los siguientes paquetes:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo apt install -y apache2 libapache2-mod-php mariadb-server php-mysql</strong></code></pre>



<p class="wp-block-paragraph">Una vez instalados estos paquetes, tendremos activos los servicios <strong>apache2</strong> y <strong>mariadb</strong>, que quedan en funcionamiento y habilitados para arrancar automáticamente junto con el sistema operativo.</p>



<p class="wp-block-paragraph">Podemos comprobar fácilmente el estado de estos dos servicios con el comando:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo systemctl status apache2 mariadb -n 0</strong></code></pre>



<p class="wp-block-paragraph">Para configurar la pila LAMP en Raspberry Pi 4 apenas hay que realizar ajustes, ya que los componentes de la misma quedan bien encajados tras la instalación. Veremos a continuación lo mínimo que se debe hacer.</p>



<h3 class="wp-block-heading">Configurando PHP</h3>



<p class="wp-block-paragraph">WordPress requiere la presencia  de ciertas extensiones de este lenguaje de programación que instalaremos así:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo apt install -y php-{curl,gd,imagick,intl,mbstring,xml,zip}</strong></code></pre>



<p class="wp-block-paragraph">Para configurar este lenguaje de programación trabajaremos en primer lugar sobre el archivo de configuración del módulo del servicio web:</p>



<p class="wp-block-paragraph">Debemos conocer la versión de PHP que hemos instalado en el sistema, con el siguiente comando en consola.</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ php -v </strong></code></pre>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="655" height="446" src="http://localhost/wp-content/uploads/2023/05/php-v-1.png" alt="" class="wp-image-418" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/05/php-v-1.png 655w, https://linuxete.duckdns.org/wp-content/uploads/2023/05/php-v-1-300x204.png 300w" sizes="auto, (max-width: 655px) 100vw, 655px" /></figure>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo nano /etc/php/X.X/apache2/php.ini</strong></code></pre>



<p class="wp-block-paragraph">Reemplazamos las X.X por la versión que nos da por consola, en mi caso:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo nano /etc/php/7.4/apache2/php.ini</strong></code></pre>



<p class="wp-block-paragraph">Un ajuste que siempre conviene realizar es el de la zona horaria del servidor, para lo que buscamos la directiva date.timezone:</p>



<p class="has-light-green-cyan-color has-text-color wp-block-paragraph">…<br>;date.timezone =<br>…</p>



<p class="wp-block-paragraph">Activaremos esta directiva eliminando el carácter ; al inicio de línea y le daremos el valor que nos interese:</p>



<p class="has-light-green-cyan-color has-text-color wp-block-paragraph">…<br><strong>date.timezone = Europe/Madrid</strong><br>…</p>



<p class="wp-block-paragraph">Una vez guardado y cerrado el archivo aplicamos los cambios recargando la configuración del servicio web:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo systemctl reload apache2</strong></code></pre>



<p class="wp-block-paragraph">Existe otro archivo de configuración para la ejecución de aplicaciones en consola:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo nano /etc/php/7.4/cli/php.ini</strong></code></pre>



<p class="wp-block-paragraph">En este archivo deberíamos hacer al menos el mismo cambio en la directiva <strong>date.timezone</strong> para que las aplicaciones web que usen módulos de consola no encuentren discrepancias en la hora del sistema.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="655" height="446" src="http://localhost/wp-content/uploads/2023/05/date.time_.png" alt="" class="wp-image-416" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/05/date.time_.png 655w, https://linuxete.duckdns.org/wp-content/uploads/2023/05/date.time_-300x204.png 300w" sizes="auto, (max-width: 655px) 100vw, 655px" /></figure>



<p class="wp-block-paragraph">Guardados los cambios.</p>



<h4 class="wp-block-heading">Test de la pila LAMP</h4>



<p class="wp-block-paragraph">Para probar el funcionamiento de la pila LAMP bastará con crear un pequeño script en PHP de sencillo acceso vía web.</p>



<p class="wp-block-paragraph">Creamos el archivo en un lugar que pueda ser accedido por el servicio web:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo nano /var/www/html/info.php</strong></code></pre>



<p class="wp-block-paragraph">Con el contenido:</p>



<pre class="wp-block-code has-light-green-cyan-color has-text-color"><code><strong>&lt;?php phpinfo()</strong>;</code></pre>



<p class="wp-block-paragraph">Guardamos con Ctrl + o y cerramos con Ctrl + x</p>



<p class="wp-block-paragraph">Para acceder a este script desde un navegador indicaremos la dirección del servidor (IP, nombre DNS, dominio, etc.) seguido de la ruta y nombre del script.</p>



<p class="wp-block-paragraph">Por ejemplo:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>http://localhost/info.php</strong></code></pre>



<p class="wp-block-paragraph">La página web que aparece muestra el funcionamiento de PHP y nos da amplia información sobre los componentes y configuración de la pila LAMP.</p>



<h2 class="wp-block-heading">Configurando MariaDB</h2>



<p class="wp-block-paragraph">WordPress funciona sobre una base de datos MariaDB/MySQL. El servicio de bases de datos viene listo para usar sin necesidad de configuraciones adicionales. El único usuario que se incluye es el administrador root y para conectar al servicio desde consola habrá que usar sudo:</p>



<p class="wp-block-paragraph">Conectamos al servicio de bases de datos desde consola indicando un usuario administrador:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$  sudo mysql -u root -p</strong></code></pre>



<p class="wp-block-paragraph">Creamos una base de datos llamada wordpress:</p>



<pre class="wp-block-code has-light-green-cyan-color has-text-color"><code><strong>create database wordpress charset utf8mb4 collate utf8mb4_unicode_ci;</strong></code></pre>



<p class="wp-block-paragraph">Creamos un usuario al que llamaremos wordpress y manejará la base de datos:</p>



<pre class="wp-block-code has-light-green-cyan-color has-text-color"><code><strong>create user wordpress@localhost identified by 'tu_contraseña';</strong></code></pre>



<p class="wp-block-paragraph">Sustituye tu_contraseña por tu una de tu elección.</p>



<p class="wp-block-paragraph">Damos permisos al usuario sobre la base de datos:Y cerramos la conexión:</p>



<pre class="wp-block-code has-light-green-cyan-color has-text-color"><code><strong>grant all privileges on wordpress.* to wordpress@localhost;</strong></code></pre>



<p class="wp-block-paragraph">Puedes cerrar la conexión al servicio con el comando exit:</p>



<pre class="wp-block-code has-ast-global-color-2-color has-text-color"><code><strong>~$ exit</strong></code></pre>



<p class="wp-block-paragraph">Ahora que sabemos cómo instalar la pila LAMP, ya podemos instalar y configurar WordPress.</p>



<h2 class="wp-block-heading">Descargar WordPress</h2>



<p class="wp-block-paragraph">Antes de instalar WordPress hay que borrar el contenido del directorio /html, para ello, desde una terminal nos situamos en dicho directorio con el siguiente comando:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ cd /var/www/html/</strong></code></pre>



<p class="wp-block-paragraph">Ahora borramos el contenido del directorio:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo rm *</strong></code></pre>



<p class="wp-block-paragraph">A través del comando wget , descargamos la última versión en castellano, disponible en formato tar.gz</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo wget https://es.wordpress.org/latest-es_ES.tar.gz</strong></code></pre>



<p class="wp-block-paragraph">Descomprimimos el paquete que acabamos de descargar directamente en el directorio de la página por defecto:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo tar xf latest-es_ES.tar.gz</strong></code></pre>



<p class="wp-block-paragraph">Ahora toca crear el directorio de WordPress. Aunque puede moverlos manualmente usando la interfaz de usuario del escritorio, es simple hacerlo desde la línea de comandos:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo mv wordpress/* .</strong></code></pre>



<p class="wp-block-paragraph">Asegúrate de incluir el espacio y el punto al final, que se refiere al directorio actual.</p>



<p class="wp-block-paragraph">Como WordPress necesita escribir en su directorio de instalación a través del servicio web, habrá que cambiar el propietario del directorio y su contenido, establecemos al usuario de Apache como propietario del directorio:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo chown -R www-data: </strong>.</code></pre>



<h3 class="wp-block-heading">Instala WordPress</h3>



<p class="wp-block-paragraph">Ahora que la configuración del servidor está completa, podemos finalizar la instalación a través de la interfaz web.</p>



<p class="wp-block-paragraph">En su navegador web, vaya al nombre de dominio o a la dirección IP pública de su servidor:</p>



<pre class="wp-block-code"><code>~$ http://localhost</code></pre>



<p class="wp-block-paragraph">Se abrirá la página de bienvenida a WordPress.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="861" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-11-47.png" alt="" class="wp-image-458" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-11-47.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-11-47-300x254.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-11-47-768x650.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Luego te llevará a la página principal de configuración. Rellena los siguientes datos:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="861" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-17-16.png" alt="" class="wp-image-460" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-17-16.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-17-16-300x254.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-17-16-768x650.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Nombre de la base de datos – introduce el nombre que estableciste al configurar la base de datos de WordPress. En este caso, será wordpress<br>Nombre de usuario – introduce el nombre de usuario de MySQL que has configurado antes para la base de datos. En nuestro caso será wordpress<br>Contraseña – introduce la contraseña que has creado para el usuario de la base de datos.<br>Host de la base de datos – mantén aquí el valor por defecto localhost.<br>Prefijo de la tabla – deja wp_ en este campo.<br>Haz clic en Enviar para continuar.</p>



<p class="wp-block-paragraph">Aparecerá un nuevo mensaje diciendo que WordPress ya puede comunicarse con tu base de datos. Haz clic en Realizar la instalación.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="861" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-25-48.png" alt="" class="wp-image-461" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-25-48.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-25-48-300x254.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-25-48-768x650.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Después, tendrás que introducir más información:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="967" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-32-40.png" alt="" class="wp-image-462" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-32-40.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-32-40-300x285.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-32-40-768x730.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Título del sitio – escribe el nombre del sitio web de WordPress. <br>Nombre de usuario – crea un nuevo nombre de usuario que utilizarás para acceder a WordPress.<br>Contraseña – crea una contraseña para el usuario de WordPress.<br>Tu correo electrónico – añade la dirección de correo electrónico para las actualizaciones y notificaciones.<br>Visibilidad en los motores de búsqueda – deja esta casilla sin marcar si no quieres que los motores de búsqueda indexen tu sitio hasta que esté listo.<br>Haz clic en el botón Instalar WordPress para terminar.</p>



<p class="wp-block-paragraph">Si todo a salido bien, ¡Lo lograste!</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="967" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-33-41.png" alt="" class="wp-image-463" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-33-41.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-33-41-300x285.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-33-41-768x730.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Se abre la página de ingreso. Pulsa en el botón Acceder </p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1017" height="967" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-34-14.png" alt="" class="wp-image-464" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-34-14.png 1017w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-34-14-300x285.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-34-14-768x730.png 768w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<p class="wp-block-paragraph">Introduce tu nombre de usuario y contraseña que elegiste para acceder a WordPress y estarás dentro.</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07-1024x500.png" alt="" class="wp-image-465" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07-1024x500.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07-300x146.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07-768x375.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07-1536x750.png 1536w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-35-07.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Ya puedes empezar a crear contenido, pero antes de eso, sigue este post hasta el final.</p>



<h3 class="wp-block-heading">Configura WordPress </h3>



<p class="wp-block-paragraph">Antes de crear contenido vamos a configurar algunas cosas necesarias.</p>



<h4 class="wp-block-heading">Cambia los enlaces permanentes de WordPress</h4>



<p class="wp-block-paragraph" style="font-size:17px">Una configuración importante que se realiza mejor en una instalación nueva de WordPress es cambiar la configuración de enlaces permanentes. Los enlaces permanentes son las URL permanentes de sus publicaciones de blog individuales.</p>



<p class="wp-block-paragraph">De forma predeterminada, las publicaciones se crearán con un enlace permanente numérico o sencillo, pero se recomienda utilizar un formato más versátil, como un enlace permanente con el nombre de la publicación, para ayudar a los motores de búsqueda a encontrar su sitio web.</p>



<p class="wp-block-paragraph">El sitio web de WordPress tiene más información sobre los diferentes formatos disponibles , pero para el propósito de este tutorial usaremos el formato de enlace permanente post-name.</p>



<p class="wp-block-paragraph">Comience cambiando la configuración en el panel de control de WordPress. Inicie sesión en su cuenta y en el menú seleccione Configuración &gt; Enlaces permanentes . Haga clic en Publicar nombre y Guardar cambios .</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36-1024x500.png" alt="" class="wp-image-468" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36-1024x500.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36-300x146.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36-768x375.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36-1536x750.png 1536w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-22-59-36.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">También tendrá que modificar ligeramente la configuración de Apache en su Raspberry Pi para que estos cambios puedan comunicarse al servidor. Si no ha habilitado el módulo de reescritura en el tutorial anterior , hágalo ahora con el siguiente comando.</p>



<pre class="wp-block-code has-text-color" style="color:#0833f3"><code>sudo a2enmod rewrite</code></pre>



<p class="wp-block-paragraph">El archivo de configuración de Apache debe actualizarse para que estos cambios surtan efecto. Ábrelo con el siguiente comando:</p>



<pre class="wp-block-code has-text-color" style="color:#0833f3"><code>sudo nano /etc/apache2/sites-available/000-default.conf</code></pre>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="917" height="562" src="https://linuxete.duckdns.org/wp-content/uploads/2024/02/sites-available.png" alt="" class="wp-image-1110" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/02/sites-available.png 917w, https://linuxete.duckdns.org/wp-content/uploads/2024/02/sites-available-300x184.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/02/sites-available-768x471.png 768w" sizes="auto, (max-width: 917px) 100vw, 917px" /></figure>



<p class="wp-block-paragraph">Después de la línea inicial añadimos el siguiente texto</p>



<pre class="wp-block-code"><code>&lt;Directory /var/www/&gt;
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
&lt;/Directory&gt;
</code></pre>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="917" height="562" src="https://linuxete.duckdns.org/wp-content/uploads/2024/02/000-default.png" alt="" class="wp-image-1094" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/02/000-default.png 917w, https://linuxete.duckdns.org/wp-content/uploads/2024/02/000-default-300x184.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/02/000-default-768x471.png 768w" sizes="auto, (max-width: 917px) 100vw, 917px" /></figure>



<p class="wp-block-paragraph">Por ahora, estas líneas están solo dentro del VirtualHost para el puerto 80 ya que aún no tenemos una conexión HTTPS segura.</p>



<p class="wp-block-paragraph">Reiniciamos apache para los cambios surtan efecto.</p>



<pre class="wp-block-code has-ast-global-color-2-color has-text-color"><code><strong>sudo service apache2 restart</strong></code></pre>



<ul class="wp-block-list">
<li>Con esto se soluciona el problema del plugin «Yoast SEO» al momento de generar el mapa del sitio.</li>



<li>Con esto se soluciona el problema de que no guarda las entradas y las páginas creadas indicando una redirección del archivo JSON invalida.</li>



<li>Con esto se soluciona el problema de «página no encontrada» al modificar o personalizar los enlaces permanentes.</li>



<li>Con esto se soluciona el error del plugin «.htaccess» editor que no muestra ningún resultado al hacer modificaciones</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Comprueba que estas líneas están insertadas y coinciden con los archivos de la ruta <strong>/etc/apache2/sites-available/000-default.conf </strong>como en los archivos de la ruta <strong>/etc/apache2/sites-enabled/000-default.conf</strong></p>
</blockquote>



<h4 class="wp-block-heading">Accede a tu sitio de WordPress desde Internet</h4>



<p class="wp-block-paragraph">Ahora mismo sólo puedes acceder al sitio desde tu red doméstica. Para cambiar esto, necesitarás una dirección IP estática o un servicio de DNS y administrar el reenvío de puertos desde tu router a tu Raspberry Pi.<br>Muchos proveedores de servicios de Internet asignan direcciones IP dinámicamente y las cambian de vez en cuando. Por lo tanto, para evitar interrupciones en su sitio web autohospedado, se recomienda utilizar un servicio de DNS dinámico. Estos servicios se especializan en el acceso remoto y le permiten apuntar su IP a un nombre de host estático, mientras mantiene viva la conexión. De esta manera, tan pronto como cambie su IP, el servicio DNS registrará el cambio y actualizará el nombre de host.<br>El servicio gratuito que he usado es <a rel="noreferrer noopener" href="https://www.duckdns.org/" target="_blank">Duckdns</a> , pero hay muchas docenas para elegir y todos ofrecen cuentas de inicio bastante similares. Este servicio viene con un cliente de actualización dinámica que deberás instalar en tu sistema para asegurarte de que registra cualquier cambio de IP.<br>Una vez que el nombre de host está registrado y conectado con éxito a tu IP, deberías poder acceder a tu blog desde la web (asegúrese de usar http:// para la URL).<br>ejemplo </p>



<p class="wp-block-paragraph">http://tu_nombre_registrado.duckdns.org<br></p>



<h2 class="wp-block-heading">Instalar certificados HTTPS</h2>



<p class="wp-block-paragraph">Se recomienda el siguiente paso, pero no es estrictamente necesario para que tu sitio web funcione. Puedes omitirlo por ahora y volver a él más tarde si deseas usar   HTTP como tu principal protocolo de comunicaciones. Si lo haces, ten en cuenta que la autenticación segura y la comunicación cifrada a través de HTTPS ahora son estándar para todos los sitios web. Tus visitantes pueden recibir una advertencia sobre una conexión insegura cuando intentan acceder a tu sitio web a través de HTTP.</p>



<p class="has-vivid-red-color has-text-color has-link-color wp-elements-7134ccaa5dd1e240d43bf2ccd56dcaf6 wp-block-paragraph">Es importante tener abiertos los puertos 80 y 443 de tu raspberry para no tener problemas al instalar los certificados.</p>



<h3 class="wp-block-heading">LetsEncrypt</h3>



<p class="wp-block-paragraph">La forma más fácil de obtener un certificado SSL reconocido que verificará la autenticidad de su sitio web en el navegador es usar LetsEncrypt Certbot .</p>



<p class="wp-block-paragraph">Para Apache, puede usar el siguiente comando para instalarlo en su Raspberry Pi:</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo apt-get install python3-certbot-apache</strong></code></pre>



<p class="wp-block-paragraph">Certbot genera automáticamente un certificado para usted y lo incluye en su configuración de Apache con este comando. Certbot también se asegurará de que el certificado se renueve automáticamente en el futuro, por lo que no debe preocuparse por esto.</p>



<pre class="wp-block-code has-ast-global-color-0-color has-text-color"><code><strong>~$ sudo certbot --apache</strong></code></pre>



<p class="wp-block-paragraph">Después de ejecutar estos comandos, te solicitará más información. Debes proporcionar una dirección de correo electrónico válida para registrarte, aceptar los Términos de servicio y, lo que es más importante, proporcionar un nombre de dominio válido. Para esto, usa el nombre de host que registraste en<a href="https://www.duckdns.org/"> Duckdns.org</a>.</p>



<p class="wp-block-paragraph">La última pregunta es si desea redirigir automáticamente el tráfico de http a https. En este caso, como se trata de una instalación nueva, es mejor usar la redirección ( opción 2 ), ya que no hay peligro de romper los enlaces existentes.</p>



<p class="wp-block-paragraph">Si Certbot le da un error durante la instalación, es posible que primero deba habilitar el reenvío de puertos en su enrutador.</p>



<p class="wp-block-paragraph">El certificado ahora se instalará en su sistema y se puede encontrar en la siguiente carpeta: /etc/letsencrypt/live/hostname.domain.com/<br>que en mi caso está en /etc/letsencrypt/live/linuxete.duckdns.org/ y dentro se encuentran los archivos <strong>cert.pem chain.pem fullchain.pem privkey.pem README</strong></p>



<p class="wp-block-paragraph">En ajustes, generales cambia las direcciones de http a https y la dirección completa que nos proporcionó Duckdns.</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="http://localhost/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01-1024x500.png" alt="" class="wp-image-470" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01-1024x500.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01-300x146.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01-768x375.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01-1536x750.png 1536w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-de-pantalla-de-2023-06-20-23-06-01.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Cambia la dirección de WordPress (URL) y la dirección del sitio.</p>



<p class="wp-block-paragraph">Asegurate que el equipo donde se encuentra instalado tu WordPress tiene el puerto 443 abierto en tu router para poder navegar a través de https.</p>



<p class="wp-block-paragraph">Visita tu sitio web en un navegador que use HTTPS y busca el ícono de candado en la URL para verificar que la conexión SSL esté funcionando.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="913" height="986" src="http://localhost/wp-content/uploads/2023/06/Captura-desde-2023-06-20-23-20-52.png" alt="" class="wp-image-471" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-desde-2023-06-20-23-20-52.png 913w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-desde-2023-06-20-23-20-52-278x300.png 278w, https://linuxete.duckdns.org/wp-content/uploads/2023/06/Captura-desde-2023-06-20-23-20-52-768x829.png 768w" sizes="auto, (max-width: 913px) 100vw, 913px" /></figure>



<p class="wp-block-paragraph">¡Enhorabuena!</p>



<p class="wp-block-paragraph">Ahora eres el propietario de tu sitio web, funcionamiento con una conexión SSL segura y la estructura de enlaces permanentes recomendada.</p>



<h3 class="wp-block-heading">¿Cómo puedo renovar los certificados de Let&#8217;s Encrypt?</h3>



<p class="wp-block-paragraph"><br>En el caso de que tu certificado no se renueve automáticamente, puedes activar manualmente la renovación en cualquier momento ejecutando:</p>



<pre class="wp-block-code"><code>sudo certbot renew</code></pre>



<p class="wp-block-paragraph">Cuando haya terminado reinicia el apache con:</p>



<pre class="wp-block-code"><code>sudo systemctl reload apache2</code></pre>



<p class="wp-block-paragraph">Para verificar que el certificado se renovó, ejecuta:</p>



<pre class="wp-block-code"><code>sudo certbot renew --dry-run</code></pre>



<p class="wp-block-paragraph">Si tienes varios certificados para diferentes dominios y deseas renovar un certificado específico, utiliza:</p>



<pre class="wp-block-code"><code>certbot certonly --force-renew -d tu.dominio.com</code></pre>



<p class="wp-block-paragraph">La opción &#8211;force-renew indica a Certbot que solicite un nuevo certificado con los mismos dominios que un certificado existente. La opción -d le permite renovar certificados para varios dominios específicos.</p>



<p class="wp-block-paragraph">Si el comando no arroja errores, la renovación fue exitosa.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/instala-wordpress-en-tu-raspberry-pi-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
