Preparando la raspi.

1. Instalando el SO.

En la página de descargas de Raspberry Pi puedes descargar la versión de Raspbian que prefieras. Raspbian es una versión de Debian adaptada para su uso en la Raspberry Pi.

La versión lite no trae modo gráfico. Yo siempre había instalado la que incluye el escritorio, pero hemos venido a jugar.

Para quemar la tarjeta puedes utilizar Etcher. Una vez hecho, el proceso de instalación no es más que meterla en la ranura y enciender la raspi.

Al terminar es bueno actualizar, y muy recomendable antes de hacer cualquier tipo de instalación.

El teclado no está configurado todavía en español, puedes usar el - del teclado numérico o la ' del teclado.

$ sudo apt-get update
$ sudo apt-get upgrade

De cuando en cuando también conviene actualizar el firmware.

$ sudo rpi-update

Ahora vamos a configurar un par de parámetros de la tarjeta, tecleamos

$ sudo raspi-config

Y veremos lo siguiente:

raspi-config

En el 1 cambiaremos la contraseña del usuario pi, que por defecto es "raspberry".

En el 2 escogeremos el nombre del servidor.

En el 4 escogeremos teclado y el idioma.

En el 5 activaremos el ssh.

Si preferimos hacerlo en la interfaz gráfica hacemos click en el botón de inicio, preferences, raspberry pi configuration y configuramos los mismos parámetros.

2. WWW.

Los archivos por defecto en el apache de nuestro servidor se colocarán en /var/www/html. A mí me gusta tener la carpeta www montada en un usb, para poder formatear la tarjeta SD sin cargarme los archivos de las web que tenga alojadas en el caso de que pasara algo crítico. Podemos ver la configuración de nuestras particiones utilizando blkid.

$ sudo blkid

Y veremos algo parecido a esto:

/dev/mmcblk0p1: LABEL="boot" UUID="3725-1C05" TYPE="vfat" PARTUUID="890a6690-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="fd695ef5-f047-44bd-b159-2a78c53af20a" TYPE="ext4" PARTUUID="890a6690-02"
/dev/mmcblk0: PTUUID="890a6690" PTTYPE="dos"
/dev/sda1: UUID="b076acf4-936a-4163-b766-1bec9e83df58" TYPE="ext4" PARTUUID="1c18c261-01"

Nos quedamos con:

  1. La ubicación /dev/sda1.
  2. El formato del pendrive TYPE="ext4".
  3. Con el PARTUUID 1c18c261-01.

Si tenéis dudas sobre cuál es vuestro dispositivo, podéis mirar más información con

$ sudo fdisk -l

Creamos la carpeta www dentro de var/www

sudo mkdir /var/www

Montaré sobre el PARTUUID para evitar conflictos en la asignación de sd en el futuro en el caso de arrancar con más usb enchufados, hacemos copia de seguridad y abrimos fstab

$ sudo cp /etc/fstab /etc/fstab.backup
$ sudo nano /etc/fstab

Veremos algo como esto:

proc            /proc           proc    defaults          0       0
PARTUUID=890a6690-01  /boot           vfat    defaults          0       2
PARTUUID=890a6690-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

y añadiremos la linea para montar siempre el usb en /var/www en el arranque, quedando así:

proc            /proc           proc    defaults          0       0
PARTUUID=890a6690-01  /boot           vfat    defaults          0       2
PARTUUID=890a6690-02  /               ext4    defaults,noatime  0       1
PARTUUID=1c18c261-01  /var/www        ext4    defaults          0       0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

Si queréis montar el usb en otra parte, poned otra dirección. Si preferís mantener el usb en otro formato, cambiad ext4 por lo que corresponda.

Antes de reiniciar y ver cómo explota la raspi por un fstab mal formado, teclead

$ sudo mount -a

Intentará montar todo el contenido de fstab y os avisará si algo da error, si eso sucede podéis volver a modificar fstab para solucionarlo. Si reiniciáis con un fstab que da error pasarán cosas interesantes.

Si tenéis que formatear el usb podéis utilizar mkfs con el formato mkfs -t type /dev/device, lo que en este caso sería:

$ sudo mkfs -t ext4 /dev/sda1

o

$ sudo mkfs.ext4 /dev/sda1

3. IP estática.

Dentro de la red de nuestra casa la raspi tiene que tener una IP estática por varios motivos (acceso remoto, destino de puertos...), así que abrimos el terminal y tecleamos:

$ sudo nano /etc/dhcpcd.conf

Y en el editor añadimos al final las siguientes lineas:

interface wlan0

static ip_address=192.168.1.14/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

Si para conectar la raspi vamos a utilizar un cable de red en vez de la wifi, cambiamos wlan0 por eth0. En cuanto al 14 podemos elegir cualquier número entre 1 y 33.

Esa será la dirección de nuestra tarjeta de ahora en adelante.

Reiniciamos la raspi, abrimos un terminal, y tecleamos:

$ ifconfig

Para confirmar que la IP que hemos marcado es la que tenemos.

ifconfig

La captura es un poco confusa porque en este caso yo había configurado la red cableada, eth0, en vez de la wifi wlan0, y la IP que configuré en el dhcpcd.conf era la 192.168.1.11, pero ya sabéis lo que tenéis que mirar.