Instalación de un servidor con raspberryPi4

Al parecer vamos a pasar todo a raspberrypi4 porqué tiene mucha más memoria (hasta 8GB en el momento que escribo), y el doble de potencia de calculo respecto al OrangePi PC2.
El OrangePi3 se ha demostrado un fracaso porqué es bastante inestable, poca memoria y el puerto para SSD formato NVME no puede funcionar…. así que de momento el único OragePi que se puede considerar comprar es el OrangePI PC (1) para usarlo como micrófono, aunque no es de descartas uras allí también un RP4 para ayudar en tareas de compresión de video….

bueno, aquí algunas notas:

hay que bajar la imagen minimal basada en debian buster en el momento en que escribo. De descomprime el zip y de flashea en una tarjeta SD de 16GB clase 10.

luego se monta la partición “boot” de la tarjeta SD y creamos un fichero vacío llamado “ssh” y “dhcp”
Se puede usar “sudo touch ssh dhcp” desde el terminal en esta partición

luego ponemos la SD en el raspberryPi4 y le damos corriente.

vamos a mira en el router wifi cual dirección IP le ha asignado… supongamos sea 192.168.0.153

Entramos con el termina y el usuario “pi”

ssh pi@192.168.0.153

la contraseña por defecto es “raspberry”

Cambiamos la contraseña y damos

sudo su

para entrar como root
, y luego actualizamos el sistema con

apt update && apt upgrade -y

una vez actualizado el sistema instalamos lo básico:

apt install mc network-manager git wget

De momento no he automatizado con un script el añadir un disco usb externo, pero se puede hacer a mano.

conectamos un disco usb externo (con o sin su propia fuente de alimentación, dado que según los casos el raspberrypi no da corriente suficiente))

Y supongamos ya esté formateado y tenga una partición única. En este caso se verá desde debian como /dev/sda1

No pongo aquí como crear las particiones y formatear para no equivocarme en adelante cuando copiaré y pegaré comando en la consola. De esta forma evito perder datos ya presentes en el disco externo, que a lo mejor es importante mantener

mkdir /mnt/Disk
mount /dev/sda1 /mnt/Disk

ahora creamos unas carpetas:

mkdir /var/lib/mysql
mkdir /var/www
mkdir /var/backup
mkdir -p /mnt/Disk/SRV/mysql
mkdir -p /mnt/Disk/SRV/postgresql
mkdir -p /mnt/Disk/SRV/tmp
mkdir -p /mnt/Disk/SRV/www
mkdir -p /mnt/Disk/SRV/log
mkdir -p /mnt/Disk/SRV/backup

ahora vamos a modificar /et/fstab para que monte automaticamente al boot el disco externo


UUID=$(blkid /dev/sda1 | tr ‘ ‘ ‘\n’ | grep ‘^UUID’ | cut -d ‘”‘ -f2)
echo “UUID=$UUID /mnt/Disk ext4 defaults 0 0
” >> /etc/fstab

hay que modificar el swap file

dphys-swapfile swapoff
dphys-swapfile uninstall
mcedit /etc/dphys-swapfile

y modificamos estos valores

CONF_SWAPFILE=/mnt/Disk/swap
CONF_SWAPSIZE=2048 (…o mas)

luego

dphys-swapfile setup
dphys-swapfile swapon

modificar el fichero /etc/sysctl.conf

mcedit /etc/sysctl.conf

y añadimos en el fondo

vm.swappiness=60

ahora toca montar con la opción bind las carpetas, pero antes copiamos los logs en su nueva ubicación


cp -R /var/log/* /mnt/Disk/SRV/log

Nota: si ya está instalado mysql o postgresql hay que parar el servicio y copiar el contenido de sus respectivas carpetas en el disco duro

luego modificamos otra vez a /etc/fstab


echo ‘
/mnt/Disk/SRV/mysql/ /var/lib/mysql none bind 0 0
/mnt/Disk/SRV/postgresql /usr/lib/postgresql none bind 0 0
/mnt/Disk/SRV/tmp/ /tmp none bind 0 0
/mnt/Disk/SRV/www/ /var/www none bind 0 0
/mnt/Disk/SRV/log/ /var/log none bind 0 0
/mnt/Disk/SRV/backup/ /var/backup none bind 0 0
‘ >> /etc/fstab

probamos con un reboot si funciona todos los cambios y tendría que si funcionar

ahora le asignamos una IP fija con nmtui y le damos

IP fija: 192.168.0.2/24 (u otro según las necesidades)
Gateway 192.168.0.1
DNS 8.8.8.8
DNS 1.1.1.1

He decidido que voy a usar

192.168.0.1 para el router
192.168.0.2 para el servidor principal
192.168.0.3 para el servidor audio
192.168.0.100 por arriba para las cámaras

a este punto el sistema está listo para instalar lo que se necesita

Para exponer el raspberryPi a internet, ir a router y activar el dmz hacia la ip 192.168.0.2

claramente el DMZ no es la opción mejor de todas, pero es mucho más fácil que pelearse con los puertos uno a uno. Luego con la experiencia se puede modificar…. o dejarlo así y activar el firewall de linux que es muy muy bueno también. Pero esto es para otra puntada

Leave a Reply

Your email address will not be published.