Wordpress en raspberry Pi | Instalación

Introducción

En este tutorial, que dividiré en partes, pretendo explicaros de forma muy completa como instalar WordPress de forma pública. Es decir, no me quedaré en el paso que se quedan la mayoría de tutoriales que hay en Internet. Yo no sólo os enseñaré a instalar wordpress en Local para pruebas. Os enseñaré a instalar WordPress en una Raspberry para que sea accesible desde Internet, aunque comentaremos sus pros y sus contras más adelante.

Imagino que la mayoría de vosotros sabréis lo que es una Raspebrry Pi. Es un ordenador de pequeño tamaño y de bajo coste, apenas 40€.
Las funcionalidades de una raspberry pi pueden llegar hasta donde nuestra imaginación alcance(Y la limitación de recursos, ja ja ja).
En mi caso, vamos a usar nuestra Raspebrry pi como un servidor web casero. Montaremos el famoso LAMP (Linux, Apache, MySql y PHP).

Vamos a comenzar!

Requisitos

El requisito básico para comenzar este tutorial, es tener instalado raspbian en nuestra Raspberry Pi 3. Si no lo tienes hecho, simplemente tenemos que descargar la imagen desde la página oficial mismo y una vez tengamos la imagen descargada, procederemos a bootearla con un programa como Rufus en nuestra tarjeta SD que introduciremos en nuestra Raspberry Pi.

Dependiendo del entorno en el que estés trabajando, puede que necesites también:

  • Cable HDMI
  • Raton y teclado
  • Pantalla

En mi caso voy a realizar todo el proceso mediante ssh, ya que es mucho más cómodo y que no hace falta interfaz gráfica en la Raspberry para nada.

Instalando WordPress en una raspberry

Paso 1: Instalar Apache2

El primer paso que tendremos que seguir para instalar wordpress en una Raspberry será elegir el tipo de servidor. En este caso, como vamos a montar un servidor LAMP, usaremos apache. En cualquier caso, se podría crear también un servidor WordPress casero con otro servidor como es ngix, pero no será en este caso. Bien, para instalar apache en nuestra Raspberry abriremos una terminal y en ella introduciremos el siguiente comando:

$sudo apt-get update
$sudo apt-get upgrade 
$sudo apt-get install apache2

Para comprobar que todo funciona correctamente, accedemos a localhost desde la máquina de la raspberry o bien desde otra máquina poniendo la ip local. Si no sabemos cual es la ip de nuestra máquina en la raspberry, introducimos el siguiente comando:

$ifconfig

Cogemos la ip de la interfaz que estemos usando, y la introducimos en el navegador de otra máquina de nuestra red.

Instalar wordpress en una Raspberry | CycleWeb

Bien, si hemos seguido los pasos hasta aquí, al introducir la ip en nuestro navegador, nos saldrá algo parecido a lo de la imagen.
Ahora mismo, nuestro servidor estaría preparado para aguantar páginas web estáticas que tuvieras html y css.

Vamos a mostrar un ejemplo y a descargarnos una plantilla html/css de forma rápida para subirla a nuestro directorio y  mostraros lo sencillo que sería tener una web de este tipo.

Instalar wordpress en una Raspberry | CycleWeb

¿Habéis visto? Sin duda, si queréis crear una web con contenido estático y sin ninguna funcionalidad, por ejemplo, la web de una empresa que ofrezca sus servicios, esta es la mejor opción. Rápida, sencilla y económica por el gasto de recursos. Pero aquí os voy a explicar como instalar vuestro WordPress en una Raspberry Pi.

Paso 2: Instalar php

Una vez hemos instalado apache y hemos comprobado que todo funciona correctamente, pasaremos a instalar PHP, que es un lenguaje de lado servidor que será el que dé funcionalidad a nuestro WordPress. Para instalarlo tendremos que poner en nuestra terminal lo siguiente:

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

Para comprobar que php funciona correctamente en nuestro servidor, vamos a realizar una prueba, para la que crearemos un fichero php con lo siguiente:

$sudo nano index.php

Y dentro del fichero introducimos:

<!--?php echo "CycleWeb Mola"; ?-->

Borraremos el fichero index.html si no lo hemos borrado y reiniciaremos apache:

$sudo sudo rm index.html
$sudo /etc/init.d/apache2 restart

Ahora nos iremos a comprobar que todo va bien cargando la web en nuestro navegador.

Instalar wordpress en una Raspberry | CycleWeb

Ya sólo nos queda instalar MySQL para tener nuestro servidor LAMP corriendo por completo. Eso si, sin WordPress instalado todavía.

Paso 3: Instalar MySQL

WordPress, como bien sabreís, almacena todos nuestros post, categorías, usuarios y demás en una base de datos.
Para instalar MySQL, introduciremos el siguiente comando:

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

Al finalizar la descarga, te pedirá que introduzcas una contraseña para el usuario root. No la olvides, ya que si tienes algún problema con la base de datos tendrás que utilizarla para acceder a ella.

Una vez se ha terminado la instalación, vamos a configurar la base de datos MySQL y prepararla para cuando instalemos WordPress.

Ejecutaremos los siguientes comandos:

/////Configuración MySQL/////
root@raspberrypi:/var/www/html# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.54-0+deb8u1 (Raspbian)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)

mysql> create user raspadmin;
Query OK, 0 rows affected (0.00 sec)

mysql> set password for raspadmin= password(«prueba»);
Query OK, 0 rows affected (0.00 sec)

mysql> grant all PRIVILEGES on wordpress.* to raspadmin@localhost identified by ‘prueba’;
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
//////*******////////////

Paso 4: Instalar un servidor FTP

Ahora, para poder descargar plugins, temas y demás, nuestra raspberry tendrá que tener instalado un FTP. Para ello introduciremos lo siguiente:

$sudo apt-get install vsftpd

Una vez instalado, nos vamos a:

$cd /etc/vsftpd.conf

Y comprobamos que en el fichero las siguientes líneas están así; local_enable=YES y write_enable=YES

Reiniciamos el vsftpd con:

$sudo /etc/init/vsftpd restart

Paso 5: Instalar wordpress

Ahora llega lo bueno, es la hora de instalar nuestro WordPress, asi que vamos a ponernos manos a la obra!

Lo primer que haremos será irnos a:

$cd /var/www/html

Y borraremos todo lo que haya dentro, dejando la carpeta vacía.
Ahora descargaremos la version más reciente de wordpress introduciendo:

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

Una vez descargado, descomprimimos con el comando tar.

$sudo tar xzf latest.tar.gz

Borramos el wordress comprimido con:

$sudo rm -R latest.tar.gz

Y movemos el contenido de wordpress a la carpeta principal.

$sudo mv wordpress/* .

Borramos ahora la carpeta wordpress.

$sudo rm -R wordpress

Lo último para tener WordPress, es cambiar el propietario de la carpeta html.

$cd /var/www/
$chown -R www-data: .

Reiniciamos apache.

$sudo /etc/init.d/apache2 restart

Ahora, vamos a nuestra navegador y al recargar la página…voila!
Ya nos aparece WordPress!

Bien, aquí simplemente seguimos los pasos de instalación.
Tendremos que elegir idioma, introducir el usuario y contraseña de la base de datos que anteriormente introducimos y tendremos también que elegir el nombre de nuestro sitio, un nombre de usuario y una contraseña.

Instalar wordpress en una Raspberry | CycleWeb

Haciendo público nuestro WordPress

Ya tendremos nuestro usuario y contraseña de wordpress, por lo que tenemos WordPress instalado en local. Guay.
Pero, y si queremos mostrarle a todo el mundo que es lo que queremos hacer?

Bien. Lo que deberíamos hacer es abrir el puerto 80 de nuestro router, ya que es el puerto que recibe el trafico de las páginas web. Para abrir el puerto 80 de nuestro router, recomiendo buscar en Internet algún tutorial que lo explique de forma adecuada, ya que depende del modelo. Para acceder a la configuración de nuestro router, introducimos en nuestro navegador: http://192.168.1.1

Nos pedirá un usuario y contraseña que debemos saber, o bien estarán en alguna pegatina en nuestro router.

**Mucho cuidado al abrir los puertos. Buscar bien como hacerlo, lo la liéis. Tampoco useis el DMZ host si no os queréis llevar un disgusto.

Como recomendación, sería recomendable asignarle una Ip estática a nuestra raspberry, ya que tendremos nuestro router configurado como un servidor DHCP. Es decir, cada vez que nos conectamos al router tras un tiempo, tendremos una Ip nueva dentro de nuestra red Local. Para realizar este cambio, busca como hacerlo, ya que al igual que para abrir los puertos, depende de el modelo de router que tengáis.

Una vez hayáis abierto el puerto 80 de vuestro router, tendréis que buscar cual es vuestra Ip pública. Para ello usar esta herramienta, por ejemplo.

Si ya hemos abierto nuestro puerto 80, siempre redirigiendo el tráfico hacia nuestra raspberry, sabiendo nuestra ip pública ya podremos acceder a nuestra web desde fuera de casa.Para saber nuestra ip pública, podemos verla desde alguna página tipo. El problema está en que esta ip no es fija. O bien contratamos con nuestro proveedor de internet una Ip fija o lo hacemos de forma gratuita con un servicio tipo No-Ip.

En mi caso, sé que mi ip pública es 212.122.118.46, por lo que al introducir esta ip en el navegador…

Instalar wordpress en una Raspberry | CycleWeb

Ya lo tenemos!

Pero podemos ir más lejos aún. Si queremos que nuestra web aparezca con el nombre de un dominio, únicamente tenemos que hacer que ese dominio apunte hacia nuestro servidor. Yo, por ejemplo, tengo comprado un dominio en DonDominio, y en su panel de control, tengo apuntando ese dominio a mi ip pública, de forma que cuando meta en el navegador dosgotas.es me aparezca WordPress instalado en mi Raspberry. Si no sabéis como hacerlo, preguntar al soporte de donde hayáis comprado el dominio y ellos os deberán ayudar.

Ventajas y desventajas de instalar WordPress en una Raspberry

Bueno, aquí acaba la primera parte de este tutorial. Como habéis visto, ya hemos instalado WordPress en nuestra raspberry y somos los propios administradores de nuestra web. Esto es una buena opción si te gusta cacharrear y tu web no va a recibir mucho tráfico.Por el contrario, si tu web va a recibir mucho tráfico, mejor no lo hagas, aunque no hay que olvidar, que nuestra raspberry es un sistema escalable, al que le podríamos ir añadiendo más y más raspberry’s formando un cluster. Si no que se lo digan a Simon Cox y a su hijo, que montaron con lego un cluster con 64 raspberry’s.

También, si somos los administradores de nuestro propio servicio, tenemos que tener especial cuidado con los ataque informáticos. Deberemos configurar bien nuestro apache, y sobre todo tener especial cuidado con los puertos que abrimos. Por ejemplo, si abrimos el puerto 22 (ssh), sería recomendable cambiar el puerto de escucha de ese servicio y cambiarlo a otro. Limitar el número de intentos también sería otra opción.

Más adelante, en las siguientes partes de este tutorial os enseñaré como hacer más seguro nuestro servidor de forma básica.

Hasta aquí esta primera parte de este tutorial. Espero que os haya servido de ayuda y no os haya sido muy complicado. Cualquier duda no dudéis dejarmela en los comentarios e intentaré responderla con mucho gusto.

Vídeo instalación

? ¡Saludos ciclistas! ?

Sobre mí

¡Hola a todo@s!
Soy Miguel Negro López, creador de CycleWeb, estudiante de Ingeniería Informática de tercer curso en la Universidad de Castilla La Mancha ,más concretamente en Ciudad Real. Apasionado del deporte pero sobre todo del ciclismo. De ahí el nombre de este pequeño proyecto.