Siguiendo con la configuración de la red de la casa, tenemos :
Un servidor corriendo Arch, compartiendo archivos desde un disco SSD vía NFS y Samba
Una red gigabit por cable ethernet que asegura tasas de transferencia parecidas a un disco duro 120 Mb / s, por lo que ya no tenía sentido tener un disco rápido para cada PC, sino solo uno en el servidor.
A este servidor se conectan 2 PC Linux por cable, un notebook Windows y un teléfono android.
El servidor está configurado de esta manera :
[christian@lircay ~]$ cat /etc/exports
# Use `exportfs -arv` to reload.
/mnt/temp 192.168.0.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
/mnt/datos 192.168.0.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
Los parámetros anonuid y anongid deben ser los mismos que los del cliente. Para conocerlos escribe «id» en un terminal del PC cliente.
y por el lado del cliente tenemos para montar /etc/fstab :
El servicio https://freedns.afraid.org/ nos permite obtener tener una dirección internet para nuestro servidor casero, es un servicio gratuito y nos entrega libertad para manejar nuestra información encriptada desde fuera de nuestra red doméstica.
Este tutorial debería funcionar también para otras distribuciones Linux que usan systemd.
Requisitos :
Un servidor Arch configurado con con los repositorios del Aur funcionando.
Abrir una cuenta en https://freedns.afraid.org/ y crear un dominio de internet dinámico. Esto es necesario porque los proveedores de internet están permanentemente cambiándonos el número IP de nuestra conexión pública.
Es requisito configurar el router de nuestro proveedor internet para permitir los requerimientos al IP público de nuestra conexión sean traspasados al IP interno de nuestro servidor casero, así existe una comunicación al servidor desde el exterior. Configuras eso en la página de configuración del router (normalmente 192.168.0.1) donde dice Port Forwarding, quedando algo así :
En este ejemplo el IP del servidor interno es 192.168.0.3, y estos abriendo los puerto 80 protocolo http y el puerto 443 protocolo https, esto es solo un ejemplo, todos los router de nuestros proveedores internet son distintos.
Instalación del servicio Freedns :
1 .- Primero que hacemos es instalar el demonio de actualización del IP dinámico
yay -S freedns-daemon
2.- Traemos el link de actualización de freedns, puedes encontrarlo acá :
3.- Luego agregamos al archivo de configuración la en Enlace de actualización copiada en el punto 2:
Hace ya un buen tiempo venimos usando servicios en la nube para almecenar nuestros archivos : Google Drive, Onedrive o Dropbox. Estos servicio toman la información de todos para su propio beneficio, de terceros, o del gobierno.
Son servicios tremendamente útiles, y nos obligan a entregar nuestra información a grandes corporaciones con sede en EEUU.
Como cada día tengo menos confianza en nuestras instituciones (COVID, Desinformación, Sistemas de Vigilancia de datos) creo es importante entendamos lo firmado cuando aceptamos los acuerdos de privacidad :
Google
We provide personal information to our affiliates and other trusted businesses or persons to process it for us, based on our instructions and in compliance with our Privacy Policy and any other appropriate confidentiality and security measures. For example, we use service providers to help us with customer support.
We’ll process your data when we have a legal obligation to do so, for example, if we’re responding to legal process or an enforceable governmental request.
Microsoft Onedrive :
We share your personal data with your consent or to complete any transaction or provide any product you have requested or authorized. We also share data with Microsoft-controlled affiliates and subsidiaries; with vendors working on our behalf; when required by law or to respond to legal process; to protect our customers; to protect lives; to maintain the security of our products; and to protect the rights and property of Microsoft and its customers.
Dropbox
Dropbox uses certain trusted third parties (for example, providers of customer support and IT services) to help us provide, improve, protect, and promote our Services. These third parties will access your information only to perform tasks on our behalf in compliance with this Privacy Policy, and we’ll remain responsible for their handling of your information per our instructions.
“We may disclose your information to third parties if we determine that such disclosure is reasonably necessary to (a) comply with the law; (b) protect any person from death or serious bodily injury; (c) prevent fraud or abuse of Dropbox or our users; or (d) protect Dropbox’s property rights.”
En resumen pueden compartir esa inforación con terceros, y tu nos has firmado acuerdo con los terceros, por lo que pueden pasarle la información a quien quieran. Y además te hacen pagar por eso.
Instalando una nube personal con Nextcloud :
Entonces, hay una forma de obtener prácticamente estos mismos servicios usando un pequeño servidor en casa con software de código abierto, para esto puedes usar una Raspberry Pi o un computador viejo que esté en desuso.
Algunas recomendaciones previas:
Una raspberry PI , o cualquier PC on al menos 2GB de RAM es suficiente servidor para correr Nextcloud o Owncloud.
En lo posible utiliza un disco de estado sólido (SSD) para almacenar los datos, por experiencia fallan mucho menos y tendrás tiempos de acceso bastante mejores. Si no tienes uno usa discos duros magnéticos, en raid 1 o con backup diario.
Instala una pequeña UPS para porteger el servidor y la conexión a internet de posibles caídas de corriente.
Configura el router de internet para redirigir el puerto 443 desde internet al servidor.
Configura en el servidor un servicio de DNS dinámico para que puedas acceder a tus archivos desde tu celular cuando estés fuera de casa.
6.- Configuramos php-fpm para que pueda escribir los directorios de Nextcloud y el directorio de datos de la nube :
systemctl edit php-fpm.service
Se abrirá un editor e ingresamos :
[Service]
ReadWritePaths = /usr/share/webapps/nextcloud/apps
ReadWritePaths = /usr/share/webapps/nextcloud/data
ReadWritePaths = /etc/webapps/nextcloud/config
# Este es el directorio donde se almacenarán los datos de la nube :
ReadWritePaths = /var/data
7.- Luego reiniciamos nginx y php-fpm :
systemctl restart php-fpm
systemctl restart nginx
8.- Configuramos Nginx
9.- Autorizamos el acceso al servidor desde otras direcciones, editamos el archivo /usr/share/webapps/nextcloud/config/config.php
Este archivo lo genera automáticamente el instalador de Nextcloud, agregamos los nombres del servidor adicionales : :
array (
0 => 'nombrehost',
//el nombre del servidor en la red interna configurado en /etc/hosts
1 => 'ejemploservidor.gtk.cl',
//el nombre del servidor en freedns
2 => '192.168.0.3'
//la IP interna de la máquina
),
10.- Habilitar thumbnails de videos, debes tener instalado el paquete ffpmeg.
Agrega al antes de la linea de cierre «);» el siguiente código :