Montando este blog (parte 1)

Buenas días o tardes o lo que sean en el momento que leas este articulo. Con motivo de mi retiro estival y propósito de año nuevo 2020 he comenzado un nuevo proyecto sobre «Personal Branding» y que mejor manera de hacerlo que montando un blog donde explicar todos los proyectos que llevo a cabo en mis ratos libres y en mi día a día.

Un buen punto de partida y como primer articulo de esto es explicar como he montado este blog usando una raspberry pi 2 que tenía por casa y linux ubuntu server 19.10

Paso 1: Descargar Ubuntu Server 19.10:

Visitamos la web dedicada de ubuntu https://ubuntu.com/download/raspberry-pi para nuestro pequeño dispositivo y descargarmos la versión que se adapta a nuestras necesidades (en mi caso al ser un rasp2 he bajado la versión de 32 bits que es la que le da soporte a nuestro SOC (system on chip))

Paso 2: Grabar nuestra imagen en la microSD

Yo en mi uso cotidiano utilizo Windows 10 (Si… microsoft Windows 10… me parece un buen sistema operativo, y aunque el 50% del tiempo tengo abierto el bash de ubuntu …. WSL, el otro 50% me debato entre algun programa de Adobe, Microsoft Office o incluso algún juego, y si algo tengo que decir es que en esta versión de windows las cosas han mejorado mucho mucho mucho) Volviendo al tema de las raspberry y grabar la imagen en la microSD. Descomprimimos el tar.gz de la imagen que hemos bajado de la página oficial de ubuntu, puedes utilizar la trial eterna de winRar o cualquier otro software para descomprimir…. o incluso de desde la Bash de WSL un tar -xvf «nombre_de archivo» eso a gusto del consumidor, pero lo que si es cierto es que nos hace falta tener el archivo IMG que viene dentro del archivo comprimido.

Una vez descomprimido tenemos distintas alternativas para grabar la imagen en la tarjeta de memoria, yo en este caso he utilizado Win32 Disk Imager que es bastante sencillo, pero también podemos utilizar otras alternativas como BALENA Etcher

Win32 Disk Imager
Balena Etcher (otra alternativa a grabar imagenes para raspberry pi)

Tenemos distintas opciones de configuración para personalizar antes del primer arranque si montanos la SD desde el explorardor y editamos el archivo userdata que no deja de ser un archivo YAML, pero este paso es opcional y otro día lo analizaremos con más detenimiento porque me dá casi para más de un articulo

Acto seguido montamos la SD en las raspberry pi 2 y encendemos. El primer inicio es superimportante y tardará mucho más de lo normal porque tiene que hacer las tareas iniciales… entre otras redimensionar las particiones para adaptarse al tamaño de nuestra SD…. IMPORTANTE NO INTERRUMPIR

Paso 3: Configurando nuestro servidor Linux

Paso 3.1: Estableciendo una IP estática a nuestra ubuntu.

Ubuntu Server 19.10 no usa el antiguo sistema de networkmanager para acogerse a lo que parece un nuevo standard denominado NETPLAN. Para configurar dicho sistema solo basta con editar el fichero /etc/netplan/50-cloud-init.yaml

sudo nano /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: no
            addresses: [192.168.1.9/24]
            gateway4: 192.168.1.1
            nameservers:
                search: [xdev.local]
                addresses: [192.168.1.1,8.8.8.8]
            optional: true
    version: 2
    renderer: networkd

Probamos nuestra configuración

sudo netplan try

(cuando ejecutamos el try, aplica los cambios 10 minutos y luego todo vuelve a su ser….. si todo está correcto aplicamos los cambios definitivos

sudo netplan aply

Paso 3.2: Instalado los paquetes necesarios en nuestra ubuntu

Vamos a proceder a instalar los paquetes necesarios para montar nuestro servidor LAMP (Linux Apache Mysql PHP). Yo en particular por comodidad utilizo TASKSEL que en un solo click instalamos todos los servicios con sus dependencias y se configuran sobre la marcha, existen mucho más métodos pero aquí solo voy a mencionar este

Primero actualizamos nuestros repositorios e instalamos tasksel y lo ejecutamos

sudo apt update
sudo apt install tasksel
sudo tasksel
Tasksel

Elegimos de entre todas las opciones LAMP Server y le damos a OK… y «et voilé» ya tenemos todos nuestros servicios configurados para desplegar nuestra web

En el siguiente POST confiuraremos el Site dentro de Apache, arrancaremos la configuración básica para la mysql e instalaremos WordPress