Cómo Instalar WordPress en Raspberry Pi

Hoy vamos a aprender cómo construir un pequeño servidor en casa con Raspberry Pi donde instalar WordPress y poder usarlo como herramienta de desarrollo de nuestros diseños webs o incluso para publicar un pequeño blog o web en la web.

Para ello configuraremos un servidor LAMP (Linux + Apache + MySQL + PHP), con todo lo necesario para realizar la instalación de WordPress. El proceso no requiere de ningún conocimiento especial, pero si ya sales utilizar la consola de comandos y tienes experiencia con WordPress, mejor que mejor.

Raspberry Pi modelo 3

En SiloCreativo por ejemplo utilizamos una Raspberry Pi conectada a la red local con varias instalaciones de WordPress para poder trabajar todos los miemos del equipo a la vez en un entorno casi de preproducción, donde poder testear nuestros diseños para cliente final o nuestras plantillas para WordPress.

¿Qué es Raspberry Pi?

Primero las presentaciones. Para aquellos que no conozcan el proyecto Raspberry Pi, se trata de un pequeño ordenador construido en una sola placa (del tamaño de una tarjeta de crédito) y con un precio muy bajo (depende de la versión, pero normalmente por debajo de 40€). La potencia de este microordenador no es muy alta, pero para tareas simples y procesos sencillos el resultado es muy aceptable.

Raspberry Pi como Instalar WordPress

Raspberry Pi está pensado para el ámbito de la educación, donde los alumnos pueden aprender cosas básicas sobre informática y robótica. Además de esto, hay otros proyectos muy conocidos, como RetroPie, para convertir el equipo en una videoconsola retro o como centro multimedia gracias a Kodi, e incluso tenemos una versión de Windows 10 para trabajar con IoT (internet de las cosas). Pero hoy lo queremos utilizar como servidor conectado a la red para alojar un sitio web que funcione bajo WordPress.

¿Qué necesitamos para instalar WordPress en Raspberry Pi?

Lo básico, necesitamos una Raspberry Pi 3 Modelo B (con versiones anteriores también puede funcionar, pero al tener menos potencia, no se puede asegurar el correcto funcionamiento), una tarjeta microSD de al menos 16gb, instalar Raspbian (una distribución de Debian adaptada a Raspberry), un teclado USB (solo para la instalación) y una pantalla externa HDMI (también solo para la instalación). Estos dos últimos elementos son opcionales si accedemos a nuestro equipo por SSH:

  • Raspberry Pi 3 Modelo B (con su cargador)
  • Micro SD al menos 16GB
  • Sistema Operativo Raspbian (lo puedes descargar desde aquí)
  • Teclado y ratón USB
  • Pantalla HDMI

Para realizar la instalación de Sistema Operativo, vamos a descargarnos la ultima versión de Raspbian o bien el paquete preparado de NOOBS, que contiene la última versión del sistema operativo que vamos a necesitar. Podemos seguir las instrucciones oficiales de cómo grabar la imagen del sistema operativo en la microSD de nuestra Raspberry. También con este video:

Cuando ya tengamos nuestra imagen grabada en el SD, es hora de introducirla en nuestra Raspberry Pi, conectar el teclado, ratón y pantalla HDMI e iniciar el proceso de instalación de nuestro Sistema Operativo. Ten paciencia, suele tardar unos 20 minutos.

Creando un Servidor LAMP en Rapsberry Pi.

Una vez tengamos nuestra raspberry Pi instalada y con el sistema operativo Raspbian funcionando (ya tenemos Linux, la primera L de LAMP!), es hora de conectar el equipo a internet (puedes hacerlo via Wifi o por cable Ethernet) y comenzar con la instalación del resto de elementos para configurar nuestro servidor LAMP. Sin Apache, MySQL o PHP nuestro WordPress no funcionará, por lo que cada uno de los pasos son obligatorios, no te saltes ninguno!

Instalar Apache en nuestra Raspberry

Apache es una de las aplicaciones a nivel de servidor más conocidas para servir páginas web. Básicamente se encarga de recibir las peticiones HTTP y enviar páginas estáticas HTML a la red. Cambien puede enviar páginas dinámicas con ayuda de PHP.

Para instalar Apache, abrimos la linea de comandos, y primero vamos a realizar un update de la lista de paquetes introduciendo lo siguiente:

sudo apt-get update

Instalar Apache en Raspberry Pi
y posteriormente también un upgrade de todos los paquetes que tenemos instalados

sudo apt-get dist-upgrade

perfecto, cuando termine de realizar los procesos, podemos instalar Apache, introduciendo:

sudo apt-get install apache2 -y

Perfecto, cuando termine ya tendemos instalado Apache y podremos alojar páginas simples con HTML + CSS y JS. Para comprobar que todo funciona, introduce en el navegador de tu Raspberry Pi la dirección localhost: http://localhost/. Deberías ver la página de prueba de Apache.

Página Test Apache en Raspberry Pi

Ahora prueba desde otro ordenador que esté conectado a tu misma red si puede ver también dicha página de prueba. Para ello debes introducir en este otro ordenador la IP local de tu Raspberry Pi, por ejemplo . Para conocer la IP de tus equipos, puedes usar Angry IP Scanner en otro ordenador o usar este comando:

sudo ip addr show

Esta página de prueba está localizada en /var/www/html/index.html, puedes añadir la tuya propia o incluir tus propios proyectos HTML + CSS aquí, nosotros hemos hecho una prueba con nuestra última felicitación navideña y va genial.

Instalar PHP en Raspberry Pi

El siguiente paso será instalar PHP. La mayor parte de código de WordPress es PHP, y es el encargado de procesar y convertir las llamadas a los artículos y archivos en formato HTLM para que Apache pueda enviarlo directo al ordenador de nuestro visitante.

Vamos a instalar la versión de PHP que permite Raspbian. De nuevo en la línea de comandos:

sudo apt-get install php5 libapache2-mod-php5 -y

Perfecto. Podemos hacer un test si queremos comprobar que funciona correctamente PHP (esto es opcional):

Crea un archivo llamado index.php:

sudo leafpad index.php

Pon algo de contenido PHP dentro:

<?php phpinfo(); ?>

Salva el archivo. Ahora borra el index.html de prueba de Apache:

sudo rm index.html

Actualiza tu navegador con http://localhost/ y deberás ver una pantalla parecida a esta:

Instalar PHP en Raspberry Pi

Si no la ves, reinicia Apache y prueba de nuevo:

sudo service apache2 restart

Instalar MySQL en Raspberry Pi para WordPress

Último paso, instalar una base de datos MySQL para poder almacenar todos nuestros post, etiquetas, categorías, datos de los usuarios, contraseñas de acceso a wp-admin, configuración de los plugins instalados…en definitiva, donde va a estar todo nuestro contenido de nuestro futuro WordPress.

Para ello, en la consola:

sudo apt-get install mysql-server php5-mysql -y

Durante la instalación te pedirán que introduzcas una contraseña para el usuario root. Es importante que guardes esta contraseña ya que puede ser útil en el futuro para permitir que WordPress acceda a la Base de datos.

Finalmente, cuando termine todo el proceso, reinicia Apache:

sudo service apache2 restart

Opcional! Si quieres editar, crear y eliminar Bases de datos de una forma más visual, puedes instalar adicionalmente junto con MySQL la herramienta para gestionar la base de datos phpMyAdmin . Puede ser de gran ayuda si vas a necesitar editar columnas o crear bases de datos adicionales para otras instalaciones de WordPress u otro CMS. Para ello:

sudo apt-get install phpmyadmin

Durante la instalación nos preguntará en que servidor queremos instalarlo, seleccionaremos apache2, y con qué base da datos queremos conectar. Eligiéremos la creada anteriormente con MySQl. Igualmente indicaremos YES cuando nos pregunte sobre configurar la base da datos para phpMyAdmin con dbconfig-common.

Cuando nos pregunte por la contraseña, usaremos la que hemos establecido anteriormente cuando instalamos MySQL. Después nos preguntarán una contraseña para phpMyAdmin. Podemos usar la misma u otra distinta, pero es importante que la recordemos. Finalmente, cuando haya terminado necesitamos editar una linea para indicarle a Apache que hemos instalado PHPMyAdmin. Para ello:

sudo nano /etc/apache2/apache2.conf

y añadiremos el final de este archivo lo siguiente:

Include /etc/phpmyadmin/apache.conf

Una vez realizado, salvamos presionado CTRL + X y pulsamos Y para aceptar los cambios. Reiniciamos Apache:

sudo service apache2 restart

y comprobamos que se ha instalado correctamente accediendo a la siguiente url desde nuestro navegador en la Raspberry Pi http://localhost/phpmyadmin o bien desde otro equipo de la misma red . Debíamos ver algo similar a:

phpmyadmin en Raspberry pi

Instalar WordPress en Raspberry Pi

Si has llegado hasta aquí, enhorabuena! Ya solo queda instalar WordPress y comenzar a bloguear, diseñar, probar un theme WordPress, programar plugins…o cualquiera que sea el motivo de tu proyecto.

Ventajas de WordPress.org

Para ello necesitamos descargarnos las última versión de WordPress y descomprimirla en la carpeta correspondiente. Lo podemos hacer con el propio navegador de la Raspberry Pi o usando la línea de comandos. Si optas por la segunda opción:

cd /var/www/html/

con esto vamos a la carpeta donde queremos descargar WordPress. Ahora vamos a limpiar todo lo que haya (ojo, si tienes otra web o archivos se perderán, guárdalos antes si quieres conservarlos):

sudo rm *

y descargamos WordPress.

sudo wget http://wordpress.org/latest.tar.gz

Una vez terminemos, vamos descomprimir el archivo descargado:

sudo tar xzf latest.tar.gz

Opcional: WordPress se ha descomprimido automáticamente dentro de una carpeta ubicada en /var/www/html/wordpress. Podemos dejarlo aquí si queremos instalar otros WordPress en el futuro, cada uno en su carpeta. Si por el contrario queremos que esta instalación de WordPress esté en el dominio principal, entonces ejecutaremos este comando:

sudo mv wordpress/* .

Finalmente borramos el archivo comprimido ya que no lo vamos a necesitar:

sudo rm -rf wordpress latest.tar.gz

Perfecto. Un último paso, vamos a dar la propiedad de estos archivos a Apache, para ello:

sudo chown -R www-data: .

Configurar base de datos para WordPress

Si no la has creado antes cuando has instalado MySQL, es el momento de crear una base de datos. Si tienes phpMyAdmin, el proceso es más visual, pero si optas por línea de comandos, allá vamos.

Recuerda tu nombre de usuario y contraseña (normalmente root y la contraseña que elegiste, por ejemplo silocreativo) y ejecuta con tus datos lo siguiente:

mysql -uroot -psilocreativo

(-u para usaurio y -p para contraseña). Una vez hayamos conectado con MySQL, ya podemos crear nuestra Base de datos usando

mysql> create database wordpress;

Tras esto, debemos obtener la confirmación con algo similar a Query OK, 1 row affected (0.00 sec). Ya podemos salir de MySQL pulsando Ctrl + D

Configuración de WordPress

Ya solo tenemos que acceder desde nuestro navegador a nuestra IP o a la subcarpeta de WordPress si lo hemos instalado en un directorio para iniciar la configuración de nuestro sitio. Nos preguntará por la información básica de nuestro servidor, que en nuestro caso es:

Nombre de la Base de Datos: wordpress
Nombre de usuario: root
Password: (en nuestro caso silocreativo)
Database Host: localhost
Prefijo de tabla: wp_

Y listo, le damos a siguiente, cruzamos los dedos y ya tendremos WordPress configurado y listo para trabajar en nuestra red local. ¿Ha sido difícil? Espero que no, piensa que ya tienes una instalación en un equipo que te va a ahorrar mucho tiempo en test y trabajo, ya verás!

Más recursos y configuraciones adicionales para trabajar con WordPress y Raspberry Pi

Si te has quedado con ganas de más, todavía puedes seguir puliendo la instalación y uso de WordPress en tu Raspberry Pi. Aquí algunos tutorials y configuraciones extras:

Enlaces permanentes en WordPress con Raspberry Pi

Hemos hablado mucho sobre las mejores configuraciones de enlaces permanentes o permalinks que WordPress puede usar y cómo actualizarlos.

cambiar permalinks en WordPress

Para poder configurar la opción que más te convenga de dichos enlaces y así mejorar el SEO de tu WordPress, es necesario habilitar en Apache el módulo rewrite. Primero selecciona la opción de permalinks en el WordPress de tu Raspberry Pi siguiendo este tutorial y posteriormente vamos a introducir en la consola lo siguiente:

sudo a2enmod rewrite

y después tendremos que editar el archivo del host virtual con lo siguiente:

sudo leafpad /etc/apache2/sites-available/000-default.conf

Añadimos después de la línea 1 lo siguiente:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Y debería de quedarnos así:

<VirtualHost *:80>
    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    ...

Ya solo queda reiniciar Apache:

sudo service apache2 restart

IP fija para tu WordPress con Raspberry Pi

Uno de los problemas más recurrentes qeu podemos tener con una instalación de WordPress en Raspberry Pi es que cada vez que se conecta a nuestro router, este le asigna una ip distinta a nuestra Raspberry, por lo que tenemos que estar buscando la nueva IP e incluso cambiando la configuración de WordPress. Esto es algo poca práctico.

Para evitarlo debemos asignar una IP estática a nuestra Raspberry Pi dentro de nuestra red local. Para ello podemos hacerlo vía el nuevo escritorio Pixel, por la consola o SSH o/y en la configuración del router.

Escritorio Rapsberry Pi

Publicar tu instalación WordPress a la Web

¿Quieres que WordPress instalado en tu Raspberry Pi sea accesible desde internet a todo el público? Para ello solo tienes que redirigir el puerto 80 desde tu router a la Raspberry Pi. Sin embargo, como la IP de tu router seguramente sea dinámica, esta irá cambiando. Necesitas por tanto un servicio como NOIP que mediante un dominio te permita acceder a tu Raspberry Pi cada vez que se conecte a la red desde otra IP. En este tutorial lo explican muy bien.

Más tutoriales sobre WordPress & Raspberry Pi

Si aún quieres sacarle más partido a tu instalación WordPress en una Raspberry Pi, aquí varios artículos que seguro te sirven:

  • SSL en Raspberry Pi: Aprende cómo instalar un certificado SSL gratuito en tu Raspberry Pi, gracias a nuestro compi Alfonso!
  • Rendimiento de Raspberry como servidor: una comparativa sobre cómo se comporta una Raspberry Pi frente a un servidor dedicado
  • PressPi: si quieres tener un pack pre-configurado, esta imagen con NGINX y WordPress puede servirte.

Conclusiones: Raspberry Pi & WordPress para el trabajo

La combinación entre Raspberry Pi y WordPress es una combinación perfecta para hacer pruebas y trabajar en proyectos entre varios miembros del equipo si compartís la misma red local en la oficina. Puedes emular un entorno muy parecido al del cliente, y si no cargas mucho tu sitio con plugins y temas pesados, lo cierto es que el rendimiento es bastante bueno.

Sin embargo si quieres usar tu Raspberry Pi para publicar un sitio web bajo WordPress y que sea accesible desde la red, entonces el proceso es algo más complejo. Además, la potencia de CPU no te va a dar un rendimiento muy alto, por lo que solo sería recomendable utilizarse en proyectos que van a tener pocas visitas y poca concurrencia. Por ejemplo para la web de negocio local con información sobre el horario o un blog interno de una empresa. Si vamos proyectos más exigentes, el rendimiento no es el adecuado.

Por tanto, ¿WordPress en Raspberry PI? Si por supuesto, sobre todo para trabajar en desarrollo / preproducción y solo en casos muy concretos en producción o para mantener un sitio online.

Espero que ta haya servido el artículo 😉

Comentarios (6)

  1. Buenas tardes, me descargue la versión RASPBIAN STRETCH y me he es imposible realizar la instalación de wordpress puesto que en el paso de instalar php5-mysql da error. Cualquier cosa me comentais. Tambien me gustaría poder volver a tener una imagen de la versión jessie. un saludo y gracias.

    1. Raspian stretch ha cambiado la version php a la 7, debes cambiar el comando a:

      sudo apt-get install php7.0 libapache2-mod-php7.0 -y

  2. Excelente post. Yo he instalado mi propia web y andaba batallando con los enlaces permanentes. Me has echado un cable 🙏.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *