✅Crea un servidor web con Raspberry Pi casero en 10 minutos
Como el título indica, vamos a gastar 10 minutos de nuestro tiempo en montar nuestra propio servidor casero. El ordenador perfecto para hacer de servidor local en casa es un ordenador pequeño de consumo reducido. ¿Y cual es el ordenador más pequeño y que menos consume? Exacto: la Raspberry pi. Para ello solo vamos a necesitar una y un poco de paciencia. Al finalizar el tutorial tendrás tu propio servidor web, que te servirá por ejemplo para hacer pruebas. Incluso, este servidor local, te servirá para preparar tus propios sitios en wordpress en local antes de subirlos a producción. Y ya si quieres rizar el rizo, redirigiendo el puerto 80 de tu router hacía la ip de la raspberry podrás lograr que tu servidor casero esté disponible para todo el mundo.
Aviso: tienes la solución más optimizada para tu servidor web local a fecha Noviembre de 2021 al final de la entrada. Puedes llegar antes pulsando aquí
Contenido
?Razones para montar un servidor web casero con tu Raspberry
Seguro que estarás cansado de buscar y probar opciones de web hosting gratis. Créeme, no hay una que te dé todo lo que necesitas para montar tu sitio web. Lo mejor es crear tu propio servidor web en casa. Todas las opciones de alojamiento web gratis tienen alguna tara. ¿Sabes por qué? porque gratis y regalado hace tiempo que murieron.
Así que desconfía si alguien te ofrece hosting gratis. Ese alojamiento web gratuito o te inserta publicidad, o es más lento que el caballo del malo. Es posible que tu servidor lo compartas con cientos o miles de webs que se dedican a extraños procesos que consumen los recursos del ordenador en el que se aloja tu web. Así que cuando consigas conectar parecerá que has vuelto a los tiempos del módem de 56K.
Huye de servidores web gratuitos
Por todo lo anterior la consigna es clara: huye de servidores web gratuitos. Todos prometen el cielo y realmente te dan un billete derecho al infierno. Ya te lo he dicho, regalado se murió. El 99,99% de los alojamientos web gratuitos son lentos, incluyen publicidad y pasan mas tiempo caídos que online.
Por no hablar de nuevo que vas a compartir servidor web con la creme de la creme del spam. Esa es la principal funcionalidad de los servidores web gratis: alojar toneladas de spam.
Ventajas de usar una Raspberry como servidor casero
¿Porqué hemos elegido la Raspberry Pi como base para armar nuestro servidor casero? Son muchos los motivos para utilizar una Raspberry como servidor casero Pues vamos a enumerar las ventajas
Vamos a lograr un servidor casero barato
Ahora seguro que estás pensando que crear un servidor web es muy complicado y costoso. Pues no. Costoso ni de coña. La opción más asequible y decente sería contratar un vps. El mejor en relación calidad / precio para mí es el básico de ovh. Esto vienen a ser unos 60 € al año. La Raspberry Pi está en 35 €. Así que en 6 meses has amortizado la inversión. ¿Complicado montar un servidor web en casa? Pues tampoco. Con poco más de 4 comandos lo tendrás listo y funcionando y, aprenderás un montón.
La versatilidad de la Raspberry Pi como servidor casero
Y además de convertirla en servidor casero local, puedes usar la Raspberry para un montón de cosas mas: montar tu propio NAS, hacer tu propia VPN para acceder a tu red desde cualquier lugar del mundo. Puedes convertirla en un centro multimedia que reproduce vídeo en 1080 sin problema. Incluso la puedes usar como sistema de videovigilancia casero o como contador de personas.
Servidor casero de bajo consumo y silencioso
Otra ventaja es que tendrás un servidor casero de bajo consumo eléctrico. La Raspberry Pi gasta tanta electricidad como la carga de un móvil. Por un lado vamos a ahorrar al no tener que contratar un hosting y, por otro, apenas nos va a afectar en la factura de la luz.
Y, además, al carecer de partes móviles, no escucharás ningún ruido molesto y reinará el silencio en la habitación en la que hayas instalado tu servidor casero.
Así que si no tienes intención de montar tu propio Amazon o una alternativa a Facebook, sino que tan solo quieres una simple página web en wordpress, tu mejor opción es seguir leyendo el tutorial. Si tienes cualquier duda intentaré resolverla en los comentarios. Vamos con nuestro alojamiento gratis a lo Juan Palomo. Vamos a crear un servidor web casero paso a paso
1️⃣Preparando todo para el servidor casero web en la Raspberry Pi
Pues empecemos yendo directos al grano. Al final del tutorial deberíamos ser capaces de montar un servidor web casero. Vamos a ser nuestros propios proveedores de hosting gratuito. De esta manera ahorramos un poco de dinero, aprovechando nuestra flamante fibra óptica y, a pesar de nuestra ip dinámica.. Así que como dijo mi amigo Jack, vamos por partes.
- Necesitas una Raspberry Pi 3, un mini-ordenador equipado con un 1gb de RAM,un flamante QUAD-CORE y una GPU capaz de reproducir video a 1080p por HDMI sin despeinarse. Una tarjeta Micro-sd de clase 10, un cargador de móvil microusb (recomendable al menos 2 Amperios), un cable hdmi (seguro que tienes uno en casa que te va a hacer de donante temporal para el primer arranque) y mucha paciencia. También puedes aprovechar para montar tu servidor web algún equipo que tengas sin uso en casa. Pero seguro que hace más ruido, ocupa mas sitio y consume mas que la Raspberry[amazon_link asins=’B01CD5VC92,B01CI58722,B01566WOAG,B06XW91D41,B06XW97Z9M,B06XFHQGB9,B01N10KEPP’ template=’ProductGrid’ store=’ppmv-21′ marketplace=’ES’ link_id=’bfccd22b-8807-11e8-a1ac-77e94c02a7c3′]
- Descárgate una imagen actualizada de Raspbian, te recomiendo la LITE, sin entorno gráfico ni escritorio, es ideal para montar un servidor casero local en la Raspberry. Raspbian es un derivado de Debian, una distribución de Linux optimizada para sacar todo el jugo a esta placa todo en uno. Llegados a este punto, no te asustes. Vas a tener que usar la consola de Linux. Al principio puede parece complicado, pero lo coges rápido e incluso, la echarás de menos en Windows.
- Una vez descargada, la descomprimes. Te instalas el Win32DiskImager. Esta es una herramienta que se encarga de grabar la imagen de Raspbian en la Tarjeta Micro-SD de la Raspberry. Eso sí, borrando todos los datos que puedas tener en ella. Es muy sencilla de utilizar, seleccionas la unidad que se corresponde con tu tarjeta micro-sd y la imagen que previamente has descargado y descomprimido de Raspbian y le das al botón Write.
[amazon_link asins=’B073JWXGNT,B079HBRTZW,B00519BEQO,B073K14CVB,B073JYVKNX,B073JYC4XM’ template=’ProductGrid’ store=’ppmv-21′ marketplace=’ES’ link_id=’0f495458-b676-11e8-882e-b5f8edd3a140′] - Cuando finalice la escritura de la imagen en la microsd, la expulsas del pc , la colocas en la ranura de la Raspberry Pi 3 y prendes la placa (fuego no, al menos todavía) conectando el cable HDMI , un teclado usb y el microusb. Si todo ha salido bien, una pila de letras blancas y verdes aparecerán sobre el fondo negro de la pantalla a la que hayas conectado la placa. No es el fin del mundo, es tu pequeño servidor casero arrancando. Cuando finalice el arranque verás el cursor parpadeando y pidiéndote tu login…
- Que no cunda el pánico. En Debian, para manipular nuestro servidor casero necesitamos un usuario. Eso es lo que te está preguntando ahora la Raspberry Pi ¿Quién eres?, así que como somos muy educados le contestamos: «pi» (sin las comillas) y pulsamos enter. Ahora nuestra pequeña placa, que no es tonta, quiere asegurarse de que realmente somos pi y no po, asi que nos pide nuestra password, que en este caso es «raspberry», sin las comillas también, claro está. Pulsa enter y ya estarás logueado y dispuesto a empezar a funcionar.
sudo raspi-config
- Si no has hecho alguna incursión en Linux te aclaro que «sudo» no tiene nada que ver con la transpiración humana, sino que sirve para ejecutar los comandos con privilegios de administrador del sistema. Con este comando accederemos a la utilidad de configuración de la Raspberry Pi. Después, navegaremos por las opciones, comenzando por «Expand Filesystem». De esta manera le indicamos a la Raspberry Pi que debe usar todo el espacio disponible en la tarjeta microsd. Debian se expandirá para crear un servidor web casero.
Posteriormente, selecciona Internationalisation Options, para poner en cristiano la Raspberry. Así podrás usar el teclado en español. Por último «Advanced Options» para activar la opción SSH y la opción «Overscan» por si en tu monitor aparecen unas bandas negras que hacen mas pequeña la superficie de la pantalla. Tras todo ello sal de la utilidad de configuración y reinicia tu servidor web casero con el siguiente comando:sudo reboot
- Para terminar de crear un servidor web casero vamos a asegurarnos de que tenemos todo actualizado. Para ello teclearemos un par de comandos mas:
sudo apt-get update sudo apt-get upgrade
apt-get es el gestor de paquetes de Debian, que es la distribución linux «padre» de Raspbian. Este gestor de paquetes se encarga de instalar todo aquello que te puede hacer falta en tu servidor web casero. En este caso lo primero que le estamos pidiendo es que actualice sus listas de paquetes con las últimas versiones disponibles en los repositorios de Raspbian. Con el segundo comando le pedimos que actualice todos los paquetes que tenemos instalados a las últimas versiones estables disponible. Familiarizate con su uso y acostumbra a ejecutar este par de comandos con frecuencia. De esa manera mantendrás actualizado tu pequeño servidor web casero.
Servidor web raspberry Pi casero con Apache, PHP 5 y Mysql
Instalar PHP 5 y Apache
Vamos a instalar los paquetes necesarios para seguir con la tarea de crear un servidor web en casa. En la primera parte instalamos el sistema operativo raspbian y lo actualizamos.
Una vez actualizadas las cabeceras instalamos los paquetes con el comando
sudo apt-get install apache2 libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap php5-mhash php5-mysql php5-odbc
Nos lo tomamos con calma mientras se instalan los paquetes necesarios.
Una vez finalizada la instalación ya deberíamos tener instalada en nuestro servidor casero apache2 y el intérprete de PHP. Para comprobar que todo funciona correctamente vamos a crear nuestro primer fichero en PHP.
Para ello en la terminal de la Raspberry Pi tecleamos lo siguiente:
sudo nano /var/www/html/miprimerphp.php
Y dentro de este archivo escribiremos el siguiente contenido:
<?php echo "Hola Mundo"; ?>
Después pulsamos las teclas Control + X para cerrar el archivo y guardarlo. El último paso para poder comprobar que nuestro primer programa en PHP se ejecuta correctamente en nuestro servidor web casero es averiguar la dirección IP de nuestra Raspberry Pi. La forma más sencilla de averiguar dicha IP es tecleando en la consola el siguiente comando:
sudo ifconfig
La salida de este comando nos informará, entre otras cosas, de cuál es la dirección IP actual de nuestra Raspberry Pi. Ahora desde otro ordenador abrimos un navegador de Internet cualquiera y en la barra de direcciones introducimos la dirección que hemos obtenido de nuestro servidor casero con el comando ifconfig + la ruta de acceso al archivo.
http://192.168.X.X/miprimerphp.php
Sí todo ha salido como esperábamos en el navegador de nuestro ordenador podremos ver la frase «Hola Mundo». Ya casi tenemos montado nuestro servidor web en casa.
Instalar Mysql y phpmyadmin en nuestro servidor casero
Ahora para aprovechar toda la potencia que nos ofrece PHP es necesario instalar un motor de bases de datos. Aunque existen numerosas alternativas en cuanto a base de datos se refiere, la que mejor se lleva con PHP es MySQL. Otro día hablaremos de otros motores de bases de datos como el de Microsoft SQL Server o como el sqlite.
Así que vamos manos a la obra y seguimos con el cometido de crear un servidor casero propio. Os aconsejo tener la memoria preparada o disponer cerca de un bolígrafo y un papel, ya que durante la instalación de MySQL se os pedirá introducir una contraseña para el usuario root de MySQL.
Tecleamos el siguiente comando en la consola:
sudo apt-get install mysql-server mysql-client
Y esperamos a que se ejecute y se instalen los paquetes. Como ya os he dicho, durante la instalación os pedirá la contraseña del usuario root. Con esto queda instalado MySQL en nuestro servidor web y podemos empezar a crear bases de datos desde la línea de comandos. Ahora bien, para facilitarnos la gestión de nuestras bases de datos y poder manejarlas fácilmente vamos a instalar phpmyadmin. Para ello usaremos el siguiente comando:
sudo apt-get install libapache2-mod-auth-mysql phpmyadmin
Durante la instalación nos preguntará el tipo de servidor que tenemos instalado, tan solo tenemos que indicarle que nuestro servidor es Apache. Cuando nos pregunte si queremos configurar una base de datos le responderemos que sí. En ese momento nos solicitará la contraseña que utilizamos para instalar MySQL. A continuación nos pedirá una nueva para el propio phpmyadmin.
Sí todo es correcto bastará con teclear en el navegador de Internet la dirección IP de nuestra Raspberry Pi seguido de phpmyadmin:
http://192.168.X.X/phpmyadmin
Y accederemos a la gestión de nuestras bases de datos MySQL. Y hasta aquí la segunda parte del tutorial de cómo montar un servidor web casero en una Raspberry Pi.
Hasta el momento hemos instalado apache2, PHP, MySQL y phpmyadmin. Con todos estos componentes ya podemos empezar a hacer nuestros pinitos en la programación web.
Acceso remoto por SSH y FTP al servidor web casero
Vamos a entrar en materia para continuar nuestro servidor web casero en la Raspberry Pi. Ya tenemos todo lo necesario instalado en nuestra Raspberry Pi. Vamos a aprovecharnos de que en los primeros pasos del tutorial indicamos que queríamos habilitar el acceso por SSH a nuestra Raspberry para seguir implementando nuestro servidor web casero. Para ello necesitamos instalar, ya en nuestro PC, un par de herramientas:
- La primera de ellas para acceder por consola a nuestra Raspberry es Putty. Conociendo la IP de nuestra Raspberry nos permite controlarla de manera remota. La descargamos en un lugar fácil de recordar de nuestro pc y la ejecutamos. Nos pedirá una dirección IP a la que conectarnos, la de nuestra Raspberry Pi, la introducimos y pulsamos Open. Se nos abrirá una ventana similar a la del MS-DOS de toda la vida en el que nuestra Raspberry nos pedirá login (pi/raspberry) si nos han cambiado las que vienen por defecto. En este punto os aconsejaría que, dado que la Raspberry va a estar conectada a Internet, cambiarais el password por defecto. Para cambiar el password lo podéis hacer desde la herramienta de configuración raspi-config o tecleando un simple comando «passwd».
- La siguiente herramienta a instalar en nuestro pc es un cliente FTP. Podéis elegir el que queráis, pero yo os recomiendo FileZilla por su sencillez de uso. Una vez descargado e instalado lo ejecutamos. Podemos crear una nueva conexión, accediendo desde el menú Archivo al Gestor de Sitios o bien desde la barra de conexión rápida. Os preguntareis como vamos a acceder por ftp si no hemos instalado un servidor FTP en nuestra Raspberry. Vamos a aprovechar que activamos el acceso SSH en la Raspberry para hacer uso del protocolo SSH FTP (SFTP). Para ello en el Filezilla introducimos los siguientes datos: la ip de nuestra Raspberry, el usuario (pi) el password y el puerto 22. Si todo va bien conectaremos a nuestra Raspberry y podremos navegar por su sistema de archivos.
Navegad hasta el directorio /var/www/html y tratad de subir algún fichero. Probablemente os encontréis con un error de operación no permitida. No perdáis la calma. Recordad que habéis accedido a la Raspberry Pi con el usuario pi, así que vuestras acciones sobre directorios están limitadas a vuestro usuario y a los permisos de escritura de los directorios. Volvemos al Putty para comprobar algunas cosillas antes de continuar.
Corrigiendo propietarios y permisos del servidor web Raspberry casero
Para empezar vamos a ver quien es el propietario de ese directorio, para ello tecleamos el siguiente comando:
ls -l /var/www
Esto nos dirá los permisos de escritura del directorio, el propietario y el grupo al que pertenece el archivo. Si todo fuera correcto la salida debería ser la siguiente:
drwxrwx— 2 www-data www-data ….
Probablemente, donde aparece www-data os ponga root. En ese caso vamos a cambiarlo para que se vaya pareciendo a lo anterior. Para ello ejecutamos el siguiente comando:
chown -R www-data:www-data /var/www/html
Con esto el directorio ya pertenece a www-data y al grupo de usuarios www-data. Este es el usuario que ejecuta Apache. Ya solo nos queda añadir nuestro usuario pi al grupo de usuarios www-data. Después ajustaremos los permisos del directorio, lo que logramos con los siguientes comandos:
usermod -g www-data pi chmod -R 770 /var/www
El primer comando añade al usuario pi al grupo www-data, propietario de la carpeta. El segundo comando proporciona permisos de ejecución(1), escritura(2) y lectura(4), que si los sumamos dan 7 al propietario (primer dígito: 7) y a los integrantes del grupo (segundo dígito: 7). Al resto de usuarios no les otorga ningún permiso (tercer dígito:0)
Si quieres tener el control total de tu servidor web instalado en la raspberry, te animo a que instales webmin.
Y hasta aquí, de momento, el tutorial para crear un servidor web casero en la Raspberry Pi. Nos queda trastear un poco con los VirtualHosts de Apache. Estos nos permiten tener varias webs distintas en el mismo servidor web. También tenemos pendiente descubrir como acceder desde el exterior a nuestro servidor web. Espero que haya sido de vuestro interés este tema y que si tenéis alguna duda me la hagáis llegar a través de los comentarios.
Servidor web Raspberry Pi casero con nginx, php 7 y Maria DB
Por fin llegó el momento de mostraros como montar un servidor en la Raspberry haciendo uso de recursos más actualizados y eficientes. Todo esto que vamos a ver no es exclusivo de la raspberry. Es de aplicación para cualquier distribución basada en Debian
¿Qué vamos a instalar y porque?
Seguro que sabes que en esto de los servidores web para hacer pruebas en casa hay múltiples combinaciones de entornos:
- LAMP: Linux, Apache, Mysql y Php. Es lo que hemos instalado en la primera parte del tutorial
- WAMP: Windows, Apache, Mysql y PHP. Similar al anterior pero corriendo en máquinas Windows
- XAMPP: Windows, Apache, Mysql, PHP y Perl
- MAMP: El mismo entorno que los anteriores pero para máquinas Apple
Todos tienen en común que se apoyan en el mismo servidor web: Apache. Yo, en mis inicios, siempre usaba soluciones basadas en Apache y Mysql. Pero cuando avanzas un poco y montas tu propio VPS, te das cuenta de que esta combinación come muchos recursos del servidor web. Apache y Mysql son voraces devoradores de memoria RAM. Cuando no hay límite de recursos, pues están muy bien. Pero cuando pretendes usar una Raspberry como entorno de desarrollo de sitios webs pues ya no funcionan tan bien. Y cuando tienes que tomar la decisión de contratar un VPS, en el que sus características son las que fijan el precio, tampoco.
Así que, de momento, me decanto por usar una solución LEMP:
- Linux. En mi caso Debian siempre, por su gran comunidad, su robustez y su eficacia.
- (Engine-X) NGINX: Ese gran desconocido. Su consumo de RAM es muy inferior a Apache. Es capaz de gestionar más páginas por segundo que Apache y su tiempo de respuesta es siempre menor.
- MariaDB: como fork open source de Mysql. Similar en cuanto a rendimiento, pero software libre mantenido por la comunidad
- PHP: como lenguaje de scripting. Vamos a tratar de que nuestra raspberry se trague la versión 7.2, no disponible en los repositorios oficiales. Nada de PHP 5.6, en términos de rendimiento, siempre la última versión estable de PHP por favor.
Instalando paquetes
Pues como siempre comenzamos actualizando la distribución:
sudo apt-get update sudo apt-get upgrade
Nginx
Comenzamos la instalación del servidor web Nginx
sudo apt-get install nginx
Verás que se instalan un montón de dependencias. Tranquilo en menos de un minuto estará listo.
Puedes comprobar que Nginx está levantado y funcionando si accedes desde un navegador web a la ip de tu Raspberry:
PHP 7.0
Como os decía vamos a tratar de instalar la última versión disponible de PHP. Debian, por su política de actualizaciones y su filosofía de robustez de sus distribuciones, no siempre tienen las últimas versiones en sus repositorios. Es lo que ocurre en este caso, el PHP por defecto es la versión 7.0. Que conste que he intentado instalar PHP 7.2 pero la distribución se rompe, así que, de momento, nos conformamos con PHP 7.0
sudo apt-get update
sudo apt install php7.0-fpm php7.0-common php7.0-mbstring php7.0-xmlrpc php7.0-soap php7.0-gd php7.0-xml php7.0-intl php7.0-mysql php7.0-cli php7.0-mcrypt php7.0-zip php7.0-curl
Una vez instalado todo el repertorio, vamos a editar la configuración de php para optimizarlo y de nginx para decirle que se encargue también de servir archivos php. Para optimizar php editamos el archivo php.ini
sudo nano /etc/php/7.0/fpm/php.ini
y nos aseguramos que estos valores sean correctos. Pulsando CTRL+W buscamos dentro del editor nano
file_uploads = On allow_url_fopen = On memory_limit = 256M upload_max_filesize = 100M cgi.fix_pathinfo=0 max_execution_time = 360
Ahora editamos la configuración de nginx para decirle que se encargue de procesar archivos php:
sudo nano /etc/nginx/sites-available/default
Y descomentamos lo necesario para que nginx se encargue de servir archivos php (lo marcado en negrita)
# pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html;
Reiniciamos php y nginx
sudo service php7.0-fpm restart sudo service nginx restart
¿Habrá funcionado? Vamos a comprobarlo. Creamos un archivo php con el siguiente comando
sudo nano /var/www/html/pruebaphp.php
Y le añadimos el siguiente contenido:
<?php phpinfo(); ?>
Si todo ha ido bien, este debería ser el resultado:
Vamos bien, así que seguimos con el tutorial.
MariaDB
Es el turno de instalar un motor de bases de datos en nuestro servidor casero. Por eficiencia y, sobre todo, por ser software libre, mi opción es MariaDB
Así que vamos a ver como instalar y configurar en nuestro Raspbian:
sudo apt-get update sudo apt-get install mariadb-server mariadb-client
Después de que se complete la instalación, procedemos a hacerla un poco mas segura:
sudo mysql_secure_installation
Es bueno dejar las opciones por defecto. yo normalmente, en entornos de pruebas y en local no le pongo contraseña al usuario root. Pero ne producción aseguraros de que le ponéis contraseña y deshabilitais el login remoto del usuario root.
Ahora podríamos instalar phpmyadmin, pero si no váis a darle mas uso que la creación de bases de datos, lo podéis hacer desde la propia línea de comandos. La otra alternativa, muy recomendable, es instalar webmin, que entre sus muchas funcionalidades tiene la de crear bases de datos desde su interfaz web. Eso sí, cada vez que creeis una base de datos, acordaros de cambiar los privilegios para vuestro usuario root, ya sea a través de webmin o de la línea de comandos.:
grant all privileges on wpbasico.* to root@localhost identified by 'tupassword';
¿una raspberry pi con wifi puede ser un servidor en internet?
Pues claro que si que una Raspberry con Wifi puede usarse como servidor de internet. Ahora, el rendimiento de tu raspberry como servidor web que obtengas va a depender de muchos factores:
- La velocidad de tu conexión original por cable
- El router que uses para emitir la Red Wifi a la que se conecta la Raspberry (los que te deja la operadora van justitos en ese aspecto)
- El canal que uses y la saturación que haya en ese canal Wifi en tu zona
- La distancia a la que se encuentre la raspberry del emisor Wifi y los obstáculos que haya por medio
- El número de aparatos conectados a tu wifi
- El número de equipos conectados en tu red, tanto por cable como por wifi
Mi consejo personal, es muy tentador montarse un servidor web con una raspberry aprovechando la conectividad Wifi, pero como ves el rendimiento va a depender de muchos factores… Yo no lo haría
Y eso es todo. ¿alguna duda? Házmela llegar a través de los comentarios.
[amazon_link asins=’B01CD5VC92,B01GII0ZMA,B01GII11DM’ template=’ProductGrid’ store=’ppmv-21′ marketplace=’ES’ link_id=’0f495458-b676-11e8-882e-b5f8edd3a140′]
Hola! buen tutorial, pero esto no está acabado no??
Mucgas gracias y efectivamente Iván, No estaba terminado. Ya he terminado esta parte del tutorial. Espero que te haya resultado útil.
Pues esta muy bien explicado si tengo cualquier duda te pregunto!
Sencillo y para toda la familia
Muchas gracias Sergio por tu comentario. me alegro que te haya sido útil este post sobre como crear un servidor con la pequeña Raspberry.
Hola,
quiero montar una Raspberry para montar un servidor en producción de una web que no estimo que tenga muchas visitas pero, ¿cuántas visitas simultaneas puede soportar con este tutorial?
Gracias
Hola Santiago, gracias por tu comentario. Una Raspberry Pi 3 como servidor web con nginx y php 7 debería soportar entre 30 y 50 usuarios concurrentes sin problema
Disculpa, tengo un problema no puedo instalar php7.0 me marca que no lo encuentra
Hola Raymundo, ¿con qué versión de Raspbian estás trabajando?
Hola, estoy probando de montar el servidor y no puedo instalar php7.0, estoy trabajando con la versión de raspbian 4.19.97-v7+.
Me dice que no encuentra ningún paquete.
Gracias.
Hola,
¿que carga de usuarios simultáneos tendría la Raspberry tal cuál está montada?
Estoy pensando ne montarla, si me mantuviera 20 usuarios simultáneos me valdría.
Gracias
Hola Santy, no deberías tener problema con 20 usuarios a la vez y esta configuración en una raspberry pi 3
Hola . he logrado levantar un servidor web en mi raspberry, pero lo que no e logrado es lograr que pueda ser vista la pagina que e creado en internet. Solo en forma local. Que pasos y consideraciones debo realizar. tengo un dominio propio http://www.seguridadparaelhogar.cl y uso cdmon para dirigirlos a mi dominio , como me puede ayudar .
Hola Brancin, gracias por comentar. Desde el panel de control de cdmon deberías apuntar el registro A de tu dominio hacia la ip pública del router o modem al que esté conectada la Raspberry. Desconozco si tienes ip fija o dinámica. algunos paneles de control de dominio tienen una opción para ips dinámicas. Lo siguiente sería redirigir el puerto 80 en tu router hacia la raspberry.
Hola!
Me gustaría saber cuantos usuarios simultaneos podría soportar una Raspberry Pi Zero W con esta configuración (2019)
Saludos!
Por favor, ten encuenta el uso de Wi-Fi en vez de Ethernet
Saludos!
hola Alex, gracias por tus comentarios. Tomo nota de añadir la configuración por WIFI del servidor, en un principio no la hice por tema de rendimiento. Si tu idea es usar un pi ZERO para convertirla en servidor web casero, yo te lo desaconsejo por dos motivos: el uso del wifi y el hecho de que tenga la mitad de memoria que una Raspberry Pi normal.
Gracias por responder!
Y en el caso de comprarle un modulo Ethernet USB?
Que te parece?
Saludos!
Hola Alex, siempre puedes probar. Ahí solo tendrías el límite de la menor cantidad de RAM de la Raspberry Pi Zero. Puedes probar a comprar el módulo y a programar un reinicio de la PI cada 24 horas para que la base de datos no vaya comiéndose la memoría.
Hola, increible! funcionando!!
Te hago unas consultas, como puedo hacer para hostear mas de una página?
Hola Lucas, gracias por tu comentario. Para hostear más de una página hay que echar mano de los virtualhosts. En unos días amplío el post con un ejemplo.
Hola PedroPabloMoral
Gracias por el tutorial, buen trabajo!
Me gustaría montar este mismo tutorial en Docker. Te lo progongo como siguiente tutorial. 😉
Un saludo y gracias por compartir.
Gracias Fernando por comentar. Siempre me ha intrigado lo de Docker, así que me has dado una idea
Hola crack, buenísimo tutorial !!!!
Si te montas un servidor casero como el tuyo y vas ganando visitas se puedes ampliar fácilmente con más raspberrys ya que son económicas y crear un cluster bastante guapo, luego usas otra para hacer el balanceo de carga listo y podrás recibir muchas más visitas. También se puede montar otras RPi para las BBDD y otra como CDN, las posibilidades son infinitas con la raspberry ?
Y para trastearlas y hacer pruebas de servidores en casa van de maravilla.
Gracias Inkilino por comentar. La verdad es que las Raspberrys son una pasada para los que nos gusta cacharrear. y además por su precio son ideales para que el tenga miedo de romper el ordenador de diario.
Muchas por el tutorial. Quisiera probar Django, para no más de 5 o 6 máximo usuarios simultáneos. Sería factible con la raspberry?
Gracias
Hola Fran, gracias por comentar. No conozco mucho acerca de como Django maneja las peticiones, pero, en principio no debería darte problemas
Hola, buenas noches. Muy bueno él tutoríal, concreto y directo, como debe ser. Pero a mi me queda una duda. He montado un servidor web con un par de raspis y un par de arduinos para servicios auxiliares de Domotica y una alarma.
Pero no sé cómo hacer para poder dirigirle varios dominios y que con cada uno resuelva diferentes páginas.
Me sabrías decir, por favor donde me puedo documentar?
Gracias de antemano por tu tiempo y ÁNIMO, que lo haces muy bien.
Gracias a tí Carlos por comentar. Eso hay que hacerlo con los sites de Nginx o los virtual hosts de Apache. A ver is saco un rato y amplio el tutorial
Con apache yo lo hago con apache virtual hosts. pero no se como sera con nginx, supongo que sera similar. Yo lo he hecho en mi caso en una vps, varios dominios apuntando al mismo servidor, pero dependiendo del nombre es la pagina que se muestra.
Hola, para qué necesitamos la base de datos ?
Hola Carlos, gracias por tu comentario. Si no vas a usar un CMS tipo wordpress o no necesitas el apoyo de una base de datos porque todo va a ser html, no es requisito imprescindible que la instales.
Hola: estoy tratando de instalarlo pero no lo consigo. Me da un error de dependencias, pero parece que es entre las propias de nginx
Esto es lo que me dice:
dpkg: error al procesar el paquete nginx-full (–configure):
el subproceso instalado el script post-installation devolvió el código de salida de error 1
dpkg: problemas de dependencias impiden la configuración de nginx:
nginx depende de nginx-full (<< 1.10.3-1+deb9u2.1~) | nginx-light (<< 1.10.3-1+deb9u2.1~) | nginx-extras (<= 1.10.3-1+deb9u2) | nginx-light (>= 1.10.3-1+deb9u2) | nginx-extras (>= 1.10.3-1+deb9u2); sin embargo:
El paquete `nginx-full’ no está configurado todavía.
El paquete `nginx-light’ no está instalado.
El paquete `nginx-extras’ no está instalado.
dpkg: error al procesar el paquete nginx (–configure):
problemas de dependencias – se deja sin configurar
El problema es que si trato de instalarlos a mano nginx-full nginx-light y nginx-extras se van eliminando entre sí
Gracias muy buena información. En mi caso me retraso un poco un corchete que no habia descomentado en la configuración de nginx, de resto todo bien
Gracias a ti por comentar. La verdad es que es un poco puñetero nginx, pero para mi gusto va mucho mejor que apache
he instalado nginx, php y mariadb, pero ¿En que directorio debo poner mis archivos html o php?
Hola Luis, gracias por comentar. Generalemnte el directorio del servidor se encuentra en la ruta /var/www/html/ . Allí debes poner tus archivos
Hola buenas, dices que con la raspberry pi3 b+ soportaria entre 30 – 50 visitas a la vez
Mi pregunta es cuanto puede soportar la raspberry pi 4 b? ya que viene con un incremento de la velocidad de reloj
Gracias de antemano
Hola David, gracias por comentar. En cuanto a tu pregunta sobre utilizar una raspberry 4 como servidor web, te diría que esperaras aún un poco. La placa en si está un poco verde y han reportado problemas de estabilidad y calentamiento
Cuantas webs/dominios se podria alojar es la raspberry pi 4?
Y cuantos usuarios activos a la vez soportaria la raspberry pi 4?
Gracias de antemano
Hola te felicito por el trabajo y quiero preguntarte que opinas acerca de incorporar un Vesta panel para configurar todos los servicios por medio del navegador web. No se si se puede correr en una Raspberry pi
Hola Eduardo, gracias por el comentario y la felicitación. Hace un tiempo intenté correr el vesta en la Raspberry pero no tuve éxito. Por eso aun sigo con webmin:
Webmin
Pero no descarto hacer un nuevo intento con el vesta panel y si lo logro pondré el tutorial
Hola, es posible conectarme mediante un servidor hecho con raspberry remotamente a un plc en otro lugar?
Saludos,
Uso la Raspberry para ver videos y películas, con Kodi. Si la convierto en nube utilizando la microsd, ¿supone inutilizar la Raspberry para aquella finalidad?
Perdón, soy una analfabeta en informática.Muchas gracias.
Hola Alfonso, gracias por comentar. Podrías intentar que funcionaran ambas cosas, pero las distribuciones de Kodi para Raspberry suelen ser bastante cerradas y no tienen todos los repositorios disponibles. Yo lo tengo todo separado.
Hola, con LAMP instalado en las RASPBERRY PI puedo acceder desde otros dispositivos?
Hola Isbel, sin ningún problema. Para ello solo debes conocer la ip de tu raspberry. De esa manera puedes acceder desde cualquier equipo conectado a la misma red.
Si lo que buscas es acceder desde fuera de tu red, debes hacer una redirección en el router que apunte a la ip local de tu raspberry. De esta manera todas las peticiones que se hagan al puerto que elijas de tu ip publica, irán al puerto 80 de tu raspberry. Luego puedes completar esto con un servicio como duckdns que te permita acceder cuando cambie tu ip pública.
al intentar esta linea me sale este mensaje
sudo apt-get install apache2 libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap php5-mhash php5-mysql php5-odbc
linea a
E: Unable to locate package ……
asi con todos los que deberia de instalar
Hola Naig, gracias por comentar. Prueba la instalación con nginx, los paquetes de php5 seguramente ya no estén disponibles. A ver si actualizo el post
cuantos usuarios a la vez soportaria una raspberry pi 4 2GB ram ?
Buenas, tengo Raspberry Pi 4, con 4gb, tarjeta 32gb sandisk streme, tengo Vodafone con fibra 600 mb. He seguido este tutorial al dedillo con LAMP, Mariadb y php7.3, ha salido todo perfecto, pero en local me carga perfectamente wordpress pero remotamente tarda mucho en abrir wordpress y cuando abre es como si estuviéramos en las primeras paginas webs de primero de los años 2000, sin imagenes y modo texto casi. Creo que hago algo mal, a alguien le ha pasado esto?
Mi alojamiento donde tengo el problema: http://rubichef.ddns.net/wordpress
Hola Rubi, gracias por comentar. Creo que es algo relacionado con la configuración del wordpress. Por lo que he visto, las hojas de estilos y demás recursos se los está pidiendo a la ip local de tu raspberry (10.*.*.39). Por eso en local te funciona y cuando lo pides a través de ddns no te va.
Muchas gracias Pedro, una duda igual tonta, edito el archivo wp-config.php y cambio la ip interna por en no-ip?
Muy buenas! Lo primero de todo, agradecerte el post ya que me ha sido de gran utilidad.
Tengo el servidor ya montado, con nginx+php7.3+MariaDb. He empleado una plantilla gratuita la cual he ido modificando hasta llegar al punto de que ya puedo acceder a la página web desde cualquier navegador tecleando «http://ejemplodelnombre.syt…».
Para añadir «www» al dominio que ya tengo es necesario crear el mismo domino anteponiendo «www»?
He estado toqueteando intentando crear nuevos hosts en noip con las opciones de redireccionar web, ipv4, ipv6 pero no me aclaro mucho si te soy sincero.
Por otra parte, asignarle en el router la dirección IP de la Raspberry al puerto 80, que es la misma que para el 22, es correcto? (Ya que es como lo he configurado y funciona, además de añadir «ejemplodelnombre.syte.net» a la configuración de noip2 en linux )
Para finalizar, que archivos debería modficar dentnro de nginx para añadir el certificado hhtps a mi dominio? He descargado los certificados pero no consigo configurar nginx de la manera adecuada, ya que siguiendo diversos tutoriales cuando añado las lineas que me indican dentro de /etc/nginx/sites-available/default luego no me deja reinciar nginx y me salta error.
Un saludo y gracias de antemano.
El tema de los certificados hay muchos tutoriales para instalar y automatizar con letsencrypt, echa un ojo antes de tocar de manera manual
Como hacerlo visible a toda la web?
Hola Joseph, puedes hacerlo mediante un servicio como no-ip o duckdns
Hola señores de nuevo, me estoy volviendo loco, sigo sin poder acceder bien a mi sitio desde el exterior. Accede pero sin contenidos, solo modo texto y no carga bien… Creo que el problema es acceso pero WordPress busca las plantillas, logos gif… En dirección IP local. Al instalar wordpress u
Puse la dirección (localhost) puede ser por eso? Pongo al instalar wordpress la dirección de no-ip? Estoy desesperado ya, lo he reinstalado seis veces sin éxito. En local perfecto, pero fuera nada, solo carga a medias.
Hola Rubi, pon la dirección de no-ip, de esa manera no tendrás errores de carga de css y javascript que hacen que se te vea solo el texto
Hola! muy bueno el tutorial, aun no lo intente, pero estoy pensando en comprar una Raspberry Pi 4B de 8GB, queria saber si puedo instalar un servidor web para dejar la Raspberry conectada por ethernet en mi router e instalar moodle (no moodlebox, tengo entendido que eso es dentro de la red wifi y no desde cualquier lado) con este tipo de servidor yo podria instalar moodle y poder abrirlo desde cualquier lugar como si fuese contratar un servidor con moodle con pago mensual? (que es lo que quisiera evitar)
Gracias
Buen tutorial!
Aunque me pregunto si es posible asociarle un dominio para no tener que poner siempre la ip.
Hola! Estoy intentando seguir el tutorial, pero a la hora de instalar el apache me aparece que los paquetes de php5 no están disponibles. A qué se puede deber esto? Muchas gracias
Hola… Despues de instalar todo y funcionado siempre pasa lo mismo… Los bots te saturan tanto el servidor q se te quitan las ganas de dejarlo en OnLine… Alguna sugerencia para evitar o mitigar a estos duendesillos?…. Gracias por este magnífico tutorial…