Configuración Rasperry Pi como servidor local

April 7, 2020

Poner a punto la Raspy

  • Formatea la tarjeta a FAT32, por ejemplo con GParted

  • Descárgate Raspberry Pi Imager para hacer una instalación gráfica de uno de los SO siguientes en tu SD:

    • Raspbian (recomendado)
    • Noobs
    • Ubuntu Mate
    • Ubuntu Core / Server
    • OSMC
    • LibreELEC
    • Mozilla Web Things
    • PiNet
    • RID OS
    • Wather Station
    • IchigoJam RPI

Primera conexión

La primera que vayas a conectar la RbyPi necesitarás cierto hardware básico:

  • Ratón
  • Teclado
  • Cable HDMI
  • Monitor
  • Fuente alimentación y alimentación +2.5v

    Credenciales

  • user pi
  • passwd raspberry
  • Hostname raspberrypi

Actualización

sudo apt update
sudo apt upgrade
sudo apt-get install exfat-fuse

Configuración SSH

Ir a Preferencias > Configuración Raspberry y activar

  • SSH
  • VNC

Configurar FTP (no es necesario)

sudo apt-get install vsftpd

sudo nano /etc/vsftpd.conf

Descomentamos las siguientes líneas para permitir la escritura de archivos a los usuarios de la Raspberry Pi.

    local_enable=YES
    write_enable=YES

sudo service vsftpd restart

Conectar por SFTP

# Conectar FTP Linux desde el administrador de directorios
$ sftp://192.168.1.133

# Conectar FTP Windows desde el administrador de tareas. Click en equipo - Agregar ubicación de red
$ ftp://192.168.1.133
 
# Desde la cmd
$ ftp
$ open 192.168.1.133

Conectar por sftp a través del smartphone

Recomiendo la App para Android Cx Explorador de archivos


Conectar por SSH

Crear llaves públicas y privadas para la Raspi

$ ssh-keygen

# copiar nuestra clave a la raspi para entrar directamente
$ ssh-copy-id -i id_rsa.pub pi@192.168.1.133

# Configurar archivo config dentro de ~/.ssh
Host raspi
HostName 192.168.1.133
User pi

Si no pudiese instalar paquetes Update&Upgrade no rula

$ sudo nano /etc/resolv.conf

# and then add the lines
nameserver 8.8.8.8
nameserver 8.8.4.4

Gestión de usuarios

$ sudo adduser usuario # Crear usuario

$ sudo passwd usuario # Cambiar contraseña usuario

$ sudo groupadd grupo # añadir grupo

$ sudo adduser usuario grupo # Añadir un Usuario dentro de un Grupo
$ sudo adduser joan sudo # Añadir un Usuario dentro de un Grupo

$ nano /etc/group # Ver Todos los Grupos del Sistema

$ id # Conocer las características de mi user

Abrir puertos

$ sudo netstat -lptu
$ sudo apt-get install ufw
$ sudo ufw enable 
$ sudo ufw allow 9000

Docker en Raspberry Pi / ARM

$ curl -sSL https://get.docker.com/ | sh # Instalar docker

$ sudo usermod -aG docker pi # The syntax for adding users to the Docker group

Portainer

$ docker volume create portainer_data # crear el volumen 
$ docker run -d  \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--restart always portainer/portainer

Postgres

docker run --name postgres \
  -d --restart=always\
  -p 5432:5432 \
  -v /opt/docker/postgres_data:/var/lib/postgresql/data \
  -e POSTGRES_PASSWORD=soporte123 \
  -e PGDATA=/var/lib/postgresql/data \
  postgres:alpine

OpenMediaVault

$ wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
$ sudo apt update 
$ dpkg --configure -a
$ sudo apt upgrade

# Irnos al NAS y realizar todas las actualizaciones: upgrade
$ sudo reboot

# user: admin / passwd: openmediavault

Fuente

NextCloudPi

$ sudo apt-get install docker.io 
$ sudo apt-get install docker-compose


# Instalación almacenando los datos en DD externo

sudo mkdir /media/ncp # creamos un directorio donde montaremos el DD. Importante que el disco duro no tenga el formato FAT o ntfs, no son compatibles con NextcloudPi Docker. Yo lo he tengo en formato ext4

$ fdisk -l
$ sudo mount /dev/sda1 /mediancp

$ docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v /media/ncp/ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi-armhf 192.168.1.133 --restart always nextcloudpi

$ docker logs -f nextcloudpi # Conocer el proceso del docker

https://ownyourbits.com/nextcloudpi https://docs.nextcloudpi.com/en/how-to-get-started-with-ncp-docker

Enlaces: