Guías – El blog del Agente 404 https://agente404.com Bienvenido al blog del Agente 404. Aquí se habla de tecnología, electrónica, Raspberry Pi, y proyectos DIY Fri, 19 Jun 2020 12:50:06 +0000 es hourly 1 https://wordpress.org/?v=5.4.2 Mi home server con Raspberry Pi, OMV5 y Docker https://agente404.com/2020/06/04/mi-home-server-con-raspberry-pi-omv5-y-docker/?utm_source=rss&utm_medium=rss&utm_campaign=mi-home-server-con-raspberry-pi-omv5-y-docker https://agente404.com/2020/06/04/mi-home-server-con-raspberry-pi-omv5-y-docker/#respond Thu, 04 Jun 2020 12:00:00 +0000 http://agente404.com/?p=2361

Con la llegada de OMV5 mi anterior serie de post sobre el home server con Raspberry Pi ha quedado obsoleta así que hoy, vamos a actualizar esa guía. Antes de empezar, decir que las diferencias entre OMV4 y OMV5 son tantas que no es recomendable realizar una actualización, si no que debemos realizar una instalación […]

La entrada Mi home server con Raspberry Pi, OMV5 y Docker se publicó primero en El blog del Agente 404.

]]>

Con la llegada de OMV5 mi anterior serie de post sobre el home server con Raspberry Pi ha quedado obsoleta así que hoy, vamos a actualizar esa guía.

Antes de empezar, decir que las diferencias entre OMV4 y OMV5 son tantas que no es recomendable realizar una actualización, si no que debemos realizar una instalación limpia.

Instalación de OMV5 en el home server con Raspberry Pi

Con OMV5 la imagen específica para Raspberry Pi ya no existe, por lo que la instalación se realiza sobre Raspbian (o Raspberry Pi OS cómo se llama ahora) en su versión Lite.

Los pasos a seguir (según la guía oficial) son los siguientes:

wget -o -https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Una vez termine ya tendríamos OMV 5 instalado y estamos listos para seguir configurando nuestro home server con Raspberry Pi.

Para ello, podéis seguir la primera parte de la guía el home server perfecto con Raspberry Pi y OpenMediaVault, que sigue siendo válida.

Plugins en OMV5

En OMV5 la mayor parte de plugins relacionados con aplicaciones de terceros han sido deprecados, por lo que ya no existen. De mi anterior guía los únicos que todavía podemos instalar como plugins de OMV son:

El resto de aplicaciones, pues bien, tenemos dos opciones, o instalarlas nativamente sobre el sistema operativo o utilizar Docker. Yo me he decantado por Docker.

Instalar Docker en OMV5

La instalación de Docker es muy sencilla y se puede hacer desde la interfaz web de OMV5, desde la sección OMV-Extras.

Instalar Docker en OMV 5

Aquí veremos que hay una pestaña llamada Docker desde la cual podremos instalar tanto el propio Docker como la interfaz web Portainer. Instalaremos ambos.

Desplegar Stacks con Portainer

Para desplegar un stack en Portainer nos dirigimos a su interfaz web, que por defecto se encuentra en http://IP_Raspberry_Pi:9000

Si es la primera vez que accedemos tendremos que crear la contraseña para el usuario administrador e indicar que queremos administrar una instalación de Docker local.

Una vez hecho esto, hacemos clic en «Local» y a continuación en Stacks, veréis la siguiente pantalla:

Para crear un nuevo stack, sólo tenemos que hacer clic en Add Stack y a continuación:

  • Darle un nombre a nuestro stack
  • Añadir la configuración de Compose bien mediante el editor web , mediante carga de archivo o usando un repositorio

Para desplegar el Stack hacemos clic en Deploy Stack y portainer comenzará a descargar las imágenes y configurará y arrancará los contenedores por nosotros.

Portainer Stack Raspberry Pi

Cada uno de estos stacks puede estar compuesto por una o más aplicaciones lo que implica que cada stack puede generar varios contenedores, p.ej. aplicación + base de datos para las aplicaciones que lo necesiten.

Debéis tener en cuenta que podéis modificar algunas opciones que el creador del contenedor a expuesto como pueden ser los puertos en los que escucha la aplicación, zonas horarias, o carpetas en las que almacenará archivos.

Sencillo ¿verdad? Seguid leyendo, a continuación tenéis las aplicaciones que yo uso junto con sus stacks y archivos de configuración.

Contenedores que uso en mi home server con Raspberry Pi

Los contenedores o aplicaciones que yo tengo instalados (a parte del propio Portainer), son los siguientes:

Heimdall

Heimdall es un dashboard al cual podemos añadir nuestras aplicaciones y, de esta forma, no tener que recordar IPs + puerto.

Heimdall Docker Raspberry Pi

Heimdall es altamente personalizable, permite el uso por parte de varios usuarios e incorpora cientos de aplicaciones por defecto. De estas aplicaciones algunas muestran información extra en el Icono del panel como puede ser el caso de Transmission o OctoPrint.

Transmission

Como bien sabéis Transmission es un cliente para descarga de Torrents multiplataforma y con una interfaz web.

Poco que decir acerca de Transmission, es muy ligero y sencillo y cuenta con cliente para Android, Windows, Mac…

Pydio

Pydio es un gestor de archivos con interfaz web al estilo Google Drive. Cuenta con un gestor de usuarios y roles, y la capacidad de compartir archivos y carpetas entre ellos.

Pydio gestor archivos Raspberry Pi

Permite además la descarga de contenido mediante enlaces para usuarios no registrados.

También cuenta con vista previa en el navegador de gran cantidad de tipos de archivo.

NginxProxyManager

Como su nombre indica, NginxProxyManager es un gestor con interfaz web que nos permite configurar Nginx como proxy inverso de una manera muy sencilla. Simplemente tenemos que rellenar un formulario y listo.

NginxProxyManager Raspberry Pi

Incorpora también Let’s Encrypt para la generación de certificados SSL que automáticamente se encarga de renovar.

Por supuesto, también permite definir listas de control de acceso las cuales serán implementads como Basic HTTP Auth.

NginxProxyManager no sólo permite crear un proxy inverso para hosts si no también redirecciones, streams y páginas 404 personalizadas.

Y esto es todo, si queréis más detalles acerca de alguna de éstas aplicaciones hacédmelo saber compartiendo este post y dándo like al vídeo al principio de esta página.

La entrada Mi home server con Raspberry Pi, OMV5 y Docker se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2020/06/04/mi-home-server-con-raspberry-pi-omv5-y-docker/feed/ 0
Actualizar a OMV 5 desde OMV4 https://agente404.com/2020/04/10/actualizar-a-omv-5-desde-omv4/?utm_source=rss&utm_medium=rss&utm_campaign=actualizar-a-omv-5-desde-omv4 https://agente404.com/2020/04/10/actualizar-a-omv-5-desde-omv4/#comments Fri, 10 Apr 2020 13:10:05 +0000 http://agente404.com/?p=2263 Actualizar a omv 5

En este post voy a explicaros cómo actualizar a OMV 5 desde vuestra instalación de OMV4 sin perder las configuraciones que ya tengáis en OpenMediaVault.

La entrada Actualizar a OMV 5 desde OMV4 se publicó primero en El blog del Agente 404.

]]>
Actualizar a omv 5

En este post vamos a ver cómo actualizar OMV 4 a OMV 5 sin necesidad de reinstalar el sistema y manteniendo todas las configuraciones.

Si no sabéis que es OMV (Open Media Vault) es un SO que se utiliza para montar un servidor NAS de forma casera. En el blog hay una serie de posts que explican cómo hacerlo.

Prerrequisitos

En mi caso estaré utilizando una instalación de OpenMediaVault en su versión 4.1.35-1 (Arrakis)

Es necesario tener el sistema totalmente actualizado y sin paquetes retenidos.

Antes de proceder a actualizar OMV 4 a OMV 5 es recomendable hacer una copia de seguridad. Para ello podéis utilizar el plugin Backups de OMV o bien, si usais una Raspberry Pi, hacer una copia de la tarjeta SD.

 
La forma recomendada de actualizar es hacer una instalación limpia.
No me hago responsable de las posibles pérdidas de información que pueda ocasionar este artículo.
Si decidís realizarlo o si decidís no realizar una copia de seguridad será bajo vuestra responsabilidad.

Pasos para actualizar a OMV 5

Para proceder a la actualización deberemos conectarnos a nuestra máquina mediante SSH y ejecutar los siguientes comandos con privilegios de administrador:

Dependiendo del estado de vuestro sistema cualquier paso de los siguientes puede lanzar errores, sobre todo dist-upgrade. Conocer el estado del sistema y saber cómo solucionar dichos errores es algo que debéis hacer vosotros.

En primer lugar desinstalaremos los paquetes que problemáticos con el siguiente comando:

apt-get purge openmediavault-cups openmediavault-dnsmasq openmediavault-docker-gui openmediavault-domoticz openmediavault-duplicati openmediavault-eyefi openmediavault-ldap openmediavault-letsencrypt openmediavault-mysql openmediavault-nginx openmediavault-openvpn openmediavault-pxe openmediavault-remotedesktop openmediavault-route openmediavault-shellinabox openmediavault-syncthing openmediavault transmissionbt openmediavault-urbackup-server openmediavault-vdo openmediavault-virtualbox openmediavault-webdav

A continuación, ejecutaremos lo siguiente para actualizar los repositorios:

sed -i "s/stretch/buster/g" /etc/apt/sources.list
sed -i "s/stretch/buster/g" /etc/apt/sources.list.d/*
sed -i "s/arrakis/usul/g" /etc/apt/sources.list.d/*
sed -i "/[Dd]ocker/d" /etc/apt/sources.list.d/omv-extras-org.list

Ahora actualizamos los repositorios y procedemos a actualizar la distribución:

En caso de que pregunte si queremos reemplazar los archivos de configuración debemos responder NO (opción por defecto)
apt-get update
apt-get dist-upgrade
reboot now

Una vez hemos reiniciado nos volvemos a conectar mediante SSH y desinstalamos los siguientes paquetes:

apt-get purge openmediavault-omvextrasorg resolvconf

Cuando termine, ejecutaremos el siguiente script para instalar los paquetes de plugins de OMV:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Y, de nuevo, ejecutamos los repositorios y realizamos una actualización:

apt-get update
apt-get dist-upgrade

Por último, y ya para terminar, ejecutaremos los siguientes comandos:

omv-salt deploy run nginx
omv-salt deploy run phpfpm

Eliminamos los paquetes innecesarios, realizamos un último reinicio y listo:

apt-get autoremove
reboot now

Comprobar que tenemos OMV 5 instalado

Cuando la máquina se haya reiniciado procedemos a acceder a la URL de nuestra instalación de OpenMediaVault y borramos la cache de dicha página.

Una vez borrada la caché podemos iniciar sesión y dirigirnos a Información del servidor para comprobar que tenemos instalada la última versión de OMV.

Y estos son los pasos que yo he seguido, y que en encontrado en el foro de OpenMediaVault (ver fuente al final), para actualizar a OMV 5, espero que os haya servido, de ser así compartidlo para que llegue a más gente.

La entrada Actualizar a OMV 5 desde OMV4 se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2020/04/10/actualizar-a-omv-5-desde-omv4/feed/ 1
Integrar Google Home en Hassio https://agente404.com/2020/01/28/integrar-google-home-en-hassio/?utm_source=rss&utm_medium=rss&utm_campaign=integrar-google-home-en-hassio https://agente404.com/2020/01/28/integrar-google-home-en-hassio/#comments Tue, 28 Jan 2020 17:16:52 +0000 http://agente404.com/?p=1993

En este post veremos cómo integrar nuestro Google Home en Hassio sin necesidad de utilizar la nube de HA, es decir de forma totalmente gratuita.

La entrada Integrar Google Home en Hassio se publicó primero en El blog del Agente 404.

]]>

Hoy vamos a ver cómo integrar nuestro Google Home en Hassio sin necesidad de utilizar la nube de HA, es decir de forma totalmente gratuita.

Para ello, y antes de empezar necesitaremos lo siguiente:

  • Una instalación de Hassio configurada y funcionando
  • Acceso externo a nuestra instalación de Hassio con SSL
  • Un dispositivo Google Home configurado y funcionando
  • La app Google Home instalada en nuestro dispositivo

Si ya lo tenéis todo, adelante, seguid leyendo

Si bien intentaré explicar aquí cómo se hace, os recomiendo que veais el vídeo.

Creación del proyecto Actions on Google

Comenzaremos creando un nuevo proyecto de Google Assistant en la página Actions on Google. Hacemos clic en el enlace anterior y veremos una página cómo la siguiente.

Actions on Google Smart Home

1. Crear proyecto

Hacemos clic en New project y le damos el nombre que deseemos. Yo le voy a llamar Home Assistant. Hacemos clic en Create Project y en la siguiente ventana escogemos Home Control -> Smart Home cómo tipo de proyecto.

Configuramos nuestro idioma y localización y continuamos, configurando lo que será nuestra primera acción.

2. Configurar acción

Para ello, nos dirigimos a la pestaña Develop, y en el menú de la izquierda hacemos clic en Actions y completamos el formulario con https://URL_HOME_ASSISTANT:PUERTO/api/google_assistant .

Hacemos clic en Save para guardar los cambios.

Crear acción en Google Actions

3. Configurar Account linking

Para que ésto funcione debemos configurar el Account Linking. En este punto configuraremos el cliente Oauth con los siguientes datos:

  • Client ID: https://oauth-redirect.googleusercontent.com/ 
  • Client Secret: https://oauth-redirect.googleusercontent.com/
  • Authorization URL: https://URL_HOME_ASSISTANT:PUERTO/auth/authorize
  • Token URL: https://URL_HOME_ASSISTANT:PUERTO/auth/token

A continuación configuraremos el cliente añadiendo los Scopes email y name.

Account linking google actions

Guardamos la configuración y continuamos haciendo clic en Test y a continuación en Change versión.

Test action Google Home para Hassio

Seleccionamos DRAFT (es la única que aparece) y hacemos clic Done. Si en la parte superarior derecha de la pantalla aparece «Test is now enabled» todo está correcto y podemos continuar.

Activación de HomeGraph API

Para sincronizar los dipositivos de Home Assistant con Google Home necesitamos habilitar HomeGraph API desde la Google Cloud Console.

Para ello simplemente haced clic en este enlace y seleccionad el proyecto que acabamos de crear. Aparecerá el panel de configuración de la API y hacemos clic en Habilitar.

Si este enlace no os lleva a HomeGraph API podéis buscarla desde el menú lateral -> APIs y Servicios -> Biblioteca

Una vez habilitada la API, hacemos clic en Credenciales en el menú de la izquierda y en la siguiente ventana hacemos clic en el enlace que dice Credenciales en APIs y servicios, justo debajo del título «Credenciales compatibles con esta API» y creamos una Clave de API.

Google Cloud Console crear clave API para Hassio

Esta clave la utilizaremos en el siguiente paso que, ahora sí, es configurar Google Home en Home Assistant.

Configuración de Google Home en Hassio

La configuración de Google Home en Home Assistant o Hassio es muy sencilla. La integración viene activada por defecto y sólo tendremos que poner lo siguiente en el archivo de configuración configuration.yaml.

#Google Assistant
google_assistant:
    project_id: id-del-projecto
    api_key: clave_de_api_obtenida_en_el_paso_anterior

Para esta tarea yo uso el plugin Configurator, pero podéis hacerlo por FTP, Samba, SSH o cómo queráis.

Si queréis que todos los dispositivos sean visibles a Google Home esto sería todo, ahora bien, si lo que queréis es ocultar ciertos dispositivos (para, p.ej. evitar redundancias) podemos añadir la siguiente línea a continuación de api_key:

entity_config: !include googleHomeDevices.yaml

Finalmente creamos el arhcivo googleHomeDevices.yaml y en el definiremos las entidades que queramos o no exponer del siguiente modo:

group.all_lights:
    expose: false
entity.media_player.nest_mini
    expose: false
entity.yeelight_mono1_286c07f12978:
    name: "Flexo"
    expose: true
    room: "Dormitorio"

Además, con este archivo también podemos asignar un nombre y habitación al dispositivo de forma automática sin necesidad de tener que configurarlo en la app Google Home.

Vinculación de Hassio en Google Home

Si hemos hecho lo anterior bien, esta es la parte más fácil. Abrimos la app Google Home y hacemos clic en el símbolo más (+) en la parte superior izquierda.

Google Home App Hassio

A continuación, le damos a Configurar dispositivo -> ¿Has configurado algún dispositivo?

En la siguiente pantalla buscamos algo que ponga [test] mi aplicación de prueba o algo similar. Le damos y nos redigirá a nuestro Hassio para iniciar sesión.

Iniciamos sesión y ya tendríamos todo configurado por lo que los dispositivos deberían ya aparecer, y podrán ser configurados en una casa y habitación.

La entrada Integrar Google Home en Hassio se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2020/01/28/integrar-google-home-en-hassio/feed/ 1
Hassio en Docker sobre DietPi https://agente404.com/2019/12/26/hassio-en-docker-sobre-dietpi/?utm_source=rss&utm_medium=rss&utm_campaign=hassio-en-docker-sobre-dietpi https://agente404.com/2019/12/26/hassio-en-docker-sobre-dietpi/#respond Thu, 26 Dec 2019 09:27:08 +0000 http://agente404.com/?p=1788 DietPi Docker Hassio

En este artículo os muestro como instalar Hassio en Docker en una placa Raspberry Pi con el sistema operativo DietPi

La entrada Hassio en Docker sobre DietPi se publicó primero en El blog del Agente 404.

]]>
DietPi Docker Hassio

Hoy vengo a mostraros como instalar Hassio (que no Home Assistant) en un contenedor Docker sobre DietPi.

La ventaja de instalar Hassio es que tenemos acceso a la tienda de Addons y disfrutar de las integraciones de Home Assistant desde su interfaz web, lo que lo hace más fácil de configurar.

Con este sistema, podremos disfrutar de lo mejor de instalar Home Assistant sobre un sistema operativo (flexibilidad, posibilidad de instalar más software…) con lo mejor de Hass.io (sencillez)

Instalando DietPi

DietPi es una distro ligera para Raspberry Pi que instala lo mínimo para funcionar. Es por su ligereza que he elegido esta distro para este proyecto.

Para instalar DietPi, simplemente nos descargamos la imagen de su web y la grabamos en una tarjeta microSD con Balena Etcher o similar.

Una vez grabada la imagen introducimos la tarjeta SD en la Raspberry Pi, conectamos teclado, monitor y seguimos el asistente de configuración.

Por defecto, Dietpi cuenta con dos usuarios, root y dietpi, siendo la contraseña dietpi para ambos

Con el asistente finalizado vamos a pasar a establecer una IP estática en nuestra Raspberry, para ello ejecutamos el comando dietpi-config y seleccionamos la opción número 7 «Network Options: Adapters«.

A continuación seleccionaremos Ethernet o Wifi en función de la conexión que estemos utilizando (Yo utilizaré Wifi) y presionamos enter sobre «Change Mode: [DHCP]». Veremos que cambia a [Static] y nos permite introducir nuestra configuración de red

DietPi IP estática

Una vez hecho esto, guardamos los cambios y reiniciamos nuestra Raspberry Pi. Ahora podemos prescindir del monitor y teclado y conectarnos mediante SSH para el resto de pasos.

Instalando Docker y Portainer en DietPi

Lo siguiente sería la instalación de Docker, Docker-compose y la interfaz web Portainer.

La instalación de Docker la haremos mediante el comando dietpi-software Seleccionamos la opción Search y buscamos Docker. Lo seleccionamos, hacemos clic en OK y a continuación en Install.

Instalar Docker en DietPi

Con esto tendríamos Docker instalado. Vamos a instalar también Docker-compose lo que nos ayudará más adelante a medida que nuestra configuración se vaya complicando. 

sudo apt-get install docker-compose

Una vez instalado, debemos crearemos el archivo docker-compose.yml en el que configuraremos el contenedor de Portainer.

sudo nano docker-compose.yml

Podemos crearlo en el directorio que queramos, yo lo he hecho en /etc/docker En su interior pondremos lo siguiente:

version: '3'
services:
    portainer:
        container_name: portainer
        image: portainer/portainer
        volumes:
            - '/var/run/docker.sock:/var/run/docker.sock'
        expose:
            - 9000
        ports:
           - 80:9000
        restart: always

Con el archivo creado ejecutamos el comando docker-compose up -d lo que descargará el paquete de Dockerhub, creará el contendor y lo ejecutará.

Portainer es una interfaz web para Docker que nos permite gestionar nuestras instancias de Docker desde el navegador.
Aunque podemos instalar Portainer como add-on de Hassio yo prefiero instalarlo por separado.

Una vez terminado, y si todo ha ido bien, al poner en un navegador la IP de nuestra Raspberry Pi deberíamos ver la interfaz de Portainer. Nos pedirá que creemos una contraseña para el usuario admin, la creamos y accedemos al siguiente Dashboard.

Portainer DietPi

¿Todo bien? Perfecto, porque ahora viene lo interesante.

Instalar Hassio en Docker

Ahora vamos a la parte que nos ocupa, la instalación de Hassio en Docker sobre nuestro sistema DietPi. Hay un script que lo hace automáticamente, pero antes, deberemos instalar las dependencias:

sudo apt-get install bash jq curl avahi-daemon dbus software-properties-common apparmor-utils network-manager

Ahora, para instalar Hassio, ejecutamos el siguiente script:

curl -sL https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh | bash -s -- -m raspberrypi

Debemos modificar donde pone raspberrypi3 para adaptarlo a nuestra placa. Aquí podéis ver las opciones disponibles.

Con esto tendríamos Hassio instalado. Si volvemos a Portainer y nos dirigimos a la sección Containers podemos ver que tenemos 3 nuevos contenedores:

Contenedores Hassio en Docker

Estos 3 contedores son:

  • hassio_supervisor: API para gestionar la instalación. Se comunica con home-assistant para la instalación de addons, configuraciones de red, etc…
  • hassio_dns: el sistema de resolucion DNS de Hassio
  • homeassistant: el programa en si

Configuración inicial de Home Assistant

Ahor podemos dirigirnos a IP_Raspberry:8123 veremos la configuración inicial de Home Assitant.

Home Assitant crear cuenta
Home Assistant configuración de casa
Home Assistant añadir dispositivos

En primer lugar, crearemos una cuenta de usuario para acceder a nuestro Home Assistant.

A continuación, configuraremos nuestra casa dándole un nombre y una ubicación.

Finalmente podremos configurar algún dispositivo, pero no es algo que vayamos a hacer ahora, si no que lo dejaremos para futuras entregas.

Por lo que ya tenemos lista nuestra instalación de Hassio en Docker, y cómo podéis ver, contamos con el menú Hassio y el Add-on Store.

Por último decir que si habéis seguido mi serie de tutoriales sobre OpenMediaVault podéis replicar esta instalación en la misma máquina y darle acceso desde el exterior de vuestra red tal y cómo se explica en el capítulo 3 usando la siguiente configuración en opciones extra:

location / {
    auth_pam "Auth Required";
    auth_pam_service_name   "nginx";
    proxy_pass http://IP_HOME_ASSISTANT:8123/;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}

location /.well-known {
  allow all;
  auth_basic off; 
  root /var/www/html;
}

Si no conseguís acceder, debéis poner lo siguiente en la seccion http del archivo /etc/nginx/nginx.conf :

map $http_upgrade $connection_upgrade {
   default upgrade;
   ''      close;
}

Cómo siempre, espero que os haya gustado el post, y si es así, compartidlo con vuestros amigos. ¡Hagamos nuestras casas inteligentes!

La entrada Hassio en Docker sobre DietPi se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/12/26/hassio-en-docker-sobre-dietpi/feed/ 0
El Mejor Home Server Con OpenMediaVault Y Raspberry Pi (4) https://agente404.com/2019/12/09/el-mejor-home-server-con-openmediavault-y-raspberry-pi-4/?utm_source=rss&utm_medium=rss&utm_campaign=el-mejor-home-server-con-openmediavault-y-raspberry-pi-4 https://agente404.com/2019/12/09/el-mejor-home-server-con-openmediavault-y-raspberry-pi-4/#comments Mon, 09 Dec 2019 10:25:24 +0000 http://agente404.com/?p=1737 OpenMediaVault Backup

En esta cuarta y última parte vamos a ver como hacer copias de seguridad de nuestra instalación de OpenMediaVault y os enseñaré el hardware que he escogido para este proyecto.

La entrada El Mejor Home Server Con OpenMediaVault Y Raspberry Pi (4) se publicó primero en El blog del Agente 404.

]]>
OpenMediaVault Backup

Plugins de copia de seguridad en OpenMediaVault

Después de haber hecho todo el trabajo de configurar OpenMediaVault en las entregas anteriores, sería una pena perderlo todo. Así que para protegernos ante una eventual pérdida de datos o corrupción de la tarjeta SD vamos a ver los siguientes plugins para realizar backups de nuestra instalación.

En este apartado nos centraremos en hacer copias de seguirdad de nuestra instalación con los siguientes plugins:

  • openmediavault-backup
  • openmediavault-usbbackup

La instalación de estos plugins se realiza, igual que siempre, desde Sistema -> Plugins

1. Openmediavault backup

Éste plugin, realiza una copia de seguridad de nuestra instalación a una carpeta compartida creada previamente. Para ello, utiliza uno de los siguientes métodos:

  • dd – crea una imagen comprimida del disco completo
  • fsarchive – clona las particiones del disco a un archivo
  • rsync – sincroniza archivos al directorio de destino

Para esta instalación a mi me gusta usar el método dd. La configuración sería la siguiente:

Copia de seguridad con Openmediavault backup

Cómo vemos, las copias de seguridad se guardan en la carpeta compartida Backups (creada previamente), se realizan mediante el método dd y se guardan 4 copias de seguridad.

Para ejecutar la copia, hacemos clic en el boton Backup en la parte superior.

Además, podemos automatizar el backup haciendo clic en Scheduled backup y estableciendo cada cuanto tiempo se realizara la copia. Esto creará una tarea cron que ejecutara la copia en el intervalo establecido.

2. Openmediavault usbbackup

Este plugin nos permite copiar determinados archivos de / a un medio extraíble (pendrive, disco duro externo, …) cada vez que éste se conecte.

Éste método no está pensado para hacer una copia de nuestra instalación completa, si no, sólo de determinados archivos. Es útil para, p.ej. mantener nuestras copias de seguridad periódicamente en un disco duro separado.

Para crear una tarea, una vez conectado y montado el dispositivo externo, desde Servicios -> Usb Backup hacemos clic en Añadir, veremos el siguiente dialogo:

OpenMediaVault Usb Backup

Seleccionamos el modo de copia «De la carpeta compartida al almacenamiento externo», seleccionamos la carpeta compartida que queremos hacer la copia y el dispositivo al que copiaremos.

El resto de opciones, creo que se explican solas, en principio las dejaremos por defecto.

Comentar que en el cuadro Opciones extra podremos añadir cualquiera de las opciones admitidas por Rsync, que es el comando que ejecuta este plugin.

(Bonus) Clonar la tarjeta SD en otro equipo

Una tercera opción, mucho menos recomendada, sería clonar la tarjeta SD completa. Para esto, apagaríamos el sistema, conectaríamos la SD a otro equipo y realizariamos una imagen de la tarjeta con un software como Balena Etcher o similar.

OpenMediaVault como servidor de backups

Otra opción interesante a tener en cuenta es utilizar nuestro Home server como servidor centralizado de backups para otros dispositivos en nuestra red.

Esto podemos hacerlo desde Servicios -> Rsync, de dos formas distintas:

1. Creando una tara Rsync de tipo remoto y modo pull

Con esta opcion (pestaña trabajos) necesitamos que el equipo de origen esté disponible mediante red local, y necesitaremos autenticarnos en éste mediante contraseña. Podemos usarlo para, p,ej, copiar nuestra carpeta usuario de Windows, como en el siguiente ejemplo:

Rsync remoto Open Media Vault

La sintaxis sería usuario@IP_del_equipo/ruta_carpeta_compartida

Además, podremos programar esta sincronización para que se ejecute periódicamente y, al igual que antes, añadir las opciones Rsync que consideremos oportunas.

También podemos copiar archivos de nuestro servidor OMV a un servidor remoto seleccionando tipo Remoto y modo Push

2. Mediante un servidor Rsync

Para utilizar este sistema, tenemos que habilitarlo en la pestaña Servidor -> Configuración.

Además, deberemos crear un módulo (Servidor -> Modulos) que en definitiva, es una carpeta compartida a la que el daemon Rsync tendrá acceso para copiar los archivos. A esta carpeta tendremos que darle permisos al usuario o grupo a los que queramos permitir el uso del módulo.

OpenMediaVault Rsync Server

Con el servidor creado, en nuestro sistema remoto tendríamos que lanzar un comando similar al siguiente para realizar la sincronización:

rsync -avz carpeta_a_sincronizar/ usuario@ip_omv:874/carpeta_compartida/

Hardware utilizado en éste home server

Para montar este home server he utilizado la placa de expansión de Geekworm X820. Esta placa es compatible con Raspberry Pi 2B, 3B y 3B+.

Podemos, además, adquirir una caja metálica muy chula, para proteger nuestro servidor.

Geekworm X820 Raspberry Pi SATA

Esta placa cuenta con un puerto SATA y se conecta a nuestra Raspberry Pi mediante USB. Podéis ver más acerca del funcionamiento de esta placa así como las instrucciones de montaje en mi review, dónde además, también comento opciones para Raspberry Pi 4B.

Y con esto doy por terminada esta serie de «El home server perfecto con OpenMediaVault y Raspberry Pi«. Seguiré con proyectos cómo éste para hacer nuestra casa más inteligente siendo el siguiente relacionado con algo que tengo muchas ganas de probar, la domótica.

La entrada El Mejor Home Server Con OpenMediaVault Y Raspberry Pi (4) se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/12/09/el-mejor-home-server-con-openmediavault-y-raspberry-pi-4/feed/ 2
El mejor home server con OpenMediaVault y Raspberry Pi (3) https://agente404.com/2019/11/27/el-mejor-home-server-con-openmediavault-y-raspberry-pi-3/?utm_source=rss&utm_medium=rss&utm_campaign=el-mejor-home-server-con-openmediavault-y-raspberry-pi-3 https://agente404.com/2019/11/27/el-mejor-home-server-con-openmediavault-y-raspberry-pi-3/#comments Wed, 27 Nov 2019 12:09:22 +0000 http://agente404.com/?p=1614

En esta tercera entrega vamos a ver cómo acceder a nuestros servicios desde cualquier lugar configurando un proxy inverso con SSL y securizado con fail2ban

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (3) se publicó primero en El blog del Agente 404.

]]>

Vamos a seguir con nuestro home server en OpenMediaVault. En esta ocasión vamos a configurar un proxy inverso con nginx para poder acceder a la interfaz web de Transmission, y dar una dirección a nuestro servidor OpenVPN.

Instalación de los plugins de OpenMediaVault necesarios

Para empezar, vamos a instalar los plugins necesarios, que serían los siguientes:

  • openmediavault-nginx
  • openmediavault-letsencrypt
  • openmediavault-fail2ban

Si recordáis del capítulo anterior, esto se hace desde Sistema -> Plugins seleccionando los que deseemos y presionando instalar.

Configuracion de Nginx en OpenMediaVault

Vamos a configurar el servidor web Nginx para actuar como reverse proxy y así, poder acceder a nuestras interfaces web desde el exterior.

Ésto lo haremos desde Servicios -> Nginx. Utilizaremos hosts basados en nombre, lo que nos permitirá varios dominios o subdominios en el mismo puerto.

1. Configuración

En la primera pestaña, simplemente tendremos que habilitar el plugin. Para la opción Tamaño de hash dejaremos 32, que es la que viene por defecto.

2. Servidores

Aquí es dónde sucede la magia. Vamos a crear un servidor para cada uno de los servicios a los que queramos acceder desde el exterior y cada uno de ellos tendrá un dominio o subdominio distinto.

Yo he creado cuatro:

  • dominio.com -> Actualmente sin uso
  • files.domino.com -> Interfaz web de OpenMediaVault
  • vpn.dominio.com -> Acceso a OpenVPN
  • torrent.dominio.com -> Interfaz web de Transmission
Para esto, se asume que ya tenéis configurado vuestros dominios y subdominios apuntando a vuestra IP pública. O bien, utilizais un servicio como No-IP o Cloudflare + script.

Para crear un servidor, haremos clic en añadir y realizaremos las siguientes configuraciones:

Configuración Nginx OpenMediaVault 1
Configuración Nginx OpenMediaVault 3

Crearemos tantos servidores cómo deseemos. Yo he creado los mencionados anteriormente.

Por el momento dejaremos SSL deshabilitado puesto que todavía no hemos generado el certificado. Lo activaremos más adelante, una vez generado el certificado.

Ahora, en Opciones extra pondremos lo siguiente:

location ^~/.well-known {
  allow all;
  auth_basic off; 
  root /var/www/html;
}

location / {
    auth_pam                "Secure zone";
    auth_pam_service_name   "nginx";
}
location / {
    proxy_pass http://127.0.0.1:1194/;
}
location /.well-known {
    allow all;
    auth_basic off;
    root /var/www/html;
}

location / {
    auth_pam "Auth Required";
    auth_pam_service_name   "nginx";
    proxy_pass http://127.0.0.1:9091/;
}
location /.well-known {
    allow all;
    auth_basic off;
    root /var/www/html;
}

location / {
    auth_pam "Auth Required";
    auth_pam_service_name   "nginx";
    proxy_pass http://127.0.0.1/;
}

Vamos a ver que hacen estas opciones extra:

El primer bloque que vemos location /.well-known, desactiva la autenticación para ese directorio y establece su raiz a /var/www/html. Esto es usado por Let’s Encrypt para la creación y renovación de certificados.

El segundo bloque activa la Autenticación Pam, ese decir, para acceder tendremos que autenticarnos con un usuario del sistema que previamente habremos creado en OpenMediaVault, tal y como vimos en la parte 1 de esta guía.

A continuación, vemos la línea proxy_pass en que redirigimos la petición que recibimos en el puerto 80 o 443 al puerto local en que escucha el servicio en cuestión.

Generando certificados SSL con Let’s Encrypt

Una vez tenemos los servidores pasamos a configurar Let’s Encrypt para configurar nuestros certificados desde Servicios -> Let’s Encrypt.

1. Configuración

Antes de añadir nuestros certificados necesitaremos configurar Let’s Encrypt tal que así:

Configuración Let's Encrypt OpenMediaVault

Obviamente podéis poner el Email y Certificate name que queráis.

2. Domains

En la pestaña Domains es dónde configuraremos nuestros certificados. Yo he creado uno para mi dominio y subdominios y lo he hecho con las siguientes opciones:

Certificado Let's Encrypt OpenMedia Vault

Si como yo habéis usado subdominios podéis crear un certificado para todos ellos. Si tenéis varios dominios distintos deberéis crear un certificado para cada uno de ellos.

Fijaos en que Web root coincide con lo que hemos puesto anteriormente en nuestros servidores location /.well-known

Por último sólo quedaría hacer clic en Certificate -> Generate para generar nuestro certificado. Una vez generado lo tendremos disponible en Sistema -> Certificados -> SSL

Una vez generado el certificado debemos volver a la configuracion de servidores de Nginx, activar SSL para cada uno de ellos y seleccionar el certificado que acabamos de crear.

Previniendo ataques de fuerza bruta con Fail2Ban

Fail2ban es un software que analiza los ficheros log de nuestros servicios en busca de errores de autenticación y baneando las IPs que han intentado autenticarse erróneamente un número determinado de veces.

Fail2ban se basa en el concepto de Jails. Una Jail es un filtro el cual se aplica en un fichero log en busca de un patrón determinado para detectar intentos de acceso erróneos.

1. Configuración

La configuración no es demasiado complicada, debemos tener en cuenta lo siguiente:

Configuración fail2ban OpenMediaVault
  1. Ignorar IP: Aquí añadiremos nuestra IP local y nuestra VPN
  2. Num. Max. Reintentos: cuantos intentos erróneos se permiten antes del baneo
  3. Mail de destino: dónde recibiremos los avisos de baneo

Con esto configurado pasaremos a crear las Jails.

2. Jails

Como hemos dicho, una Jail es un filtro que se aplica a un archivo log para detectar intentos de acceso fallidos. Además de las jails que vienen preconfiguradas nosotros añadiremos unas personalizadas para Nginx.

Para hacerlo necesitamos acceso SSH al servidor puesto que necesitaremos crear un archivo para cada una de las Jails que vamos a crear.

Vamos a comenzar creando los filtros necesarios, para ello nos conectamos mediante SSH y creamos los siguientes archivos en el directorio /etc/fail2ban/filter.d/  con sudo nano nombre_archivo :

[Definition]

failregex = ^<HOST> -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\.scgi)

ignoreregex =
[Definition]

failregex = ^ -.*GET .*/~.*

ignoreregex =
[Definition]

failregex = ^ -.*GET http.*

ignoreregex =

Lo siguiente sería crear las Jails en OpenMediaVault. Yo sólo voy a mostraros cómo crear una, el resto se crearían exactamente igual. Para ello, observad las siguientes imagenes:

OpenMediaVault custon Nginx fail2Ban jail
OpenMediaVault custon Nginx fail2Ban jail

Cómo vemos, las opciones se explican solas. Para los filtros NGinx tendremos en cuenta lo siguiente:

  • Nombre: pondremos el que queramos. A mi me gusta poner el mismo nombre que el filtro
  • Puerto: HTTP y HTTPS
  • Número máximo de reintentos: Los que queramos, 3 está bien
  • Tiempo de baneo: El que queramos, está en segundos. -1 significa infinito.
  • Filtro: El nombre del filtro a usar sin el .conf
  • Ruta del log: Archivo log en que se aplicará el filtro. Será access.log para todos los filtros Nginx excepto para nginx-http-auth que será error.log

Podéis crear tantos filtros como necesiteis y activarlos en OpenMediaVault cómo hemos visto. Una buena fuente para filtros es esta página, donde tenéis por ejemplo, un filtro para OpenVPN:

[Definition]

failregex = ^ TLS Error: incoming packet authentication failed from \[AF_INET\]<HOST>:\d+$
            ^ <HOST>:\d+ Connection reset, restarting
            ^ <HOST>:\d+ TLS Auth Error
            ^ <HOST>:\d+ TLS Error: TLS handshake failed$
            ^ <HOST>:\d+ VERIFY ERROR

ignoreregex =

Y ésto es todo por esta entrega. En la siguiente, que será la última, nos ocuparemos de copias de seguridad y os enseñaré el hardware que estoy usando para este proyecto.

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (3) se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/11/27/el-mejor-home-server-con-openmediavault-y-raspberry-pi-3/feed/ 3
El mejor home server con OpenMediaVault y Raspberry Pi (2) https://agente404.com/2019/11/14/el-mejor-home-server-con-openmediavault-y-raspberry-pi-2/?utm_source=rss&utm_medium=rss&utm_campaign=el-mejor-home-server-con-openmediavault-y-raspberry-pi-2 https://agente404.com/2019/11/14/el-mejor-home-server-con-openmediavault-y-raspberry-pi-2/#comments Thu, 14 Nov 2019 11:08:40 +0000 http://agente404.com/?p=1562 Home Server OpenMediavault Raspberry Pi 2

En esta segunda entrega de el mejor home server con Openmediavault y Raspberry Pi vamos a instalar y configurar OpenVPN, Transmission para descarga de torrents, y miniDLNA.

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (2) se publicó primero en El blog del Agente 404.

]]>
Home Server OpenMediavault Raspberry Pi 2

En esta segunda parte seguiremos montando nuestro home server con OpenMediaVault instalando OpenVPN, MiniDLNA y Transmission.

Instalación de plugins en OpenMediaVault

Todos los servicios que vamos a instalar hoy están disponibles como plugins de OpenMediaVault. Para instalar un plugin, nos dirigimos a Sistema -> Plugins, y allí buscamos el plugin a instalar.

Instalación de plugins en OpenMediaVault

Una vez localizado el plugin, hacemos clic en él para seleccionarlo y a continuación en Instalar (o desinstalar si ya lo tenemos instalado y queremos eliminarlo).

OpenVPN

1. Configuración OpenVPN

Una vez instalado openVPN con el método descrito anteriormente, pasaramos a configurarlo desde Servicios -> OpenVPN.

Configuraremos nuestra VPN con las siguientes opciones:

configuración OpenVPN en OpenMediaVault

Marcaremos la opción PAM authentication para que además del certificado los clientes tenga que introducir su usuario y contraseña.

En el último apartado Público, pondremos la dirección pública con que accederemos a la VPN, bien nuestra IP pública o un dominio que apunte a ella. Si no tenéis IP estática podéis utilizar algún servicio como No-IP.

Yo, utilizo Cloudflare con un script para actualizar la IP ejecutandose en el servidor.

2. Creación de certificados

Para que los usuarios puedan acceder, debemos crear certificados para cada uno de los usuarios. Es tan sencillo como ir a la pestaña certificados -> Añadir seleccionar el usuario y darle un nombre al certificado.

Creación certificados OpenvPN en OpenMediaVault

Este certificado es que descargaremos para su uso en los clientes que se conecten a nuestra VPN.

3. Redirección de puertos

Por último y para poder conectarnos a la VPN deberéis configurar una redirección de puertos en vuestro router. Es decir, deberemos redirigir las conexiones entrantes al puerto 1194 a la IP de nuestra Raspberry Pi.

Transmission en OpenMediaVault

1. Configuración de Transmission

Transmission es un cliente BitTorrent para Linux ligero y con una interfaz web. Para instalarlo en OpenMediaVault seguiremos el método anterior.

Una vez instalado nos dirigimos a la sección BitTorrent y aunque básicamente podemos dejaremos la configuración por defecto. Si lo deseamos, podemos añadir un script para que se ejecute al terminar una descarga (p.ej. copiar os archivos a una carpeta u otra en función de su extensión, para así clasificar música, películas, etc…).

Configuracion Transmission OpenMediaVault

2. Ubicación de las descargas

En la pestaña Files and Locations definiremos las carpetas en que se descargaran nuestros archivos. Éstas carpetas serán aquellas que previamente hayamos compartido désde Permisos de acceso -> Carpetas compartidas.

Configuracion Transmission OpenMeddiaVault

Aquí podremos configurar la carpeta de descargas, la carpeta de incompletos y una carpeta Vigilar a la que podremos subir archivos .torrent que se añadiran automáticamente al programa.

3. Interfaz web de Transmission

Transmission cuenta con una interfaz web llamada RPC. Esta interfaz es accesible desde nuestra red local en el puerto 9091, aunque podemos configurar el que queramos. http://IP_Raspberry:9091

Cómo veis podemos añadir autenticación con usuario / contraseña a la interfaz web de Transmision, nosotros no lo haremos puesto que en la próxima entrega veremos cómo securizar nuestra instalación y acceder a ella desde fuera de la red local.

MiniDLNA OpenMediaVault

MiniDLNA es un servidor de streaming ligero diseñado especialmente para funcionar en máquinas con pocos recursos. Realmente, no necesita configuración. Simplemente deberemos habilitar el servicio desde Servicios -> DLNA.

Además tendremos que añadir las carpetas compartidas que deseemos indicando el timpo de medio que se escaneará:

Una vez añadidas las carpetas miniDLNA las escaneará en busca de archivos. Podremos acceder a este servidor de Streaming desde cualquier PC, SmartTV, etc..

Y esto es todo por esta entrega. En la siguiente instalaremos Nginx junto con Let’s Encrypt para actuar cómo reverse proxy y así poder acceder a nuestros servicios desde fuera de la red local. También instalaremos Fail2Ban para evitar intrusiones en nuestro sistema.

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (2) se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/11/14/el-mejor-home-server-con-openmediavault-y-raspberry-pi-2/feed/ 4
El mejor home server con OpenMediaVault y Raspberry Pi (1) https://agente404.com/2019/10/31/el-mejor-home-server-con-openmediavault-y-raspberry-pi-1/?utm_source=rss&utm_medium=rss&utm_campaign=el-mejor-home-server-con-openmediavault-y-raspberry-pi-1 https://agente404.com/2019/10/31/el-mejor-home-server-con-openmediavault-y-raspberry-pi-1/#comments Thu, 31 Oct 2019 11:31:48 +0000 http://agente404.com/?p=1493 Openmediavault

¿Es OpenMediaVault el mejor home server que podemos montar con nuestra Raspberry Pi? En esta serie de posts vamos a ver si es una buena opción o simplemente la mejor.

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (1) se publicó primero en El blog del Agente 404.

]]>
Openmediavault

Hoy vamos a ver como instalar OpenMediaVault en nuestra Raspberry Pi y convertirla en un servidor de archivos estilo NAS para nuestra casa.

Además, instalaremos algunos plugins bastante interesantes para extender la funcionalidad de nuestro home server.

Instalación de OpenMediaVault en Raspberry Pi

Las siguientes instrucciones están obsoletas, leer actualización más abajo.

Además, muchos de los plugins ya no están disponibles y la forma recomendada de instalarlos es mediante Docker.

Para instalar OpenMediaVault, al igual que con muchos otros SO para Raspberry Pi, debemos descargarnos la imagen correspondiente y escribirla en una tarjeta SD usando p.ej. Etcher.

Las imágenes para Raspberry Pi están disponibles en el siguiente enlace. Descargaremos la más reciente.

Una vez instalada, insertaremos la SD en la Raspberry Pi y esperaremos un rato a que termine el primer inicio del sistema el cual llevará un rato.

OpenMediaVault default login

Actualización

Con la llegada de OMV5 ya no hay imágenes para SBC por lo que para instalar OMV tenemos que descargar Raspbian Buster Lite, y copiarlo a una tarjeta microSD.

A continuación, nos conectamos mediante SSH y ejecutamos los siguientes comandos para instalar OMV:

sudo su
apt-get update && apt-get upgrade
reboot

sudo su
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Una vez terminado podremos acceder a la interfaz web dirigiendonos a la IP de nuestra Raspberry Pi. Los credenciales de acceso por defecto son:

  • Interfaz web:
    • usuario -> admin
    • contraseña -> openmediavault
  • Consola
    • usuario -> root
    • contraseña -> openmediavault

Tened en cuenta que por defecto el acceso root por SSH está desactivado.

Configuración inicial de OpenMediaVault

Es muy importante cambiar la contraseña del administrador de la interfaz web. Para ello, en el menú a la izquierda nos dirigimos a Opciones generales y a continución seleccionamos Contraseña del Administrador web.

1. Configuración de la red

En primer lugar, necesitaremos configurar nuestras interfaces de red. A mi me gusta configurar la interfaz cableada con una IP estática. En Openmediavault esto se hace desde Sistema -> Red.

En esta sección en la pestaña General podremos modificar el nombre del equipo y el dominio. Pero esto no es lo que nos interesa, lo que queremos hacer aquí es añadir y configurar nuestras interfaces de red, para lo que nos dirigimos a la pestaña Interfaces.

Configurar interfaz de red en Openmediavault

Aquí haremos clic en Añadir, para agregar nuestras interfaces de red, en mi caso, he añadido sólo la interfaz Ethernet y le he puesto una IP estática, que, al tratarse de un servidor es lo más práctico.

2. Agregar unidades de disco

Lo siguiente que queremos hacer es añadir al menos un disco duro a nuestro servidor. Para ello, con el disco duro enchufado a un puerto USB de nuestra Raspberry Pi (o mejor aún a un HUB alimentado), nos dirigimos a la sección Almacenamiento -> Discos y nos aseguramos de que lo haya detectado. Si no se ha detectado, hacemos clic en Scan y debería detectarlo.

Con el disco enchufado y detectado por el sistema, tenemos que crear un sistema de archivos. Esto se hace desde Almacenamiento -> Sistema de archivos.

Openmediavault

Lo más probable es que si ya tenemos el disco formateado y con datos aparezca ya aquí y solo tengamos que montarlo. Si no, será necesario crear un nuevo sistema de archivos con sus particiones.

Para ello hacemos clic en crear, seleccionamos el dispositivo y el sistema de archivos. Mi recomendación es usar ext4, puesto que aunque sólo podremos leerlo en sistemas Linux, es más eficiente que NTFS en este tipo de sistemas.

3. Crear carpetas compartidas

Para poder acceder a nuestros discos y sus archivos debemos crear carpetas compartidas. Una para cada carpeta a que queramos tener acceso.

Esto se hace desde la sección Permisos de acceso -> Carpetas compartidas y haciendo clic en Añadir. En el siguiente cuadro de diálogo completaremos:

En este cuadro podemos asignar nombre a la carpeta compartida, seleccionar el dispositivo y la ruta en que se encontrará así como definir los permisos de acceso.

Estos permisos son Lectura/Escritura, Lectura o nada para Administradores, Usuarios o Públicos. ¿Qué usuarios? Os estaréis preguntando, pues los que crearemos a continuación.

4. Creación de usuarios

Para controlar el acceso a carpetas compartidas y servicios necesitaremos crear usuarios. Estos usuarios serán usuarios del sistema, es decir, podremos iniciar sesión con ellos o utlizarlos para cualquier servicio que admita autenticación Pam.

Crearemos usuarios en Permisos de acceso -> Usuarios haciendo clic en añadir.

Completaremos el formulario y, en la pestaña Grupos, añadiremos al usuario a los grupos que queramos. Por defecto todos los usuarios pertenecen al grupo users.

Os recomiendo crear un usuario para acceder por SSH y administrar el servidor. Éste usuario deberá pertenecer a los grupos ssh y sudoers.

Por último, podremos decidir si queremos activar las carpetas home de los usuarios en la pestaña configuración.

Configuración de servicios

1. Configurando Samba

Ahora que ya tenemos nuestras carpetas compartidas y usuarios configurados, pasaremos a configurar el servicio Samba para acceder a nuestras carpetas compartidas desde otros equipos.

Nos dirigimos a Servicios -> SMB / Cifs y en configuración habilitamos el servicio y configuramos el nombre de nuestro Grupo de trabajo.

Configuración Samba SMB en Openmediavault

Si lo deseamos también podemos habilitar los directorios home de usuario se compartan por Samba, siempre y cuando los tengamos activados tal y como se vio en el punto 4 del apartado anterior.

Lo siguiente sería elegir qué carpetas queremos compartir mediante este servicio, para ello, simplemente tenemos que añadirlas en la pestaña Compartidos, haciendo clic en Añadir y seleccionando la carpeta que deseemos:

Una vez hecho esto podremos acceder a esta carpeta mediante «Sitios de red» en Windows, o accediendo mediante IP/Hostname\nombre_carpeta_compartida.

2. Configurando acceso FTP

Del mismo modo que en el apartado anterior podemos configurar el acceso FTP desde Servicios -> FTP. Simplemente activamos el servicio y elegimos a qué carpetas damos acceso por FTP, cómo véis, es bastante sencillo.

En el caso de FTP tiene propiedades avanzadas como puede ser habilitar el acceso SSL o la creación de reglas de exclusión para conexiones FTP.

3. Configurando acceso SSH

Por último cometnaros que podemos activar el acceso SSH desde Servicios -> SSH. Si bien no es necesario para nada, a mi me gusta activarlo para realizar ciertas tareas administrativas.

Os recomiendo dejar desactivado el acceso root y crear un usuario específico para SSH añadiendolo, como ya hemos dicho, a los grupos ssh y sudoers.

Y ésto es todo por ahora. En la siguiente entrega vermos como instalar y configurar plugins, entre ellos OpenVPN, Transmission y MiniDLNA.

La entrada El mejor home server con OpenMediaVault y Raspberry Pi (1) se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/10/31/el-mejor-home-server-con-openmediavault-y-raspberry-pi-1/feed/ 4
Instala Windows 10 en Raspberry Pi 3 https://agente404.com/2019/02/14/instala-windows-10-en-raspberry-pi-3/?utm_source=rss&utm_medium=rss&utm_campaign=instala-windows-10-en-raspberry-pi-3 https://agente404.com/2019/02/14/instala-windows-10-en-raspberry-pi-3/#respond Thu, 14 Feb 2019 15:13:41 +0000 http://agente404.com/?p=1209 Windows 10 en Raspberry Pi

Instalar Windows 10 en Raspberry Pi 3 es tan sencillo como descargar el instalador y crear la imagen de sistema en una tarjeta SD.

La entrada Instala Windows 10 en Raspberry Pi 3 se publicó primero en El blog del Agente 404.

]]>
Windows 10 en Raspberry Pi

Hace ya un año que se lanzó Windows 10 ARM, pero no ha sido hasta ahora que se ha creado un instalador (OK, ya existía pero ahora es mucho más fácil de utilizar) para facilitar la tarea de instalar Windows 10 en Raspberry Pi 3.

Para realizar esta instalación necesitamos:

Obtener la imagen de Windows 10 ARM

Para obtener la imagen de nos dirigimos al este enlace y entramos las siguientes opciones:

Windows10ARM imageA continuación hacemos clic en el primer enlace de la derecha (creatingISO_17763.292_es-es_arm64_Professional.cmd) .  Se descargara un archivo .cmd que ejecutaremos para obtener la imagen del sistema.

Una vez terminado se habrá creado un archivo .iso en la carpeta en que se encuentre el script. La montaremos y buscaremos la imagen install.wim dentro de la carpeta x:\sources.

Instalando Windows 10 en Raspberry Pi 3

Para proceder a quemar Windows 10 ARM en la tarjeta SD necesitamos descargar el WoA Installer. Para ejecutar este programa es necesario:

  • Una versión reciente de Windows 10, preferiblemente la última
  • Tener instalado .NET Framework 4.6.1

Si cumplimos con estos requisitos procedemos a extraer el software del archivo comprimido que nos hemos descargado y procedemos a ejecutarlo.

  1. En primer lugar nos dirigimos a la sección «Advanced» y hacemos click en «Import core package» para importar el «Core Package» que nos descargaremos de este enlace, escogeremos el más reciente.
  2. A continuación, en la sección «Windows Deployment» seleccionamos la unidad en que queremos instalar Windwos10 ARM, y la imagen .wim obtenida anteriormente.
  3. Por último hacemos clic en Deploy para comenzar a quemar la imagen en la microSD.

Windows 10 ARM core package RAspberry Pi 3

Instala Windows 10 en Raspberry Pi

Una vez termine el proceso ya tenemos nuestra microSD lista para poner en la Raspberry Pi.

Eso sí, tened en cuenta que la experiencia de usuario puede no ser la mejor en un hardware como el de la Raspberry, aunque por $35 podemos tener un PC completo que, para un uso ligero o para su uso en las aulas, es más que adecuado.

La entrada Instala Windows 10 en Raspberry Pi 3 se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/02/14/instala-windows-10-en-raspberry-pi-3/feed/ 0
Monitorizar PiVPN con RPi Monitor https://agente404.com/2019/02/05/monitorizar-pivpn-con-rpi-monitor/?utm_source=rss&utm_medium=rss&utm_campaign=monitorizar-pivpn-con-rpi-monitor https://agente404.com/2019/02/05/monitorizar-pivpn-con-rpi-monitor/#respond Tue, 05 Feb 2019 13:23:02 +0000 http://agente404.com/?p=1189 Monitorizar PiVPN con RPi Monitor

RPi monitor es un software para monitorizar nuestra Raspberry Pi mediante una interfaz web.

La entrada Monitorizar PiVPN con RPi Monitor se publicó primero en El blog del Agente 404.

]]>
Monitorizar PiVPN con RPi Monitor

En esta ocasión vamos a crear un addon para monitorizar PiVPN con RPi Monitor. Cómo bien sabéis RPi Monitor es un software para monitorizar nuestra Raspberry Pi. Este software nos permite, de una manera bastante sencilla, crear addons personalizados para extender su funcionalidad.

El objetivo de este addon es conocer los clientes conectados a nuestra VPN en cada momento.  Ésto viene a cuento de la pasada guía en la que os comenté cómo crear un servidor openVPN con Pi Hole.

Antes de comenzar debemos instalar RPiMonitor:

sudo apt-get install dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
sudo apt-get update
sudo apt-get install rpimonitor

Una vez instalado RPi Monitor podremos acceder a la interfaz web en la URL <raspberry pi ip>:8888

Creando el addon para monitorizar PiVPN

Los addons de RPi Monitor se encuentran en el directorio  /usr/share/rpimonitor/web/addons . En este directorio clonaremos el siguiente repositorio y lo renombramos a «pivpn»:

cd /usr/share/rpimonitor/web/addons
git clone https://github.com/Agente404/RPiMonitor-PiVPN_Client_Monitoring.git
mv RPiMonitor-PiVPN_Client_Monitoring pivpn

Ya tenemos el addon, ahora, necesitamos, obtener los datos para nutrir el addon de información. La información la obtendremos mediante al archivo pivpn.conf  que moveremos al directorio templates de RPiMonitor:

mv pivpn.conf /etc/rpimonitor/templates

En este archivo indicamos a rpimonitor que tome los datos del comando pivpn -c  y que los procese con el regex indicado.

Esta información será parseada por el archivo pivpn.js e insertada en el punto de inserción definido en pivpn.html, en este caso, una tabla.

Por último necesitamos editar el archivo /etc/rpimonitor/data.conf y añadir lo siguiente:

#Cambiaremos el número en función del número de addons activados. Los números han de ser correlativos
web.addons.1.name=PiVPN                                                                                                                                                    
web.addons.1.addons=pivpn                                                                                                                                                  

#Al final, en la sección includes:
include=/etc/rpimonitor/template/pivpn.conf

Con esto ya hemos terminado. Sólo quedaría reiniciar rpimonitor, sudo service rpimonitor restart  y listo!

Monitorizar PiVPN con RPi Monitor

La entrada Monitorizar PiVPN con RPi Monitor se publicó primero en El blog del Agente 404.

]]>
https://agente404.com/2019/02/05/monitorizar-pivpn-con-rpi-monitor/feed/ 0