Cuando hablamos de servidores es imposible no imaginar una sala llena de estantes con equipos, luces parpadeando por doquier, totalmente confidencial, al más puro estilo de películas de ciencia ficción, sin embargo, un servidor no es más que un equipo que atiende solicitudes de un cliente, por lo tanto, cualquier computador podría serlo. Claramente si el computador no es potente será lento y tendrá funciones limitadas, pero cumplirá su cometido de todas formas.
Si vemos hacia atrás, ya instalamos el sistema operativo en nuestra Raspberry y ya instalamos herramientas que nos facilitaran la vida a la hora de hacer acciones sobre nuestra tarjeta de forma remota. (si no los viste puedes verlos en la sección tutoriales, Instalación de Sistema operativo con Pi Imager y Herramientas útiles para Raspberry). Entonces podemos convertir nuestra Raspberry en un servidor de aplicaciones y podremos acceder a ellas como cliente.
Lo que haremos es crear un servidor LAMP, usado para desarrollar páginas web, hacer testing y estadística, entre otras cosas. El acrónimo viene de:
- L, Linux es el sistema operativo en el que se instalara todo, (si fuese Windows seria WAMP), recordemos que Raspberry pi OS está basado en Debian, distribución libre de Linux.
- A, Apache es un servidor web, libre. Es un software open source y con licencia GPL cuyo nombre proviene de la frase inglesa “a patchy server”
- M, MySQL es un sistema de gestión de base de datos, comprada por Oracle, por ello y por el temor a una licencia de pago se comenzó el uso de MariaDB, que entrega mejores prestaciones que su antecesor
- P, PHP es un lenguaje de programación que se adapta de gran manera al desarrollo web

Definiremos también 3 conceptos claves al trabajar con sistemas conectados en red, estos son la dirección IP, la máscara, la puerta de enlace y el DNS.
La dirección IP es asignada por el router para cualquier dispositivo que sea capaz de conectarse a él, suele cambiar cada cierto tiempo, dependiendo de cuantos dispositivos estén conectados. La dirección es una identificación dentro de la red para facilitar los accesos. La IP para un dispositivo es única dentro de la red, con esto se evitan conflictos al conectarse a la dirección especifica. El formato de cuatro números que van desde 0 hasta 255.
La mascara de red da un limite a la red a la que esta conectada un dispositivo, así el puede o no acceder a la red. El formato es igual al de la IP, para saber si puede mandar datos a una IP, comprueba la mascara y chequea que parte de la IP tienen que coincidir. La recomendación es usar 255.255.255.0, el formato común para nuestras redes de casa.
La puerta de enlace (o el router) asigna direcciones IP automáticamente a los dispositivos conectados a la red y toda la información que entra y sale de ellos para por el router. El asignar una IP fija a la raspberry ella indica a la puerta de enlace la IP y es asignada. Si la IP esta ocupada por otro dispositivo una de las dos debe ser cambiada para que funcionen.
El DNS es un servidor que traduce las direcciones web a IP al navegar por internet, con ellos es posible ingresar rápida y fácilmente a cada sitio, sin la necesidad de memorizar las direcciones específicas. Comúnmente la puerta de enlace es la encargada de conectarse a los DNS.
Ahora iniciaremos la instalación y configuración necesaria. Empecemos conectando nuestra Raspberry al router, con el sistema operativo instalado y energizamos. Si configuramos con wifi debiese conectarse a la misma dirección al energizarse. Si no sabes la dirección puedes verla ingresando a la dirección IP del router y viendo los dispositivos conectados o conectando un monitor y verla en la parte superior derecha, también debe estar habilitada la comunicación SSH.
Abrimos PuTTY para configurar de forma remota la Raspberry, debemos ingresar la IP además de usuario y clave.
Ingresamos al terminal y realizamos una actualización de los paquetes y del sistema y reiniciamos

Una vez acutalizado todo hacemos un restart de la conexión con PuTTY para volver a la sesión, dando click derecho sobre la ventana del programa y presionando “Restart Session”. Debemos obtener algunos datos para la correcta configuración. Primero saber cuál es nuestra dirección IP, ya debiésemos saberla, pero si quieres comprobarlo puede escribir en el terminal.

La información desplegada será abundante, pero debemos buscar la sección eth0 para buscar la IP o wlan0 en el caso de que estés conectado por wifi, aquí una imagen de nuestro caso

Lo siguiente será conocer nuestra puerta de enlace. Si ingresaste al router para ver la IP de tu Raspbery ya tienes esta información, si no puedes obtenerla con el comando

Obtendrás la Ip del router al que estas conectado, en nuestro caso por el cable de red

Lorem fistrum por la gloria de mi madre esse jarl aliqua llevame al sircoo. De la pradera ullamco qué dise usteer está la cosa muy malar.

Nos quedaremos con toda la información disponible, ambos valores en nuestro caso

A modo de resumen la información que tengo es:
- IP: 192.168.1.85
- Puerta de enlace: 192.168.1.1
- DNS: 200.28.4.130
200.28.4.129
Esta información la usaremos para asignar una dirección IP fija en la raspberry y no tener problemas en el futuro de que nuestro router asigna otra dirección. Lo ideal es asignarla también en él.
Para el caso asignaremos una dirección alta (cambiaremos el ultimo valor de 85 a 185) y así evitaremos problemas.
Modificaremos el archivo de configuración de red, para ingresar al archivo escribimos en el terminal

Al final del archivo que abrimos agregaremos los datos que obtuvimos de la siguiente manera (los DNS van separados por un espacio)
La información agregada es:


Para salir, presionamos Ctrl+x, escribimos s para guardar la modificación y enter. No olvides que utilizamos la red cableada, si lo haces con wifi, la interface será wlan0
Cruzamos los dedos, reiniciamos y accedemos con la nueva IP, que será la misma cada vez que encendamos nuestra raspberry. Ahora continuamos con la instalación del servido LAMP.
Lo primero será instalar apache, lo haremos con la instrucción siguiente:

Una vez instalado el servidor web, lo reiniciamos para actualizar la información

Ya instalado y reiniciado, podemos comprobar que funciona ingresando a la IP de la raspberry desde otro dispositivo conectado a la misma red, veremos algo como esto al ingresar la IP de la RPI en el navegador.

Ahora instalaremos PHP, la última versión disponible. Para ello ingresaremos el comando

Para comprobar la versión ingresaremos en el terminal el comando

Veremos la versión de esta manera

Lo siguiente será instalar la base de datos, para ello ingresaremos el comando de instalación de la siguiente manera

Para saber la versión instalada usaremos el comando

Veremos la versión de la siguiente forma

De esta manera ya tenemos nuestra Raspberry preparada para operar como un servidor, asignamos una IP fija para facilitar los accesos, instalamos todos los complementos necesarios del servidor LAMP, así que en el próximo articulo instalaremos una aplicación web basada en PHP, un sistema de inventario gratuito donde incorporaremos la base de datos y podremos acceder a él desde cualquier dispositivo conectado a la misma red.