Cómo instalar un servidor web y WordPress en una Raspberry Pi

Cuando vamos a montar un sitio web, lo primero que necesitamos es el alojamiento de este. Podemos encontrar cientos de hostings y servidores web por internet con diferentes precios, pero si lo que queremos es aprender a montar nuestra web y no subirla a internet hasta que lista, lo mejor que podemos hacer es instalar un servidor web y WordPress en nuestra Raspberry Pi para cacharrear hasta que la tengamos lista.

La ventaja de tener un servidor web en una Raspberry Pi es el control total del mismo, además del coste que tiene, ya que una vez tenemos todo comprado, montado y funcionando, el coste del servidor es mínimo, ya que el consumo de la Raspberry Pi puede ser de unos 60kWh al año, lo que supone un gasto de menos de 10€ al año. Comparando esto con un hosting, vemos que los más baratos pueden costarnos 5 veces más que ese consumo, y para aprender a hacer una web, no necesitamos tantas opciones como nos da un hosting.

Este tutorial lo voy a hacer usando la conexión SSH de mi Raspberry Pi 4, ya que me apaño mejor con el teclado de mi ordenador. También os recomiendo que, una vez tengáis el servidor montado configuréis la Raspberry Pi con una IP fija para que siempre podáis acceder al servidor web sin problemas desde cualquier ordenador o smartphone de vuestra red. Una vez dicho eso, vamos con el tutorial.

Preparando la Raspberry Pi

Vamos a empezar con lo más básico, que es preparar la Raspberry Pi para que funcione con servidor web. Si solo vamos a dejar esa Raspberry Pi como servidor, podemos descargarnos la versión lite de Raspbian, que no cuenta con interfaz gráfica y va a funcionar mejor, ya que, al no tener escritorio, tendremos más recursos disponibles para los servidores.

Una vez hemos grabado la imagen de Raspbian en la Raspberry Pi, procedemos con la actualización del sistema operativo para tenerlo todo listo para instalar el servidor web y los demás paquetes necesarios. Si ya tenemos un Raspbian instalado, se recomienda hacer este paso también para tenerlo todo perfecto. Para ello ejecutaremos el siguiente comando en la terminal.

sudo apt update && sudo apt upgrade -y
Actualizando Raspbian desde PuTTY

Como podéis ver en la imagen de arriba, en mi caso solo tenia que actualizar un paquete. Dependiendo del tiempo que llevéis sin actualizar Raspbian, pueden ser varios paquetes, o ninguno.

Instalando el servidor web

Ahora que ya tenemos la Raspberry Pi lista, vamos a instalar el servidor web, esto nos permitirá realizar peticiones http a la Raspberry Pi y poder ver la web o webs que tengamos ahí instaladas. En este tutorial vamos a instalar NGINX. Normalmente y para equipos potentes la gente utiliza también Apache, pero como estamos trabajando en un ordenador con pocos recursos vamos a tratar de que todo vaya lo mejor posible con lo que tenemos. Para instalar el servidor lo único que tenemos que hacer es poner el siguiente comando en la terminal.

sudo apt install nginx
Instalando el servidor web NGINX en Raspberry Pi

Como vemos, se tienen que instalar más paquetes para que todo funcione correctamente. Una vez hemos instalado todo, ya tenemos el servidor funcionando. Para poder comprobarlo, lo único que tenemos que hacer es poner la IP de la Raspberry Pi en un navegador. Si no la sabemos, podemos conocerla ejecutando ifconfig en una terminal. Si tenemos conectada la Raspberry Pi a internet con un cable de red, la IP será la que aparece en la interfaz eth0, y si la tenemos conectada por wifi, la interfaz que tenemos que mirar para saber la IP es wifi0.

Navegador web Chromium cargando la página por defecto del servidor web NGINX en una Raspberry Pi

Instalando PHP y MariaDB

Ahora vamos a instalar los paquetes necesarios para poder programar webs dinámicas. Con estas webs dinámicas podemos acceder a una base de datos y almacenar cosas para que luego todo se pueda generar y editar de forma rápida. Si no tienes ni idea de programación, una web dinámica puede usar un gestor de contenido como WordPress y editar y gestionar todo desde el propio navegador.

Como versión de PHP vamos a usar la versión 7.3, que es la última disponible en los repositorios de Raspbian actualmente, para ello vamos a poner el siguiente comando en la terminal

sudo apt install php7.3-fpm php7.3-common php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-mysql php7.3-cli php7.3-zip php7.3-curl
Instalando PHP 7.3 en Raspberry Pi

Como podemos ver aquí también, necesitamos algunos paquetes más además de los que vamos a instalar. Dejamos que el proceso de instalación termine y nos ponemos con la instalación de los paquetes de MariaDB.

En este caso he elegido MariaDB como servidor de bases de datos SQL porque MySQL, aun estando disponible, es software propietario en algunos casos y no tiene tanta documentación como MariaDB. Como lo que queremos es un servidor web que luego podamos configurar fácilmente, lo mejor que podemos hacer es usar este servidor de bases de datos para poder encontrar cualquier cosa en su documentación llegado el caso.

Para proceder con la instalación de MariaDB tenemos que lanzar el siguiente comando en la terminal de Raspbian.

sudo apt-get install mariadb-server mariadb-client
Instalando MariaDB en Raspberry Pi

Como podemos ver, también necesitamos instalar un montón de paquetes. Una vez que esta todo instalado, ahora vamos a configurarlo todo para que nuestro servidor web tenga todo lo necesario para instalar WordPress y poder usarlo sin problemas.

Configurando el servidor web para que use PHP

WordPress está programado con PHP para su funcionamiento. Este lenguaje de programación interpreta los scripts que están en el servidor devolviéndonos una página web. Una vez configurado el servidor web y PHP para que funcionen, podemos probarlo para ver que todo está correcto.

Lo primero que vamos a configurar es PHP, para ello tenemos que abrir el archivo de configuración de PHP. Como este archivo solo tiene permisos de administrador, recomiendo abrirlo con sudo para poder editarlo sin problemas. Para ello uso el siguiente comando en la terminal.

sudo nano /etc/php/7.3/fpm/php.ini
Editando la configuración de PHP con nano

Una vez tenemos abierto el archivo, podemos buscar con la tecla Ctrl + W los parámetros que tenemos que configurar, modificando los que os pongo abajo con los valores que salen ahí. Con esto conseguiremos tener un poco más de memoria para WordPress y que no se cuelgue. Una vez lo tenemos todo listo, podemos guardar el archivo con Ctrl + X.

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
cgi.fix_pathinfo = 0
date.timezone = Europe/Madrid

Configurando el servidor de bases de datos

Ahora tenemos que configurar el servidor de bases de datos para que WordPress o el gestor de contenido que vayamos a usar en nuestro servidor web pueda guardar ahí información. Tenemos que hacerlo seguro para que nadie pueda acceder excepto quien nosotros queramos. Para ello, ejecutaremos el siguiente comando en la terminal.

sudo mysql_secure_installation
Configurando MariaDB en Raspberry Pi

Este comando empezará un asistente que nos permitirá configurar cosas básicas para aumentar la seguridad de nuestras bases de datos. Aparecerán varias preguntas y tendremos que contestarlas de la siguiente manera para que todo funcione correctamente y sea más seguro.

  • Enter current password for root (enter for none): Pulsa la tecla Intro
  • Set root password? [Y/n]: Y (Aquí se pregunta si queremos definir una contraseña para el administrador)
  • New password: Introducimos la contraseña para el administrador
  • Re-enter new password: Repetimos la contraseña para el administrador
  • Remove anonymous users? [Y/n]: Y (Aquí se pregunta si queremos borrar los usuarios anónimos)
  • Disallow root login remotely? [Y/n]: Y (Aquí se pregunta si queremos bloquear el acceso remoto a las bases de datos)
  • Remove test database and access to it? [Y/n]: Y (Aquí se pregunta si queremos borrar la base de datos de pruebas)
  • Reload privilege tables now? [Y/n]: Y (Aquí se pregunta si queremos volver a cargar las tablas de privilegios)

Ahora que lo tenemos todo configurado, vamos a crear la base de datos donde vamos a poner todos los datos de WordPress, para ello vamos a usar el siguiente comando en la terminar para abrir el administrador de MariaDB.

sudo mysql -u root -p

Una vez hemos entrado en el administrador del servidor de MariaDB, haremos la siguiente consulta para crear una base de datos llamada wordpress.

create database wordpress;

Para asegurarnos de que todo está correcto, podemos ejecutar la siguiente consulta en el administrador de SQL.

show databases;
Administrador de MariaDB después de crear la base de datos para WordPress

Y ahora vamos a crear el usuario wordpressuser para la base de datos de WordPress y a darle todos los permisos de acceso. Si no hacemos esto es posible que tengamos algún problema a la hora de conectarnos a la base de datos desde WordPress. Para ello vamos a ejecutar las siguientes consultas. Recuerda que donde pone tu_contraseña puedes poner la contraseña que quieras. Este usuario que estamos creando con la contraseña que le vamos a poner nos hará falta cuando iniciemos la instalación de WordPress.

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'tu_contraseña';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'tu_contraseña' WITH GRANT OPTION;

Para volver a la línea de comandos, escribiremos exit; y pulsaremos la tecla Intro.

Configurando el servidor web

Nos quedan un par de cosas por hacer para tener nuestro propio servidor web funcionando con WordPress. La primera de ellas es configurar NGINX para que use PHP. Para ello tenemos que modificar los archivos de configuración del servidor web y luego aplicar los cambios.

Para ello hay que decirle que puede usar el archivo index.php como archivo principal si no se indica que archivo buscar en la carpeta. También hay que decirle que tiene que hacer para entender los permalinks y como gestionar los archivos .php. Todo esto lo vamos a hacer en el archivo de configuración por defecto de NGINX. Aquí os dejo el comando que he usado para abrir nano y editar el archivo de configuración.

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

 Una vez hemos abierto el archivo de configuración, lo primero que vamos a hacer es ir a la línea 44 del archivo y añadir index.php al final de esa línea, justo antes del ; (punto y coma). Esto hará que se pueda usar también ese archivo por defecto si no indicamos ninguno en la barra de direcciones del navegador. Para saber en que línea estamos podemos pulsar Ctrl + C para verlo.

Y ahora, iremos a la línea siguiente de la llave que cierra la línea location / y haremos un salto de línea. Ahí copiaremos lo siguiente. Para copiarlo desde PuTTY solo tenemos que pulsar el botón derecho del ratón en la ventana. Desde el escritorio de Raspbian puedes hacerlo pulsando con el botón derecho y dándole a Pegar.

        location /wordpress/ {
                try_files $uri $uri/ /wordpress/index.php?q=$uri&$args;
        }


        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
Archivo de configuracion de NGINX modificado para WordPress y PHP

Antes de reiniciar el servidor web, hay que comprobar que todo funciona correctamente. Para ello, ejecutamos el siguiente comando en la terminal. Si todo aparece como en la siguiente captura, es que lo hemos hecho bien y podemos reiniciar el servidor web.

sudo nginx -t
Comprobación del archivo de configuración de NGINX

Para reiniciar el servidor web, ejecutaremos lo siguiente en la terminal.

sudo service nginx restart

Instalando WordPress en nuestro servidor web

Para terminar de preparar nuestro servidor web en la Raspberry Pi, vamos a instalar WordPress. Con este gestor de contenido podemos crear blogs como este y muchas cosas más, es cuestión de ir buscando lo que nos hace falta y ponerlo en él. Para instalarlo tenemos que descargarnos la última versión y descomprimirla. En el caso de este tutorial la vamos a descomprimir en la carpeta wordpress, para que las reglas que hemos añadido a la configuración del servidor web funcionen correctamente. Para ello vamos a usar el siguiente comando en la terminal. Si todo está correcto, la pantalla se tiene que quedar como la captura que os dejo a continuación.

cd /tmp && wget https://es.wordpress.org/latest-es_ES.tar.gz
tar -zxvf latest-es_ES.tar.gz
sudo mv wordpress /var/www/html/wordpress
Descomprimiendo WordPress en la carpeta del servidor web

Ahora solo nos queda darle permisos a los archivos de WordPress para que funcionen, para ello ejecutaremos lo siguiente en la terminal.

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/

Si todo ha salido bien, ya podemos poner en nuestro navegador la dirección donde hemos instalado WordPress en nuestro servidor web y seguir el asistente.

Para seguir el asistente tendremos que poner la IP de la Raspberry Pi separada de una barra y la dirección donde hemos copiado WordPress. Hay que tener en cuenta que la carpeta raíz del servidor web es /var/www/html, por lo que no tenemos que introducir esa parte de la ruta en la barra del navegador. En mi caso yo tendría que poner lo siguiente.

http://192.168.1.140/wordpress

Una vez lo hemos terminado, ya podemos trastear con WordPress lo que queramos en nuestra Raspberry Pi, hasta que nos lancemos a poner nuestra web en internet.

Asistente de instalación de WordPress en nuestro servidor web montado en una Raspberry Pi

Más información:

[themoneytizer id=»32486-28″]

33 comentarios en «Cómo instalar un servidor web y WordPress en una Raspberry Pi»

  1. Hola,

    He realizado tu tutorial y me encuentro con un problema: Cuando quiero acceder a mi servidor web desde el dominio que tengo contratado, me aparece la pagina de bienvenida de NGINX.

    He repetido el tutorial varias veces y no doy con la solucion.

    Supongo que sera algun parametro del archivo default de nginx.

    Alguna sugerencia?

    Responder
      • El tema está en que WordPress se instala en una carpeta dentro de la carpeta raíz del servidor. Si queréis que se pueda acceder directamente al WordPress de vuestra Raspberry Pi poniendo el dominio que tenéis, o bien definís un directorio virtual al que se accede cuando pides una web de vuestra Raspberry Pi desde el dominio, o en vez de instalar el WordPress en la carpeta wordpress lo instaláis directamente en la carpeta html. Cualquiera de esas dos opciones vale.

        Como recomendación, una Raspberry Pi anda muy floja para instalar un WordPress para producción, por lo menos la 3B+.

        Responder
  2. Excelente!! Pude instalar WordPress con tu tutorial ! despues de varios intentos , aprovechando el aislamiento por Coronavirus.
    Ya me estoy suscribiendo para seguirte.
    Desde Argentina , saludos

    Responder
    • Muchas gracias por el comentario Dario. Si tienes alguna duda más o ves que falta algún tutorial, no dudes en decírmelo y me pondré a ello en cuando pueda.

      Saludos desde España.

      Responder
    • ¿Al entrar en el dominio te carga la web principal de Nginx?

      Es posible que, al configurar WordPress en local, a la hora de acceder desde el dominio todas las URLs apunten a la dirección local de tu web y por eso no puedes acceder desde fuera. Tendrás que configurar la URL de WordPress con tu dominio y probar a ver si así tienes más suerte.

      Dentro de la carpeta /etc/nginx/sites-available una vez configuré un host virtual para un dominio. Te pego aquí el archivo que tengo por si te sirve de ayuda a la hora de configurar Nginx para que cuando se acceda desde el dominio entre directamente a tu WordPress.

      server {
      listen 80;
      listen [::]:80;

      listen [::]:443 ssl ipv6only=on; # managed by Certbot
      listen 443 ssl; # managed by Certbot
      ssl_certificate /etc/letsencrypt/live/www.dominio.es/fullchain.pem; # managed by Certbot
      ssl_certificate_key /etc/letsencrypt/live/www.dominio.es/privkey.pem; # managed by Certbot
      include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
      ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

      root /var/www/html/wordpress;

      # Add index.php to the list if you are using PHP
      index index.php index.html index.htm index.nginx-debian.html;

      server_name dominio.es www.dominio.es;

      location / {
      try_files $uri $uri/ /index.php?q=$uri&$args;
      }

      # pass PHP scripts to FastCGI server
      #

      location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      # # With php-fpm (or other unix sockets):
      fastcgi_pass unix:/run/php/php7.3-fpm.sock;
      # # With php-cgi (or other tcp sockets):
      # fastcgi_pass 127.0.0.1:9000;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
      }

      location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|
      jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
      expires max;
      log_not_found off;
      access_log off;
      }

      }

      server {
      if ($host = dominio.es) {
      return 301 https://$host$request_uri;
      } # managed by Certbot

      if ($host = www.dominio.es) {
      return 301 https://$host$request_uri;
      } # managed by Certbot

      listen 80 ;
      listen [::]:80 ;
      server_name dominio.es www.dominio.es;
      return 404; # managed by Certbot
      }

      Lo que sea me lo vas diciendo a ver si dejamos todo funcionando.

      Responder
  3. He hecho el tutorial varias veces, intentando apuntar un dominio, sea NOIP, DYNDNS y hasta de primer nivel, comprado. Siempre con tutoriales de gente muy puesta en el tema.
    Por lo que veo, la instalación del sistema está segura y no permite escribir en los directorios ni cambiando los permisos con chmod.

    Responder
    • Buenas Zicoxy3.

      ¿Has abierto los puertos en el router para que puedas acceder por internet? ¿Al apuntar con el dominio a tu IP carga la página de inicio de Nginx? ¿Has cambiado la URL de WordPress para que cargue desde el dominio en vez de desde la IP en local?

      Son las cosas que se me ocurren que te pueden fallar, más cosas no se me ocurren. Ve comentando por aquí como vas avanzando a ver si conseguimos que funcione. La configuración de WordPress para un dominio en una Raspberry Pi no la incluí en el tutorial porque es para gente que suele usar su WordPress en sitios de producción y eso se suele montar en hosting o servidores más potentes que una Raspberry Pi, y no lo recomiendo, ya que aún no sé cuantos usuarios a la vez puede aguantar la Raspberry Pi.

      Responder
      • Hola. Sí creo que haberlo hecho todo. He abiertos el puerto 24 y el 80. En local funciona correctamente, por lo menos lo que he probado.
        Para el dominio, mi proveedor (dondominio) me pide que meta un script de su propiedad (como hace NoIP). Me dió las instrucciones. Lo hago sin problemas (subir un par de archivos, configurarlo…) pero al comprobarlo, crea un log y me dice que no tiene permisos para ello (se los día antes). Vuelvo a meter los permisos, incluso superiores 777 y me vuelve a dar el mismo error.
        Con NoIP me pasó lo mismo o algo similar, pk ya no lo recuerdo. He hecho tantas pruebas
        A veces también me da errores de permisos al entrar en carpetas, por eso no lo entiendo.
        Lo he creado según el tutorial más de 10 veces, y siempre me pasa lo mismo.
        Quería probar a montarlo en las rapb3+ para ver el rendimiento. Mi blog es pequeñito y quizá me sirva, o me compre una rasp4 para tener más potencia.
        Tengo el proyecto de montar un servidor y todo lo que «aprenda» mejor…

        Responder
        • Buenas Zicoxy3.

          ¿Has comprobado que tienes el puerto 80 abierto para que se pueda acceder desde fuera? Puedes hacer esto desde canyouseeme.org ¿Has probado a ver si al acceder desde el navegador poniendo tuIPdeInternet/wordpress carga WordPress? Puedes consultar esa IP desde sitios como cualesmiip.com ¿Has probado esa misma dirección desde otros ordenadores desde fuera de la red donde tienes la Raspberry Pi? ¿Cuándo intentas entrar desde el dominio te carga la página principal de NGINX? ¿Has cambiado la URL de WordPress a tu dominio? Puedes hacer eso desde el panel de administrador de WordPress en la parte de Ajustes -> General ¿Has creado un sitio virtual en NGINX para que cada vez que alguien entre en el servidor poniendo el dominio que tienes te cargue directamente el WordPress, en este comentario te expliqué como hacerlo, luego tienes que crear un enlace desde la carpeta sites-available a sites-enabled.

          Una vez que tengas WordPress funcionando desde tu IP WAN, comprueba que el dominio que tienes apunta a tu IP y luego es cuando ya tienes que hacer esos pasos extra para configurar todo para que al poner tu dominio entre directamente a WordPress

          Responder
  4. Es la 3a vez que trato de instalarlo y no funciona.

    al poner mi direccion local/wordpress se abre una pagina con ese error.

    403 Forbidden
    nginx/1.14.2

    Responder
    • Buenas kaeshark.

      El error que me indicas puede ser porque NGINX no tenga permisos para acceder a la carpeta con la instalación de WordPress. Para cambiar los permisos, prueba a ejecutar este comando en la terminal:
      sudo chown -R www-data:www-data /var/www/html/wordpress/
      sudo chmod -R 755 /var/www/html/wordpress/

      Una vez lo has hecho, puedes comprobar que los permisos están correctos con el siguiente comando de la terminal:
      ls -l /var/www/html/wordpress
      Si aun así sigues teniendo el mismo problema, mandame una captura de pantalla con los el resultado del comando que te he indicado arriba al correo de contacto de la web que le eche un vistazo a ver si así puedo encontrar la solución a ese problema.

      Responder
      • Hola Sergio,
        Me pasa lo mismo
        403 Forbidden
        nginx/1.18.0 (ubuntu)

        Estoy con una Rasp4 4gb ram y Ubuntu Server 20.04.2 de 64bits.
        Conseguí instalarlo con el SO Raspbian 10, pero no sé porqué no puedo con este Ubuntu, que es el que me interesa.
        Supongo que debe ser algo de permisos, pero he seguido escrupulosamente tu magnifico tutorial.

        Responder
        • Bueno, lo he conseguido a medias, pero a cada vez tengo que escribir el comando ‘wp-config’ para configurar o ‘index’ para ir a la pagina.
          Sin embargo, he creado para probar una pagina index.html y la coge
          Parece que no le guste el php

          Responder
          • Otra vez yo.
            Todo solucionado, me olvidé de poner index.php en el archivo default de nginx.
            Perdona mi torpeza

  5. Hola Sergio! Felices Pascuas! Te cuento lo que me sucede: accedo desde una pc remota a mi Raspberry , a traves de Teamviewer. Luego de la instalación de WordPress , puse IP fija en la raspberry (seguí el tuto de la página , sin problemas). Al intentar acceder a WordPress , logro acceder a la pantalla de login , pero luego de poner usuario y contraseña , «no se puede acceder a este sitio». Creo que es por el cambio de ip que realicé , pero no sabría como solucionarlo , soy entusiasta pero muy novato. Desde ya muchas gracias

    Responder
    • Buenas Darío.

      Como bien indicas, el problema se debe al cambio de IP que has realizado en la Raspberry Pi. Como posibles soluciones puedes cambiar la IP de la Raspberry Pi a la IP antigua o modificar en la base de datos de WordPress la dirección del blog y ponerle la IP nueva. Si quieres que todo te funcione y sea sencillo de hacer, te recomiendo cambiar la IP a la antigua, modificar en el administrador de WordPress la IP del servidor al nuevo, y luego volver a cambiar la IP de la Raspberry Pi por la nueva.

      Espero que te sirva y felices pascuas a ti también.

      Responder
  6. Hola Sergio, enhorabuena por el blog! He instalado wordpress sin problemas! Ahora tengo una duda. He abierto los puertos para poder acceder desde fuera a la web, pero solo veo la pagina de presentación de ngix… se puede modificar para que acceder al dominio se muestre dominio/wordpress?

    Gracias por adelantado.

    Responder
    • Buenas Borja.

      Para poder acceder a tu WordPress como si de una web normal se tratara tienes que hacer varias cosas. La primera es modificar el WordPress para que use como URL base la de tu dominio. Una vez tienes esto, tienes que configurar el dominio para que apunte a tu IP. Y para terminar, tienes que configurar NGINX para que cuando accedan a tu servidor desde tu dominio cargue directamente el directorio de WordPress. Un poco más arriba en este comentario le explico a Zicoxy3 como configurar NGINX para que al cargar el dominio te cargue directamente el directorio de WordPress.

      Responder
      • Hola Sergio, he tenido la raspberry parada un par de días, y al encenderla hoy puedo acceder a la pagina principal de nginx, pero no puedo acceder a wordpress… me devuelve el siguiente error: 502 Bad Gateway nginx/1.10.3…

        Alguna idea de como puedo arreglar esto?

        Responder
        • Buenas Borja.

          He estado investigando tu problema y puede ser por diferentes causas. Como son muchas y he encontrado una web con posibles soluciones para todo, aquí te dejo el enlace a la web donde encontraras posibles soluciones a tu problema. Espero que te sirva.

          Responder
  7. Hola, buen tutorial, tengo una pregunta, si tengo un dominio, ¿lo podría añadir y hacer que mi servidor web estubiera en internet y pueda acceder todo el mundo?
    No sé si me he explicado correctamente, de todos modos gracias.
    Un saludo.

    Responder
    • Buenas Francisco Manuel.

      Para poder asociar un dominio a tu Raspberry Pi y que se pueda acceder desde el exterior necesitas varias cosas. Como dependiendo de varios factores se hace de una forma u otra no lo he incluido en este tutorial. Lo primero que tienes que hacer es abrir los puertos de tu router para poder acceder desde internet al servidor de NGINX de tu Raspberry Pi. Dependiendo del proveedor de internet que tengas y el router que te hayan dado, esto se hace de forma diferente.

      Una vez tenemos el puerto abierto, ahora toca conseguir un servicio DDNS para no tener que estar pendiente de los cambios de IP que se producen al tener contratado internet. Yo suelo usar Dynu para esto, ya que ademas tiene un script sencillo para poder añadirlo a la Raspberry Pi.

      Ahora tenemos que comprar el dominio. Yo los suelo comprar en Raiola Networks, que es donde tengo hospedada la web. Una vez hecho esto debemos configurar el DNS del dominio. Para que funcione tenemos que añadirle una entrada CNAME con el subdominio que hemos creado en Dynu, de esta forma no tendremos que preocuparnos cada vez que nuestro proveedor cambie nuestra IP.

      Luego tenemos que crear las reglas del servidor de NGINX para que cada vez que alguien entre desde el dominio vaya directamente a la carpeta donde tenemos instalado WordPress, haciendo así que cuando entremos directamente al dominio se nos cargue nuestro blog. Esto está explicado en este comentario.

      Para terminar tenemos que configurar la URL de la web en WordPress desde el panel de control del mismo como el dominio que hemos comprado. De esta forma nos debería de funcionar correctamente.

      Luego nos tocaría crear y configurar los certificados SSL y otras cosas más, pero la parte básica es la que te acabo de explicar.

      Responder
  8. Sergio,

    Excelente tutorial. Descrito muy bien y de manera detallada al punto que no hay pérdida.
    Voy a continuar adelante en este proposito.
    Felicitaciones!!

    Responder
  9. Muy bueno el tutorial! me he trabado en un paso cuando llego a este punto:

    sudo mysql_secure_installation

    Me sale el siguiente error:
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    y no me deja setear el password, probe desisntalando y volviendo a instalar mariadb y sigue pasando lo mismo, tengo el ultimo raspbian recien actualizado, que puedo hacer? gracias!

    Responder
    • Buenas Shiva.

      El error que indicas es debido a que mysql_secure_installation no puede encontrar el archivo para poder conectarse a la base de datos. Recuerda que si ya tienes instalado un servidor de SQL como puede ser MySQL, puedes saltarte el paso de configurar la base de datos. Lo primero que tienes que hacer es comprobar si el servicio de MariaDB está funcionando correctamente. Para ello debes poner lo siguiente en la terminal:
      sudo service mysql status
      Ahí puedes ver si el servicio está funcionando o si hay algún error a la hora de iniciar el servicio. Si el servidor está funcionando correctamente, puedes seguir este tutorial para ver si con eso se puede arreglar el fallo. Si el servicio no está funcionando, habrá que ver la causa de que no esté funcionando y arreglarlo para poder seguir con el tutorial.

      Responder
      • Genio, gracias a tu comentario pude solucionar el problema, resulta que habia usado una tarjeta SD de 4gb y por ese motivo no lograba descargar completamente el mysql_common, suguiero que agreges el paso de «sudo service mysql status» a la guia justo antes de «sudo mysql_secure_installation» para evitar este problema, desde ya muchas gracias, ya tengo mi wordpress andando!

        Responder
  10. Hola, muchas gracias por el tutorial! lo he podido seguir y creo tener todo instalado y configurado. Aunque te escribo para ver si me podes guiar con la configuración del WordPress con la base de datos ya que me da error.

    Nombre de la base de datos: wordpress
    (El nombre de la base de datos que quieres usar con WordPress.)
    Nombre de usuario: wordpressuser
    (El nombre de usuario de tu base de datos.)
    Contraseña: 123456
    (La contraseña de tu base de datos.)
    Servidor de la base de datos: localhost
    (Deberías recibir esta información de tu proveedor de alojamiento web, si localhost no funciona.)
    Prefijo de tabla: wp_
    (Si quieres ejecutar varias instalaciones de WordPress en una sola base de datos cambia esto.)

    Me sale el siguiente mensaje en la pantalla:
    Error al establecer una conexión con la base de datos

    Me podras guiar con lo que pueda estar haciendo mal?
    Muchas Gracias!

    Responder
    • Buenas Mauricio.

      Comprueba que tienes instalado y funcionando el servicio de MariaDB y que puedes acceder a él desde la consola sin problemas o usando alguna herramienta como phpMyAdmin o Adminer usando el usuario y la contraseña que has creado. Si no consigues acceder a esa base de datos tendrás que repetir los pasos para configurar la base de datos, porque es posible que hayas hecho alguno mal y por eso no pueda conectarse a la base de datos.

      Responder

Deja un comentario