Desplazamiento hacia arriba

Instalar WordPress en una Raspberry Pi 3

Instalar WordPress en una Raspberry Pi 3 no es una de las mejores ideas del mundo mundial en cuanto a entornos de producción se refiere. Pero… en muchos casos, nos servirá de gran ayuda a la hora de probar plugins y temas en un entorno de desarrollo o de pruebas antes de lanzarnos a instalarlos en nuestra web. Por eso, en este tutorial te enseñaré a instalar WordPress en una Raspberry Pi 3.

Antes que nada, te preguntarás. ¿Cómo lo vamos a hacer? Pues bien, te lo resumo rápidamente: Instalaremos el sistema operativo Raspbian, luego instalaremos las dependencias Nginx, PHP 7.0, MariaDB y las configuraremos.

Antes de lanzarnos a la aventura (voy a hacerlo por primera vez con vosotros), entiendo que tendréis una Raspberry Pi 3 o 4, en vuestras manos y ya habéis trasteado con ella. Si no es así tranquilos, vamos a instalar el sistema operativo todos juntos para que no os perdáis por el camino. ¿Preparados? ¿Listos? ¡YA!

Instalar Raspbian en una Raspberry Pi 3

Antes de poder instalar el servidor casero y WordPress en nuestra Raspberry, necesitaremos instalar su sistema operativo. Es verdad que hay infinidad de sistemas operativos preparados para nuestro cacharro, pero como es un servidor de pruebas, instalaremos Raspbian, el sistema operativo oficial de raspberry, en nuestro caso, instalaremos la versión lite.

Lo primero que debemos hacer, es ir a la página web de Raspberry en su sección downloads para descargar la imagen.

descargar raspbian buster lite
Hacemos clic en el botón que dice Download ZIP y lo guardamos en nuestro ordenador, generalmente aparecerá descargado en la carpeta de descargas.

Una vez hecho este primer paso, tendremos que conectar nuestra tarjeta SD a un lector de tarjetas, ya que si no podemos acceder a la tarjeta desde nuestro ordenador, difícilmente podremos quemar (si como los antiguos cd’s, dvd’s) la imagen en nuestra SD.

Descargamos un programita que se llama BalenaEtcher desde este enlace. Descargar
Esta herramienta lo que hará será formatear, extraer y copiar el contenido del archivo ZIP a nuestra tarjeta SD.

seleccionar imagen raspbian
Por si no queda claro, seleccionamos Select image, vamos a la carpeta en la que hemos descargado la imagen ZIP y seleccionamos el archivo.
seleccionar target raspberry pi 3 raspbian
Select target nos llevará a una ventana en la que tendremos que elegir cual es el disco que queremos formatear, osea, nuestra tarjeta SD. ¡CUIDADO! Selecciona con precaución tu tarjeta SD, ya que puede que tengas instalado en tu ordenador un disco duro USB o un Pendrive.
flashear raspberry pi 3 raspbian lite
Ya por último paso con balenaEtcher hacemos click en Flash!

En este paso estaremos ya formateando la tarjeta SD e instalando nuestro sistema operativo Raspbian Lite. El proceso no tardará más de 10 minutos, bueno todo depende de la velocidad de tu tarjeta, es recomendable usar una tarjeta con una buena velocidad. Si todo ha ido bien veremos una ventanita en la que nos indica que se ha completado correctamente blablabla…

Desconectamos de manera segura la tarjeta SD de nuestro ordenador y la insertamos en nuestra Raspberry.

Iniciando Raspbian por primera vez

Una vez ya tenemos lista la tarjeta con nuestro sistema operativo instalado y la tarjeta insertada, sólo nos quedará encender la Raspberry. Yo voy a hacerlo también instalando una imagen virtual con VirtualBox en mi ordenador para poder hacer capturas de pantalla del proceso que viene a continuación.

Si todo ha ido bien, habréis llegado a una pantalla parecida a esta, fondo negro y muchas letras. Te pedirá que escribas un usuario, por defecto en la instalación de raspbian, el usuario es “pi” y a continuación escribir la contraseña, por defecto es “raspberry”.

primer inicio raspberry pi 3

Ahora si queréis podéis utilizar la consola de comandos desde vuestro ordenador, podéis utilizar Putty. Esta herramienta nos permitirá conectarnos de manera remota por SSH a nuestra Raspberry Pi, aun que también nos serviría para conectarnos a nuestros servidores VPS etc…

Pero primero tenemos que habilitar la conexión SSH en nuestra Raspberry. Para ello escribimos el siguiente comando:

sudo raspi-config
Aparecerá tal cual esta ventanita. Y navegamos hasta “Interfacing Options
Una vez dentro de Interfacing Options, seleccionamos “SSH” y a continuación a YES.

Ahora simplemente descargamos la herramienta, añadimos un nuevo servidor, coloramos la ip local de nuestra Raspberry. Como usuario ponemos “pi” y en contraseña “raspberry“.

Si no sabéis cual es la ip local de vuestra Raspberry…

ifconfig

En mi caso es 192.168.1.13 esta dirección la vamos a tener que tener en cuenta más adelante.

Y ya estamos conectados de manera remota por SSH desde nuestro ordenador.

Si somos observadores, y entendemos el inglés, nos dice que para conectarnos por SSH remotamente, la contraseña del usuario “pi” es la contraseña por defecto, y que por razones de seguridad deberíamos de cambiarla. Así que vamos a cambiarla con el siguiente comando:

sudo passwd pi

Nos pedirá 2 veces que introduzcamos la nueva contraseña. A partir de ahora, cada vez que nos conectemos a través de Putty o desde la misma Raspberry, el usuario seguirá siendo “pi”, pero la contraseña será la que acabamos de elegir.

Instalando dependencias Nginx, PHP 7.0 y MariaDB

Y ahora va llegando la hora de instalar las dependencias para que nuestro servidor web casero empiece a funcionar. Si eres conocedor del tema, te habrás dado cuenta que no vamos a instalar Apache como servidor web, ya que Nginx hace muy bien su tarea y a su vez ocupa muchos menos recursos que Apache. Recordemos que en una Raspberry, todo lo que sea ahorrar en recursos es bien recibido.

Antes de instalar las dependencias, vamos a actualizar el sistema operativo, siempre por si a caso.

sudo apt-get update
sudo apt-get upgrade

Nos preguntará si queremos continuar con la instalación de algunas actualizaciones, presionamos “Y” y le damos a enter. Este proceso tan solo durará unos minutos, una vez terminado seguimos con el siguiente paso.

Instalar Nginx en Raspberry

Para instalar Nginx en una Raspberry lo único que deberemos hacer es pegar el siguiente comando:

sudo apt-get install nginx

Comenzará a instalar dependencias, pero esto no tardará más de un minuto.

Presionamos “Y”, como siempre.

Si todo ha salido como se espera, podemos probar a poner la ip local de nuestra Raspberry en el navegador de nuestro ordenador.

Mensaje de bienvenida de Nginx

Instalar PHP 7.3 en Raspberry

En este paso vamos a instalar la última versión disponible de PHP, compatible con el servidor Nginx que acabamos de instalar en raspbian.

sudo apt -y install php-fpm

Una vez terminado todo el proceso, vamos a configurar el archivo php.ini.

sudo nano /etc/php/7.3/fpm/php.ini

Nos aparecerá un editor de texto que contiene toda la configuración de php, debemos buscar con control + W las lineas file_uploads, allow_url_fopen, memory_limit, upload_max_filesize, cgi.fix_pathinfo, max_execution_time y aplicar los siguientes valores:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
cgi.fix_pathinfo=0
max_execution_time = 1000

Una vez editado el archivo, presionamos control + X, y pulsamos “Y” y luego enter para guardar los cambios.

Para que Nginx pueda procesar archivos php, vamos a editar su configuración:

sudo nano /etc/nginx/sites-available/default

De nuevo estamos en el editor de texto, vamos a buscar la directiva index y añadimos “index.php“, como en la imagen:

Como vemos comentado, nos dice que si vamos a usar PHP, añadimos index.php en la linea de debajo.

Seguimos editando este archivo, y un poco más a bajo nos encontramos un bloque que dice # pass PHP scripts to FastCGI server. Vemos que todo el bloque tiene unas almohadillas, vamos a quitar solamente las que vemos en la imagen:

Al quitar las almohadillas vemos que ha cambiado de color, las almohadillas sirven para hacer comentarios y no ejecutar esa parte del código, por tanto, cuando las quitamos, estamos diciéndole a este archivo que tenga en cuenta esas lineas.

Antes de guardar el archivo, escribimos debajo de fastcgi… una nueva linea, sin almohadillas escribiendo lo siguiente: “fastcgi_read_timeout 1000;” , debería de quedar así:

fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_read_timeout 1000;

Ahora si, guardamos el archivo como antes, control + X, nos pregunta si queremos guardar antes de salir, presionamos Y y luego enter para guardar los cambios.

Ahora reiniciamos tanto php como nginx para que tenga en cuenta los nuevos cambios que hemos realizado:

sudo service php7.3-fpm restart
sudo systemctl restart nginx

Probamos que todo funciona correctamente creando un archivo .php que nos mostrará toda la configuración php que tenemos en nuestro servidor web casero.

sudo nano /var/www/html/info.php

Otra vez se abre nuestro querido editor de texto, escribimos el siguiente script en php:

<?php phpinfo(); ?>

Guardamos y lo probamos en nuestro servidor entrando desde el navegador a la siguiente dirección: la.ip.de.raspberry/info.php (cambia la.ip.de.raspberry por la ip local de tu Raspberry)

Y como vemos, todo ha salido a las mil maravillas, hemos terminado con PHP, y ya nos queda poco para tener listo el servidor casero, pero aún nos queda instalar MariaDB.

Instalar MariaDB en Raspberry

MariaDB es el motor de bases de datos que vamos a instalar en nuestro servidor. Como podrás volver a comprobar, no vamos a instalar MySQL, ya que MariaDB es mucho más liviano, eficiente y de código libre.

Utilizamos el siguiente comando para instalar MariaDB

sudo apt-get install mariadb-server mariadb-client

Según nos avisa, se van a instalar 151mb y nos preguntará si queremos continuar, “Y”. Esperamos unos minutos a que termine la instalación
Aun que estamos instalando un servidor casero de pruebas, vamos a añadirle un poco de seguridad a MariaDB:

sudo mysql_secure_installation

Nos pide una contraseña, y acto seguido nos pregunta si queremos cambiar la contraseña del usuario root, le decimos que si, y escribimos la contraseña que deseamos, nos preguntará más cosas y le damos a todo “Y”.

Creando base de datos para WordPress

En nuestro caso no vamos a instalar phpMyadmin, ya que con unos simples comandos vamos a crear nuestra base de datos.

sudo mysql
create database wordpress;
CREATE USER 'TUNOMBREDEUSUARIO'@'localhost' IDENTIFIED BY 'TUCONTRASEÑA';
GRANT ALL ON wordpress.* TO 'TUNOMBREDEUSUARIO'@'localhost';

Ahora que ya hemos creado la base de datos, el usuario, y añadidos permisos de nuestro usuario para nuestra base de datos, presionamos Control + D para salir de MySQL. Recuerda los datos de nombre de base de datos, nombre de usuario y contraseña de usuario, ya que los vamos a necesitar para finalizar la instalación de WordPress.

Instalación de WordPress en Raspberry Pi 3

Una vez llegados a este punto, estamos a punto de finalizar este tutorial, tan solo vamos a descargar la última versión de WordPress, descomprimirla en la carpeta de nuestro servidor Nginx, y ejecutar la instalación de WordPress.

Entramos en la carpeta de nuestro servidor web:

cd /var/www/html

Descargamos la última versión de WordPress:

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

Descomprimimos el archivo:

sudo tar xzf latest.tar.gz

Como se nos habrá descomprimido en una nueva carpeta llamada /wordpress, vamos a mover todos los archivos de su interior a la carpeta raiz:

sudo mv wordpress/* ./

Si escribimos el comando “ls“, vemos en un listado todos los archivos de la carpeta. Como tenemos la carpeta /wordpress vacia y el archivo comprimido descargado y usando espacio, vamos a borrarlos. Aprovechamos para borrar el archivo info.php que hemos creado antes:

sudo rm -rf wordpress latest.tar.gz info.php

Vamos a dar una serie de permisos a las carpetas con el siguiente comando:

sudo usermod -a -G www-data pi
sudo chown -R -f www-data:www-data /var/www/html

Entramos en nuestro navegador web y escribimos la dirección ip local de nuestra Raspberry Pi.

Your PHP installation appears to be missing the MySQL extension which is required by WordPress

Y error! No te preocupes, hay que instalar una extensión MySQL para PHP con este comando:

sudo apt install php-mysql

Vamos a intentar entrar de nuevo. Ahora si! Seleccionamos el idioma y Continuar

En nombre de base de datos escribimos el nombre que pusimos, yo puse wordpress, por tanto lo dejamos como está, en nombre de usuario el que elegiste, en contraseña lo mismo, en servidor, lo dejamos en localhost, y en prefijo lo dejamos tal y como está.

Una vez hecho click en Ejecutar la instalación nos pedirá que escribamos el título de nuestro sitio, nombre de usuario con el que vamos a iniciar sesión, contraseña y tu correo electrónico, marca la opción disuade a los motores de búsqueda de indexar este sitio, así nos aseguramos que los motores de búsqueda no encuentran la web. Aun que creo que de todas maneras no la encontrarían, pero mejor prevenir.

Mmm parece que el proceso me está tardando un poco más de lo que creía, pero debería de instalarse completamente en unos minutos:

Rellenamos los datos que hemos introducido anteriormente

Finalmente hemos conseguido entrar a nuestro panel de control de WordPress, por lo tanto hemos realizado correctamente todos los pasos de este tutorial.

Conclusión final

Como ya os dije al principio de este tutorial, instalar WordPress es una Raspberry Pi 3, no es la mejor idea para tener un servidor en producción, pero nos servirá para tener un servidor casero de pruebas. Ahora podremos instalar aquellos plugins o temas que queramos para comprobar su uso antes de instalarlos en nuestro servidor final. Si tienes alguna duda o te han surgido problemas en el proceso de instalación, puedes dejarnos un comentario, y muy gustosamente te ayudaremos en lo que nos sea posible.

Te puede interesar
Author avatar
wpfacil

Publicar un comentario

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

Información básica sobre protección de datos Ver más

  • Responsable Xavier Ibáñez .
  • Finalidad Moderar los comentarios.
  • Legitimación Tu consentimiento.
  • Destinatarios Contabo.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puedes consultar la información detallada en la Política de Privacidad.