Para empezar debes saber que hay muchas formas y variantes para montar un servidor web doméstico en tu propia casa u oficina. Además el trabajo que supone puede ser relativamente serio y requiere de ciertos conocimientos avanzados. El método que presento aquí es el resultado de investigar y aplicar las mejores opciones para mi caso concreto, que coincide con las necesidades que muchos particulares y negocios pueden tener, pero siempre hay variables que deben tenerse en cuenta y adaptar el trabajo según los requerimientos de cada caso. Por supuesto este método se puede mejorar y parte del trabajo es el mantenimiento y cuidados del servidor tras su puesta en funcionamiento. En este artículo te muestro de forma sencilla, cada parte a tener en cuenta, separándolas de forma lógica y cronológica. No esperes un manual complejo y detallado, aquí tienes nociones bien presentadas y comprensibles, una buena referencia para tener claras las partes más importantes y estar prevenido si te animas a hacerlo.
Introducción y expectativas
Antes de nada, aclaremos de forma muy básica cómo funcionan las páginas web, por si fuera necesario. Una página web es un conjunto de archivos que se alojan en un almacenamiento conectado a internet para que dichos archivos sean accesibles a distancia por otras personas, que mediante el navegador web de su ordenador o teléfono móvil podrán acceder a esos archivos que componen la página web. Un navegador web se encarga de recibir los archivos de la página e interpretarlos para mostrar la web en pantalla. El alojamiento donde se almacenan los archivos de la página web se llama servidor web y básicamente se compone un disco duro para guardar los archivos y otros componentes informáticos que se encargan de manejarlo mediante un sistema operativo.
Bien, la idea es tener un servidor web en casa o en tu oficina así que la base está clara, necesitas un dispositivo que pueda alojar y servir páginas webs de forma eficiente. Hay muchos dispositivos que capaces de hacer esto, de hecho puedes comprar un servidor web profesional ya preparado con el gasto que supone o convertir tu propio ordenador en un servidor web instalado algunos programas sencillo, pero tendrás que dejarlo conectado y encendido de forma permanente. Tu propio router puede funcionar como servidor web pero manipularlo para conseguirlo puede meterte en problemas con tu proveedor de internet y en el mejor de los casos, si lo consigues, el rendimiento será muy limitado y estarás forzando tu router con tareas que no debería hacer. También hay servidores NAS o web pequeños que puedes comprar y configurar, pero también estarás haciendo una inversión económica importante. La idea que te presento aquí requiere ciertos conocimientos pero sin duda es de las soluciones más económicas, limpias y controladas que te ahorrarán cientos de euros al años en proveedores de hosting y dominios, porque conseguirás alojamiento web y dominio gratis.
La solución más sencilla y económica para montar un servidor web en casa y publicar algunas páginas con buenos resultados es contar con un dispositivo dedicado como una Raspberry Pi, un pequeño y famoso ordenador que se vende como una placa informática sencilla, capaz de soportar todos los elementos necesarios para funcionar como un PC de escritorio básico, como un servidor web u otras muchas aplicaciones. Una Raspberry PI acepta diferentes sistemas operativos, generalmente basados en Linux. Existen muchas variantes y distribuciones de Linux diseñadas y preparadas para diferentes usos. Una Raspberry Pi con el sistema operativo adecuado es lo principal para comenzar a montar un servidor web, pero una vez conseguida esa parte debes preparar el sistema instalando pequeños programas y aplicaciones adicionales y necesarios para conseguir tu propio servidor web. En este artículo te hablo de todos los detalles de forma sencilla pero es importante tener en cuenta que para conseguirlo es necesario tener ciertos conocimientos avanzados sobre Linux y servidores web, o bueno, tener cerca a alguien con esos conocimientos. Incluso con todo resuelto piensa que hablamos de un servidor web sencillo, que podrá hacer grandes cosas si lo preparas bien, pero no es un servidor web de altas prestaciones, así que seamos realistas. Si quieres montar tu propio servidor web para publicar 100 tiendas online que generen tráfico alto cada día, olvídate. Pero lo que si puedes hacer es tener varias páginas web publicadas en internet con resultados profesionales para promocionar tu empresa, negocio, productos o servicios, para tus blogs personales, galerías de imágenes o vídeos privadas. Teniendo en cuenta la gran variedad de cosas que puede ofrecer una página web, podrás hacerte una idea clara de todo lo que puedes conseguir, sin gastar más dinero, cuando montas tu propio servidor web en casa.
Ventajas de tener tu propio servidor web Raspberry Pi en casa
La principal ventaja de tener tu propio servidor web doméstico es que cada año estás ahorrando cientos de euros. Sí, tal cual. Un proveedor de alojamiento web o hosting profesional incluyendo espacio de alojamiento y dominio para dirección de internet puede costarte de media al año unos 120 euros, y me quedo corto. En los últimos años además el precio por por estos servicios está subiendo de forma terrorífica, donde pequeños y medianos negocios están pagando entre 500 y 800 euros anuales por servicios inflados que además incluyen prestaciones que no necesitan o no pueden aprovechar. Ahora compara.
Una Raspberry Pi modelo 3B, como la que te está mostrando esta web, ahora mismo cuesta menos de 50 euros en Amazon, pago único (aquí tienes su enlace). Necesitarás una tarjeta de memoria SD que funcionará como el almacenamiento de la Raspberry, unos 12 euros o menos (Enlace a la tarjeta de memoria SD). Puedes sumarle el precio de una carcasa para protegerla, menos de 11 euros! (aquí tienes enlace a la carcasa). Sumamos? por unos 70 euros tienes tu servidor web. El resto de programas y aplicaciones para que funcione el servidor es gratis. Otra ventaja es el control total sobre tu servidor. Aunque los proveedores de alojamiento ofrecen soluciones bien configuradas vas a encontrar límites de almacenamiento que en ocasiones son un problema si quieres publicar archivos grandes en tus páginas web como vídeos o descargas. En otras ocasiones, muchas, los proveedores incluyen servicios adicionales que no necesitas pero debes pagarlos.
Muy importante: No estarás sacrificando el aspecto y características de tus páginas web, que se mostrarán perfectas y funcionarán sin problemas, tal y como pasaría en un servidor web profesional pagando a proveedores. Si tu servidor web Raspberry doméstico está bien montado y configurado, sus características principales serán PROFESIONALES Y las personas que visiten tus páginas web no notarán nada raro ni tendrán una mala experiencia.
Inconvenientes y riesgos de tener un servidor web doméstico
Por supuesto, no todo son ventajas pero lo riesgos o inconvenientes que puedes tener son siempre asumibles y controlables. El primer inconveniente u obstáculo puede ser la puesta en marcha del servidor, que no es necesariamente compleja si sigues unos pasos, pero se deben cuidar los detalles. El proceso de instalar el sistema operativo y añadirle complementos para que funcione como un servidor web es limpio y claro, pero debe hacerse con cuidado y dedicación. Más abajo te cuento detalles sobre esto.
Por otro lado debes tener en cuenta que un servidor web doméstico depende de la energía eléctrica y conexión a internet de tu casa. La energía que consume una Rasbperry Pi al mes ni la notarás en la factura y tu conexión a internet seguirá costando lo mismo, pero si hay un apagón o tu conexión a internet se cae, tu servidor web se apagará o dejará de estar conectado a internet. Ya que estos problemas no suelen darse a menudo tampoco deberían preocuparte, pero si tenerlos en cuenta.
Por último, un dispositivo conectado a internet, por desgracia, puede sufrir ataques informáticos, especialmente los servidores son objetivos que muchos sistemas de pirateo automático buscan para atacar. Esos ataques pueden comprometer la seguridad tanto de tu propio servidor web como de los visitantes que navegan por sus páginas web, pero tranquilo, también te cuento aquí como proteger tu servidor y tener la seguridad necesaria. Por ejemplo, ahora mismo, mientras lees esto, seguramente hay 3 ó 4 sistemas piratas intentando atacar este servidor web que t muestra esta web, pero todo sigue funcionando bien. Nada es infalible, pero verás que puedes proteger tu servidor y dejar de preocuparte.
Ahora veamos las nociones técnicas, intentaré mantener la sencillez y claridad ya que para darte una buena base no será necesario profundizar tanto.
Preparativos físicos y hardware
Lo primero es armar físicamente los componentes. Pongamos que ya tienes tu Raspberry Pi dentro de tu carcasa para protegerla y cuentas con la tarjeta SD. No insertes aun la tarjeta de memoria en la Raspberry, necesitarás prepararla por separado antes. Coge tu Raspberry y conéctala con un cable de red directamente al router de casa u oficina. Deja el enchufe de corriente desconectado, aun no tenemos la tarjeta SD preparada con sistema operativo que funcionará cuando la insertemos en la Raspberry. Aquí no hay más, simplemente un cable de red que se conecta al puerto de la Raspberry y por el otro extremo a uno de los puertos de red de tu router. Deja la Raspberry en un lugar despejado, ventilado y seguro.
Programas, aplicaciones y software para el servidor web
Mientras tu Raspberry espera apagada junto al router, debes descargar el sistema operativo que instalado en las Raspberry hará que todo funcione. Puedes descargarlo de forma gratuita, hay muchas variantes pero yo te recomiendo DietPi, que está super optimizado para hacer que tu Raspberry funcione ligera y rápida. Una vez descargado el sistema operativo debe copiarse a la tarjeta SD con un programa especial, como balenaEtcher, también gratis, para que el sistema operativo se pueda ejecutar en la Raspberry. Es facil y rápido. Cuando tienes el sistema operativo listo en la SD ya puedes insertar la tarjeta de memoria en la Raspberry y encenderla para que se conecte a tu red a través del router.
DietPi funciona con comandos sencillos escritos en pantalla, no tiene un entorno gráfico como Windows pero sí tiene pantallas de configuración con menús que puede manejar fácilmente para la configuración inicial. Siempre puedes instalar un entorno visual con ventanas parecido a Windows, pero no te lo recomiendo porque realmente no supone una gran ventaja y cuando el servidor web se quede funcionando no necesitarás manejarlo continuamente a través de una pantalla y además ese escritorio estará consumiendo recursos.
Para comenzar a trabajar con tu Raspberry necesitas conectar con ella. Lo harás desde cualquier ordenador conectado a la misma red del router, puede ser por wifi o por cable, usando una aplicación de «Terminal» que suelen venir instaladas en Windows y Mac, pero también la puedes descargar de forma gratuita. Al abrir la terminal solo ves una pantalla esperando comandos escritos, primero para conectar a la Raspberry y luego para trabajar con ella enviándole comandos.
Recuerda que en este artículo solo te muestro las nociones para que tengas un mapa de todo lo que debes hacer, pero los comandos de la terminal o la forma de instalación y configuración de programas y aplicaciones puedes encontrarlo facilmente en muchos sitios de internet o incluso pidiendo ayuda a la inteligencia artificial en chats gratuitos como ChatGPT, Gemini, Claude o Grok.
Los complementos de DietPi para el servidor web
DietPi es el sistema operativo base para que la Raspberry Pi funcione y puedas trabajar con ella, pero para convertirla en servidor web debes instalar algunos programas o paquetes adicionales que convertirán tu raspberry en un servidor web.
Nginx, el corazón del servidor web
Existen diferentes programas que convierten un sistema en un servidor web. Uno de los más conocidos es Apache, pero para sistemas con menos potencia o recursos destaca Ngix. Una vez instalado en Dietpi te permite alojar archivos web en una carpeta del sistema y estos quedarán accesible para navegadores web.
WordPress, el sistema de creación de páginas web
WordPress es alucinante. Se trata de un entorno de desarrollo de páginas web sencillo, muy potente y que puedes escalar tanto como necesites. Funciona a través del navegador web y desde su panel de control web te permite crear y gestionar todo tipo de páginas web de forma visual. Dentro de WordPress también puedes añadir complementos para aumentar o enriquecer el aspecto, funciones y rendimiento de tus páginas web. Una maravilla gratuita de gran valor.
PHP y MySQL (MariaDB)
Con Nginx ya tendrías un servidor web perfecto para publicar páginas web sencillas en formato HTML básico, pero no sería suficiente para trabajar con páginas web avanzadas como las que nacen de WordPress, que necesita un par de complementos como requisitos. PHP es un lenguaje de programación que funcionará como un motor complementario a Ngix para que WordPress funcione. Además WordPress trabaja con bases de datos así que será necesario instalar en DietPi un sistema de gestión de bases de datos. El más conocido es MySQL pero su variante MariaDB suele ser más apropiada en la actualidad. No te preocupes, una vez instalados y bien configurados, PHP y MariaDB funcionan solo y WordPress trabajará con ellos de forma automática.
El rendimiento del servidor web
gzip, cache, minimización y optimización de wordpress.
La configuración de tu red y router para que sacar tus páginas web a internet
Para que tu Raspberry esté conectada a internet ya la «enchufamos» con un cable a tu router y por tanto a la red local (La Raspberry debe estar configurada en DietPi con una IP estática). Así puedes conectar con ella a través de la terminal para trabajar y prepararla como servidor, descargar Nginx, php, etc. Pero tu router aun no sabe qué hacer cuando alguien desde el exterior quiera visitar las páginas web que estarán en tu Raspberry, así que debemos añadir una configuración a tu router para que envíe todas las peticiones web externas hacia la Raspberry (a su IP estática), que estará esperando esas peticiones para servir las páginas web y enviarlas como respuesta, de nuevo a través de tu router, hacía el navegador web de destino. Para hacerlo debemos ir a la configuración del router para «redirección de puertos».
En la comunicación por internet existen diferentes protocolos y cada uno suele usar un puerto diferente. En nuestro caso, para un servidor web, necesitamos «abrir» los puertos 80 y 443, así que en la configuración del router debemos añadir 2 reglas de redirección hacia la IP estática del router. Así, cuando tu router reciba una solicitud de visita web desde el exterior para los puertos 80 y 443 sabrá que debe enviar esas peticiones a la Raspberry. Debes tener en cuenta que en ocasiones el puerto 80 suele estar reservado en la configuración del router, en ese caso tu router o tu proveedor de internet debería darte los medios necesarios para liberar ese puerto y poder apuntarlo hacia la IP de tu Rasbperry.
La dirección web de tu servidor (dominio) y la seguridad SSL
Ya tenemos nuestra Raspberry funcionando con el sistema DietPi, Nginx y algunos complementos para que funcione como un servidor web, tu router también está configurado para derivar la peticiones web del exterior hasta la Raspberry. Pero la única dirección que lleva a tu Raspberry es la IP pública de su conexión a internet. Ahora debemos conseguir una dirección más amigable para la visitas, lo que conocernos por dominio.
En duckdns.org te ofrecen un dominio gratuito que puedes asociar con tu IP de internet como dirección de destino a tu Raspberry, del tipo tunombre.duckdns.org. La configuración de DietPi permite dejarlo todo listo en varios pasos.
Además, con un par de comandos en la terminal podrás solicitar de forma gratuita un certificado SSL en Let’s Encrypt y dejarlo asociado a tu dominio de Duckdns para que la navegación por las páginas web de tu servidor sea segura y proteja a los visitantes. Este tipo de certificados deben actualizarse cada cierto tiempo pero DietPi se encargará de forma automática si configuras el «Cron» de Linux con otro par de comandos, que es como un agente o secretario que trabaja en segundo plano para realizar tareas en tu servidor.
Seguridad y protección del servidor web
fail2ban iptables