La productividad pasa por la documentación. @sherlockes.


Al fin se ve la luz¡

Al fin se ve la luz¡

Después de más de una semana de trastear con mi viejo PII 233MHz, 64 Mb de RAM y 12 Gb de disco al final he conseguido montar en el un servidor linux en que está alojada esta página.  En las próximas entradas trataré de explicar cuales han sido los principales problemas desde la instalación de Debian hasta este WordPress de modo que cualquiera de vosotros sea capaz de intentarlo en su propia casa con una inversión económica prácticamente nula.

La joya de la corona

Aquí está la máquina. Hace 10 años era la vanguardia de la tecnología y hoy se ha convertido en… lo que cada uno quiera pensar.

image

Lo menos que se merece es una pequeña limpieza por dentro, tanto de polvo como de componentes innecesarios. La tarjeta de sonido y la disquetera no creo que nos sean muy útiles para el servidor y con un cable ide para el disco duro y el lector de cd será más que suficiente. La alimentación al cd-rom la dejaremos mientras dure la fase de desarrollo luego se desconectará para conseguir el menor consumo eléctrico posible. Por otro lado le colocaré una tarjera de red inalámbrica que tengo por ahí abandonada para poder ubicar el servidor en un lugar apartado y no convertirlo en una molesta fuente de ruido y calor. Con el hardware dispuesto, iremos en busca del sofware adecuado para meterle dentro.

Raspberry red y wifi

Raspberry red y wifi

Configurar red y wifi

Es interesante que la Raspberry arranque siempre con la misma dirección ip de red si queremos con ella automatizar algún servicio. Para ello, en primer lugar hay que editar el archivo “/etc/dhcpcd.conf” mediante la instrucción sudo nano /etc/dhcpcd.conf e introduciremos al final las siguientes líneas (dependiendo de la configuración de la red y del router.

interface eth0

static ip_address=192.168.1.202/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
  • Guardamos el archivo => Ctrl + o
  • Salimos del editor nano => Ctrl + x
  • Reiniciamos la Raspberry => sudo reboot
  • Nos logamos de nuevo a través de la nueva ip
  • Comprobamos que ha funcionado => ip a

Ahora vamos a intentar ir un paso más allá y configurar la conexión a la red a través del módulo integrado wifi que trae la Raspberry 3. Para configurar la red inalámbrica hay que editar el archivo “/etc/wpa_supplicant/wpa_supplicant.conf”

Raspberry apache y php

Raspberry apache y php

Instalando PhP y Apache

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql -y

Para comprobar la correcta instalación de php borraremos el archivo “index.html”, crearemos un archivo “index.php” en el que escribiremos un mensaje “hola mundo” y reiniciaremos el servidor.

cd /var/www/html
sudo rm index.html
sudo nano index.php

   <?php echo "hola mundo"; ?>
   Pulsar control-x
   Pulsar y
   Pulsar intro

sudo service apache2 restart

Ahora al acceder desde el navegador a la ip de nuestra raspberry se debería mostrar el mensaje “hola mundo”. Antes de seguir adelante, modificaremos el archivo de configuración de php para que nos permita subir al servidor archivos de hasta 8Mb.

Raspberry mysql y DB

Raspberry mysql y DB

Instalando Mysql

El motor de WordPress es una base de datos por lo que es necesario un motor que la gestione, usaré MySql y se instala de la siguente forma:

sudo apt-get install mysql-server mysql-client -y Al terminar la instalación nos pedirá una contraseña para el usuario "root". Es muy importante que no se quede en blanco para dar seguridad a la base de datos. Introducimos la que nos apetezca. Además para securizar más la instalación ejecutamos el siguiente comando sudo mysql_secure_installation Respondiendo a las preguntas de la siguiente forma. * Change the root password? [Y/n] n * Remove anonymous users? [Y/n] y * Disallow root login remotely? [Y/n] y * Remove test database and access to it? [Y/n] y * Reload privilege tables now? [Y/n] y

Accedemos a la consola de MySql con el siguiente comando tras el cual se nos solicitará la contraseña correspondiente al usuario “root”

Raspberry y Docker

Raspberry y Docker

Manejando contenedores con Docker

Instalar Docker\ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

sudo curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo “$ID”)/gpg | sudo apt-key add -

sudo echo “deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo “$ID”)
$(lsb_release -cs) stable” |
sudo tee /etc/apt/sources.list.d/docker.list

sudo apt update sudo apt install docker-ce sudo systemctl enable docker sudo systemctl start docker

añadir tu usuario al grupo de docker\ sudo gpasswd -a ${USER} docker

eliminar todos los contenedores con un solo comando\ docker rm $(docker ps -a -q) docker rm $(docker container ls -a -q)

Raspberry Servidor VPN

Raspberry Servidor VPN

Instalando un servidor VPN

Una de las grandes funcionalidades que nos puede ofrecer nuestra Raspberry Pi es como servidor VPN el cual tiene dos finalidades fundamentales.

  • Acceder de forma segura a nuestra red local desde fuera de ella
  • Conseguir una navegación segura en redes wifi públicas
sudo apt update
sudo apt upgrade
curl -L https://install.pivpn.io | bash

Para los detalles de las opciones de configuración durante la instalación tan sólo hay que visitar la web de El Atareao donde lo explica pormenorizadamente.

Raspberry Acceso desde el exterior

Raspberry Acceso desde el exterior

Ya tenemos nuestro servidor prácticamente montado, ahora necesitamos que cualquiera desde fuera de nuestra red pueda acceder al mismo. Esto presenta dos problemas, el redireccionamiento de router a la raspberry y la ip dinámica que nos asigna el proveedor de servicios de internet.

Por un lado, para dirigir el tráfico que llega a nuestro router en busca de nuestro servidor tendremos que abrir el puerto 80 para la ip local que tiene adjudicada la Raspberry, en mi caso la 192.168.1.202. Esto lo realizaremos desde la configuración del router accediendo al panel de administración web en la dirección 192.168.1.1. No merece la pena el esfuerzo de dar más explicaciones de los pasos concretos a realizar pues cada router es distinto

Raspberry Reinicios periódicos

Raspberry Reinicios periódicos

Reiniciar la Raspberry a diario

Para que la Raspberry se reinicie al menos una vez al día por si alguno de los servicios se cuelga y no tenemos acceso a ella o no nos damos cuenta del problema he implementado un reinicio diario a las 4:00 AM mediante una tarea programada usando el cron del usuario root

sudo crontab -e

nos abre un archivo al que le añadiremos la siguiente línea