bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Instalación de File Browser en

calendar_month Aug 11, 2026 schedule 20 min de lectura visibility 18 vistas
Установка File Browser на VPS: управление файлами через веб-интерфейс с Nginx и SSL
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Instalación de File Browser en un VPS: gestión de archivos a través de una interfaz web con Nginx y SSL

TL;DR

En esta guía, configuraremos File Browser —una interfaz web ligera para la gestión de archivos— en su VPS. Aseguraremos el acceso seguro a través de Nginx como proxy inverso y protegeremos la conexión con certificados SSL de Let's Encrypt, obtenidos mediante Certbot. Como resultado, obtendrá un almacenamiento de archivos en la nube totalmente controlado, accesible desde cualquier parte del mundo a través de un navegador.

  • Instalación de File Browser como servicio del sistema para el inicio automático.
  • Configuración de Nginx para el enrutamiento de tráfico y su funcionamiento como proxy inverso.
  • Configuración de SSL/TLS con Certbot para una conexión HTTPS segura.
  • Garantía de la seguridad básica del servidor con UFW y Fail2ban.
  • Recomendaciones para la copia de seguridad y el mantenimiento del sistema.
  • Control total sobre sus archivos y datos sin servicios de terceros.

Qué configuramos y por qué

Схема: Что мы настраиваем и зачем
Diagrama: Qué configuramos y por qué

En el mundo moderno, donde los datos juegan un papel clave, la capacidad de gestionar sus archivos desde cualquier parte del mundo se ha convertido en una necesidad. Los almacenamientos en la nube, como Google Drive, Dropbox o OneDrive, ofrecen comodidad, pero a menudo a costa de la privacidad y el control total. Para aquellos que valoran la independencia y la seguridad, la solución ideal es desplegar su propio gestor de archivos en un servidor privado virtual (VPS) o un servidor dedicado.

Instalaremos File Browser — un gestor de archivos ligero y potente con interfaz web. Es una aplicación de un solo binario, escrita en Go, lo que la hace extremadamente eficiente, fácil de desplegar y operar. File Browser le permite subir, descargar, ver, editar, eliminar y compartir archivos y carpetas directamente desde su navegador web. Soporta múltiples usuarios con diferentes permisos de acceso, lo que lo convierte en una excelente opción tanto para uso personal como para pequeños equipos.

Qué obtendrá el lector al final

Al finalizar esta guía, obtendrá un sistema de gestión de archivos completamente funcional, accesible a través de una conexión HTTPS segura mediante su dominio. Podrá:

  • Acceder a sus archivos en el VPS a través de una interfaz web intuitiva.
  • Subir y descargar archivos y carpetas.
  • Crear, renombrar, mover y eliminar archivos y directorios.
  • Ver archivos multimedia y editar documentos de texto directamente en el navegador.
  • Configurar múltiples usuarios con permisos de acceso individuales a diferentes directorios.
  • Compartir archivos y carpetas con otros usuarios mediante enlaces temporales o permanentes.

Qué alternativas existen y por qué autoalojado en un VPS

Existen varios enfoques para la gestión de archivos:

  • Servicios en la nube (Google Drive, Dropbox, iCloud): Convenientes, no requieren configuración, pero usted no controla sus datos, depende de la política del proveedor y a menudo paga una cuota de suscripción.
  • Soluciones autoalojadas completas (Nextcloud, ownCloud): Ofrecen una amplia gama de funciones (calendarios, contactos, notas, sincronización), pero son significativamente más pesadas, requieren una base de datos y son más complejas de configurar y mantener. Para una tarea simple de gestión de archivos, pueden ser excesivas.
  • Protocolos (SFTP, SMB/CIFS): Requieren software cliente especializado, son menos convenientes para un acceso rápido desde el navegador y no siempre son adecuados para usuarios no técnicos.

¿Por qué File Browser en un VPS? La elección de File Browser en un VPS es un punto intermedio ideal. Obtiene control total sobre sus datos, alto rendimiento y flexibilidad, mientras que File Browser sigue siendo ligero y fácil de gestionar. Es la solución perfecta para:

  • Una "nube" personal para almacenar documentos, fotos y videos.
  • Compartir archivos dentro de un pequeño equipo o familia.
  • Acceder a archivos de proyectos para desarrolladores y diseñadores.
  • Gestionar archivos en el servidor sin necesidad de usar SSH y la línea de comandos.

En última instancia, usted construye su propia infraestructura de archivos, segura y privada, que funcionará exactamente como usted necesita, sin pagos ocultos ni restricciones de servicios de terceros.

Qué configuración de VPS se necesita para esta tarea

Схема: Какой VPS-конфиг нужен под эту задачу
Diagrama: Qué configuración de VPS se necesita para esta tarea

File Browser es una aplicación muy ligera, por lo que sus requisitos de recursos son mínimos. Sin embargo, las recomendaciones generales para un VPS incluyen los recursos necesarios para el sistema operativo, el almacenamiento potencial de archivos y la garantía del funcionamiento estable de Nginx y Certbot.

Requisitos mínimos

  • CPU: 1 vCPU con una frecuencia de 2 GHz o superior. File Browser no es exigente con el procesador, a menos que haya un procesamiento intensivo de archivos (por ejemplo, conversión masiva).
  • RAM: 1 GB de memoria RAM. Esto es suficiente para el SO (por ejemplo, Ubuntu 24.04 LTS), File Browser, Nginx y Certbot. Si planea subir archivos muy grandes o atender a muchos usuarios simultáneos, considere 2 GB.
  • Disco: 20-40 GB SSD. El sistema y el software en sí ocuparán 10-15 GB. El resto es para sus archivos. Se recomienda encarecidamente SSD para un trabajo rápido con archivos.
  • Red: Puerto de 100 Mbps o 1 Gbps con tráfico ilimitado o suficiente. La velocidad de la red afectará directamente la velocidad de subida y descarga de archivos.

Plan de VPS específico para la tarea

Para la mayoría de los usuarios, incluidos desarrolladores, fundadores individuales y pequeños equipos, la configuración óptima será la siguiente:

  • CPU: 2 vCPU
  • RAM: 2-4 GB
  • Disco: 80-100 GB NVMe/SSD
  • Red: Puerto de 1 Gbps

Esta configuración será más que suficiente para un trabajo cómodo con File Browser, el almacenamiento de decenas de miles de archivos y el servicio a varias decenas de usuarios simultáneos. Para estos fines, se puede adquirir un VPS con las características indicadas.

Cuándo se necesita un servidor dedicado y no un VPS

Un servidor dedicado (dedicated server) puede ser necesario en los siguientes casos:

  • Volumen de datos muy grande: Si planea almacenar terabytes de datos, para los cuales un VPS podría ser demasiado caro o tener limitaciones de espacio en disco.
  • Carga alta: Cientos de usuarios simultáneos, carga/descarga intensiva constante.
  • Requisitos específicos de rendimiento: Por ejemplo, para aplicaciones que utilizan intensivamente el subsistema de disco o requieren el máximo rendimiento de CPU sin "vecinos" en el mismo host físico.
  • Requisitos de cumplimiento: Algunas normativas pueden exigir una separación física completa del hardware.

Para File Browser, en la mayoría de los casos, un VPS es la elección óptima en términos de relación precio/rendimiento/flexibilidad.

Ubicación: qué factores influye

La elección de la ubicación del VPS es importante por varios aspectos:

  • Latencia: Cuanto más cerca esté el servidor de su audiencia principal (usted, su equipo, usuarios), menor será la latencia y más rápida la respuesta de la interfaz web.
  • Jurisdicción de datos: Si tiene requisitos especiales para el almacenamiento de datos (por ejemplo, GDPR en Europa), elija un país que cumpla con esos requisitos.
  • Velocidad de red: Algunas regiones tienen mejor conectividad con ciertas partes del mundo. Verifique el ping a servidores de prueba en diferentes ubicaciones para elegir la mejor opción.

Preparación del servidor

Diagrama: Preparación del servidor
Diagrama: Preparación del servidor

Antes de instalar File Browser, es necesario realizar una configuración básica de seguridad e instalar las utilidades necesarias. Se asume que está utilizando una instalación limpia de Ubuntu Server 24.04 LTS (versión actual para 2026) y tiene acceso SSH con privilegios de root.

1. Actualización del sistema

Siempre comience actualizando la lista de paquetes y su instalación para asegurarse de que su sistema utiliza las versiones de software y parches de seguridad más recientes.


sudo apt update         # Actualiza la lista de paquetes disponibles
sudo apt upgrade -y     # Instala las actualizaciones para todos los paquetes
sudo apt autoremove -y  # Elimina los paquetes no utilizados

2. Creación de un nuevo usuario con privilegios sudo

Trabajar como usuario root es inseguro. Crearemos un nuevo usuario, lo añadiremos al grupo sudo y configuraremos claves SSH para él. Reemplace youruser con el nombre de usuario deseado.


adduser youruser                            # Crear un nuevo usuario
usermod -aG sudo youruser                   # Añadir el usuario al grupo sudo
mkdir -p /home/youruser/.ssh                # Crear el directorio para las claves SSH
chmod 700 /home/youruser/.ssh               # Establecer los permisos correctos para el directorio
cp ~/.ssh/authorized_keys /home/youruser/.ssh/ # Copiar su clave SSH pública (si ha iniciado sesión con la clave de root)
chown -R youruser:youruser /home/youruser/.ssh # Establecer el propietario para el directorio SSH

Después de esto, cierre la sesión de root e inicie sesión como el nuevo usuario youruser para asegurarse de que todo funciona.

3. Desactivación del acceso SSH para root y por contraseña

Para mejorar la seguridad, se recomienda deshabilitar el inicio de sesión SSH para el usuario root y prohibir la autenticación por contraseña, dejando solo las claves SSH.


sudo nano /etc/ssh/sshd_config

Encuentre y modifique las siguientes líneas (o añádalas si no existen):


# PermitRootLogin no
# PasswordAuthentication no
# ChallengeResponseAuthentication no
# UsePAM no

Asegúrese de que PermitRootLogin esté establecido en no y PasswordAuthentication en no. Si estas líneas están comentadas (comienzan con #), descoméntelas.

Después de guardar el archivo, reinicie el servicio SSH:


sudo systemctl restart sshd

IMPORTANTE: Asegúrese de poder iniciar sesión como el nuevo usuario con una clave SSH antes de deshabilitar el acceso de root y la autenticación por contraseña. De lo contrario, podría perder el acceso al servidor.

4. Configuración del firewall (UFW)

UFW (Uncomplicated Firewall) es una interfaz fácil de usar para configurar reglas de iptables. Permitiremos solo los puertos necesarios: SSH (22), HTTP (80) y HTTPS (443).


sudo apt install ufw -y                 # Instalación de UFW
sudo ufw allow OpenSSH                  # Permitir acceso SSH (puerto 22)
sudo ufw allow http                     # Permitir acceso HTTP (puerto 80)
sudo ufw allow https                    # Permitir acceso HTTPS (puerto 443)
sudo ufw enable                         # Habilitar el firewall
sudo ufw status verbose                 # Verificar el estado del firewall

Después de habilitar UFW, asegúrese de que aún puede conectarse por SSH.

5. Instalación de Fail2ban

Fail2ban escanea los registros del servidor en busca de actividad sospechosa (por ejemplo, intentos de fuerza bruta de contraseñas SSH) y bloquea temporalmente las direcciones IP de los atacantes, añadiendo reglas al firewall.


sudo apt install fail2ban -y            # Instalación de Fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Creación de una copia local de la configuración
sudo systemctl enable fail2ban          # Habilitar el inicio automático de Fail2ban
sudo systemctl start fail2ban           # Iniciar Fail2ban
sudo systemctl status fail2ban          # Verificar el estado

En el archivo /etc/fail2ban/jail.local puede configurar los parámetros de bloqueo, pero por defecto ya protege SSH.

6. Instalación de Nginx (preliminar)

Nginx se utilizará como proxy inverso para File Browser y para el manejo de certificados SSL.


sudo apt install nginx -y               # Instalación de Nginx
sudo systemctl enable nginx             # Habilitar el inicio automático de Nginx
sudo systemctl start nginx              # Iniciar Nginx
sudo systemctl status nginx             # Verificar el estado

Ahora su servidor está listo para la instalación de File Browser.

Instalación de software — paso a paso

Diagrama: Instalación de software — paso a paso
Diagrama: Instalación de software — paso a paso

Ahora que el servidor está preparado, procederemos con la instalación de los componentes principales: File Browser, Nginx (si no se instaló en el paso anterior) y Certbot para la obtención y renovación automática de certificados SSL.

En esta guía, utilizaremos File Browser versión 2.30.0 (versión actual estimada para 2026), Nginx 1.28.0 y Certbot 2.10.0. Todos los comandos se ejecutan como un usuario con privilegios sudo.

1. Instalación de File Browser

File Browser se distribuye como un único archivo binario, lo que simplifica enormemente su instalación. Lo descargaremos del repositorio oficial de GitHub.


# Creamos un directorio temporal para la descarga
mkdir -p ~/filebrowser_install
cd ~/filebrowser_install

# Descargamos la última versión de File Browser (v2.30.0 para 2026)
# Siempre verifique la versión actual en https://github.com/filebrowser/filebrowser/releases
wget https://github.com/filebrowser/filebrowser/releases/download/v2.30.0/filebrowser_2.30.0_linux_amd64.tar.gz

# Descomprimimos el archivo
tar -xvf filebrowser_2.30.0_linux_amd64.tar.gz

# Movemos el archivo ejecutable a un directorio del sistema
sudo mv filebrowser /usr/local/bin/

# Eliminamos los archivos temporales
cd ~
rm -rf ~/filebrowser_install

# Verificamos que File Browser esté instalado y disponible
filebrowser --version

La salida de filebrowser --version debería mostrar la versión instalada.

2. Creación de un usuario del sistema y directorios para File Browser

Por seguridad, File Browser se ejecutará con un usuario del sistema dedicado y almacenará sus datos en directorios separados.


# Creamos el usuario del sistema 'filebrowser' sin posibilidad de inicio de sesión
sudo useradd -r -s /bin/false filebrowser

# Creamos el directorio para los archivos de File Browser (donde se almacenarán los archivos de usuario)
sudo mkdir -p /var/lib/filebrowser

# Creamos el directorio para el archivo de configuración de File Browser
sudo mkdir -p /etc/filebrowser

# Establecemos el propietario y los permisos para los directorios
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser
sudo chown -R filebrowser:filebrowser /etc/filebrowser

3. Configuración de File Browser como servicio systemd

Para que File Browser se inicie automáticamente al arrancar el servidor y se gestione como un servicio normal, crearemos un archivo de unidad systemd.


sudo nano /etc/systemd/system/filebrowser.service

Pegue el siguiente contenido en el archivo:


[Unit]
Description=File Browser
After=network.target

[Service]
User=filebrowser
Group=filebrowser
# Iniciamos File Browser en la interfaz local (127.0.0.1) y puerto 8080
# Nginx hará proxy de las solicitudes a esta dirección
ExecStart=/usr/local/bin/filebrowser -r /var/lib/filebrowser -c /etc/filebrowser/filebrowser.json --port 8080 --address 127.0.0.1
Restart=on-failure
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo (Ctrl+X, Y, Enter). Ahora activamos e iniciamos el servicio:


sudo systemctl daemon-reload               # Recargar la configuración de systemd
sudo systemctl enable filebrowser          # Habilitar el inicio automático del servicio al arrancar el sistema
sudo systemctl start filebrowser           # Iniciar el servicio File Browser
sudo systemctl status filebrowser          # Verificar el estado del servicio

Asegúrese de que el servicio esté en estado "active (running)".

4. Instalación de Certbot (para SSL)

Certbot es una herramienta para la obtención y renovación automática de certificados SSL/TLS gratuitos de Let's Encrypt. Lo instalaremos a través de Snap, que es el método recomendado para Ubuntu 24.04.


# Asegúrese de que snapd esté instalado y actualizado
sudo snap install core                      # Instalación del paquete base de snapd
sudo snap refresh core                      # Actualización de snapd

# Instalación de Certbot
sudo snap install --classic certbot         # Instalación de Certbot en modo clásico

# Creación de un enlace simbólico para facilitar el uso del comando certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Ahora Certbot está listo para funcionar y se utilizará en la etapa de configuración de Nginx.

Configuration

Configuración

Esquema: Configuración
Esquema: Configuración

En este paso, configuraremos Nginx para que funcione como un proxy inverso para File Browser y obtendremos certificados SSL para asegurar una conexión HTTPS segura.

Importante: Para un funcionamiento exitoso, necesitará un nombre de dominio (por ejemplo, files.yourdomain.com) que apunte a la dirección IP de su VPS.

1. Creación del primer administrador de File Browser

Antes de configurar Nginx, crearemos el primer administrador de File Browser. Esto se puede hacer mediante un comando mientras el servicio está en ejecución.


# Creamos el primer administrador. Reemplace <admin_password> con una contraseña segura.
# Este comando creará el archivo filebrowser.json en /etc/filebrowser si no existe.
sudo /usr/local/bin/filebrowser users add admin <admin_password> --perm.admin --perm.create --perm.delete --perm.modify --perm.rename --perm.share --config /etc/filebrowser/filebrowser.json

Verá una confirmación de la creación del usuario. La contraseña no se mostrará en la consola, pero se establecerá.

2. Configuración de Nginx como proxy inverso

Crearemos un nuevo archivo de configuración de Nginx para su dominio. Reemplace yourdomain.com con su nombre de dominio real.


sudo nano /etc/nginx/sites-available/filebrowser.conf

Pegue el siguiente contenido. Esta configuración primero redirigirá todo el tráfico HTTP a HTTPS y está lista para ser utilizada por Certbot.


server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com; # Reemplace con su dominio

    # Redirigimos todo el tráfico HTTP a HTTPS
    return 301 https://$host$request_uri;
}

# Este bloque será configurado por Certbot después de obtener el certificado
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name yourdomain.com; # Reemplace con su dominio

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # Será creado por Certbot
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # Será creado por Certbot
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1h;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

    # HSTS (HTTP Strict Transport Security)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

    # Proxy de solicitudes a File Browser
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Soporte de WebSocket (para algunas funciones de File Browser)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Configuraciones adicionales para seguridad
    client_max_body_size 100G; # Tamaño máximo del archivo a subir (cambie según sea necesario)
    error_log /var/log/nginx/filebrowser_error.log warn;
    access_log /var/log/nginx/filebrowser_access.log;
}

Guarde y cierre el archivo. Ahora active la configuración creando un enlace simbólico y probando Nginx:


# Creamos un enlace simbólico
sudo ln -s /etc/nginx/sites-available/filebrowser.conf /etc/nginx/sites-enabled/

# Verificamos la sintaxis de la configuración de Nginx
sudo nginx -t

# Si no hay errores, recargamos Nginx
sudo systemctl reload nginx

3. Obtención de un certificado SSL con Certbot

Ahora que Nginx está configurado, podemos usar Certbot para obtener automáticamente un certificado SSL de Let's Encrypt. Certbot modificará la configuración de Nginx para añadir las rutas a los certificados.


sudo certbot --nginx -d yourdomain.com # Reemplace yourdomain.com con su dominio

Certbot le hará algunas preguntas:

  • Ingrese una dirección de correo electrónico para notificaciones de vencimiento del certificado.
  • Acepte los términos de servicio de Let's Encrypt.
  • (Opcional) Permita que EFF le envíe correos electrónicos sobre su trabajo.

Si todo va bien, Certbot configurará automáticamente Nginx para usar HTTPS y lo recargará. Verá un mensaje de éxito sobre la obtención del certificado.

4. Verificación de funcionamiento

Abra su navegador web y vaya a https://yourdomain.com (reemplace con su dominio). Debería ver la página de inicio de sesión de File Browser. Use el usuario admin y la contraseña que estableció anteriormente para iniciar sesión.

También puede verificar el estado de los servicios desde la línea de comandos:


sudo systemctl status filebrowser
sudo systemctl status nginx

Para verificar el funcionamiento del certificado SSL, puede usar herramientas en línea como SSL Labs SSL Server Test, o simplemente asegurarse de la presencia del "candado" en la barra de direcciones del navegador.

Para una verificación local de la disponibilidad de File Browser a través de Nginx, puede usar curl:


curl -kL https://yourdomain.com # La opción -k ignora la verificación del certificado, -L sigue las redirecciones

Debería recibir el código HTML de la página de inicio de sesión de File Browser.

5. Actualización de las reglas de UFW

Si previamente permitió los puertos HTTP y HTTPS por separado, Certbot podría haber actualizado las reglas de Nginx Full. Asegurémonos de que todo esté en orden:


sudo ufw allow "Nginx Full" # Permite los puertos 80 y 443 para Nginx
sudo ufw delete allow http  # Eliminamos la regla antigua, si existe
sudo ufw delete allow https # Eliminamos la regla antigua, si existe
sudo ufw status verbose

Asegúrese de que "Nginx Full" esté permitido y que las reglas individuales para HTTP/HTTPS hayan sido eliminadas para evitar duplicaciones.

Copias de seguridad y mantenimiento

Esquema: Copias de seguridad y mantenimiento
Esquema: Copias de seguridad y mantenimiento

La copia de seguridad es una parte críticamente importante de cualquier infraestructura de servidor. File Browser almacena todos los archivos de usuario y su configuración en el servidor, por lo que es necesario crear copias de seguridad regularmente para evitar la pérdida de datos.

1. Qué respaldar

Para File Browser, necesita respaldar:

  • Datos de usuario: El directorio /var/lib/filebrowser. Aquí se almacenan todos los archivos y carpetas que los usuarios suben a través de File Browser. Esta es la parte más importante.
  • Configuración de File Browser: El archivo /etc/filebrowser/filebrowser.json. Contiene la configuración de File Browser, la lista de usuarios y sus permisos.
  • Configuración de Nginx: El archivo /etc/nginx/sites-available/filebrowser.conf.
  • Certificados SSL: El directorio /etc/letsencrypt. Contiene sus certificados SSL. Se recomienda hacer una copia de seguridad con precaución, ya que las claves privadas son información confidencial. En la mayoría de los casos, es suficiente con volver a emitir los certificados usando Certbot después de restaurar el servidor, pero tener una copia de seguridad puede ser útil.

2. Script simple de copia de seguridad automática

Crearemos un script simple que archivará los datos necesarios y los guardará en un directorio separado. Para soluciones más robustas, se pueden usar herramientas como Restic, BorgBackup o Duplicity, que soportan deduplicación y cifrado.


sudo nano /usr/local/bin/backup_filebrowser.sh

Pegue el siguiente contenido:


#!/bin/bash

# Directorio para almacenar las copias de seguridad
BACKUP_DIR="/mnt/backups/filebrowser"
# Fecha y hora para el nombre del archivo
TIMESTAMP=$(date +%Y%m%d%H%M%S)
ARCHIVE_NAME="filebrowser_backup_${TIMESTAMP}.tar.gz"

# Creamos el directorio para las copias de seguridad, si no existe
mkdir -p "$BACKUP_DIR"

echo "Iniciando copia de seguridad de File Browser..."

# Creamos un archivo de la carpeta de datos y configuración
tar -czvf "$BACKUP_DIR/$ARCHIVE_NAME" \
    /var/lib/filebrowser \
    /etc/filebrowser/filebrowser.json \
    /etc/nginx/sites-available/filebrowser.conf \
    --absolute-names # Guardamos las rutas completas en el archivo

# Opcional: copia de seguridad de certificados SSL (con precaución)
# tar -czvf "$BACKUP_DIR/letsencrypt_backup_${TIMESTAMP}.tar.gz" /etc/letsencrypt --absolute-names

# Eliminamos copias de seguridad antiguas (por ejemplo, más de 7 días)
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +7 -delete

echo "Copia de seguridad completada. Archivo: $BACKUP_DIR/$ARCHIVE_NAME"

Haga el script ejecutable:


sudo chmod +x /usr/local/bin/backup_filebrowser.sh

3. Programación de copias de seguridad con Cron

Añadiremos el script a Cron para su ejecución automática. Por ejemplo, para una copia de seguridad diaria a las 03:00 de la madrugada:


sudo crontab -e

Añada la siguiente línea al final del archivo:


0 3 * * * /usr/local/bin/backup_filebrowser.sh >> /var/log/filebrowser_backup.log 2>&1

Esta línea significa: "Cada día a las 3 horas y 0 minutos, ejecutar el script y redirigir su salida a un archivo de registro".

4. Dónde almacenar las copias de seguridad

Almacenar las copias de seguridad en el mismo servidor que los datos originales es peligroso. En caso de fallo del servidor, perderá tanto los datos como sus copias. Se recomienda utilizar almacenamiento externo:

  • Almacenamiento compatible con S3: Servicios en la nube como AWS S3, Backblaze B2, DigitalOcean Spaces o MinIO (para S3 autoalojado). Existen clientes de línea de comandos (por ejemplo, awscli, rclone) que pueden subir automáticamente archivos a S3.
  • VPS o NAS separado: Se puede configurar rsync para sincronizar las copias de seguridad con otro VPS o almacenamiento en red (NAS) en su red local.
  • Disco duro externo: Para volúmenes muy pequeños y uso personal, pero requiere conexión y desconexión manual.

Integración con S3 usando rclone:


# Ejemplo de instalación de rclone
sudo apt install rclone -y
rclone config # Configuración interactiva del almacenamiento S3

# Ejemplo de adición al script de copia de seguridad después de crear el archivo:
# rclone copy "$BACKUP_DIR/$ARCHIVE_NAME" "remote_s3_name:bucket_name/filebrowser/"

5. Actualizaciones: rolling vs maintenance window

Las actualizaciones regulares de software son importantes para la seguridad y la estabilidad. Se distinguen dos enfoques:

  • Rolling updates (actualizaciones continuas): Adecuado para sistemas operativos y paquetes del sistema. Simplemente ejecute sudo apt update && sudo apt upgrade -y semanal o mensualmente.
  • Maintenance window (ventana de mantenimiento): Para aplicaciones críticamente importantes, como File Browser o Nginx, es mejor planificar las actualizaciones.
    • Actualización de File Browser: Descargue la nueva versión del binario de GitHub, detenga el servicio (sudo systemctl stop filebrowser), reemplace el binario antiguo por el nuevo (sudo mv new_filebrowser /usr/local/bin/filebrowser), luego inicie el servicio (sudo systemctl start filebrowser).
    • Actualización de Nginx: Generalmente se actualiza a través de apt upgrade. Después de la actualización, siempre verifique la configuración (sudo nginx -t) y recargue el servicio (sudo systemctl reload nginx).
    • Actualización de Certbot: Se realiza automáticamente a través de Snap. Asegúrese de que la renovación automática de certificados funcione: sudo certbot renew --dry-run.

Siempre pruebe las actualizaciones en un servidor de prueba, si es posible, antes de aplicarlas en producción.

Solución de problemas + Preguntas frecuentes

Incluso con una configuración cuidadosa, pueden surgir problemas. Aquí se recopilan las respuestas a las preguntas frecuentes y las soluciones a problemas típicos.

File Browser no se inicia o no está disponible a través de la interfaz web.

Qué verificar:

  1. Estado del servicio: Asegúrese de que el servicio File Browser esté en ejecución.
    sudo systemctl status filebrowser
    Si no está en ejecución, intente iniciarlo: sudo systemctl start filebrowser.
  2. Registros del servicio: Verifique los registros de File Browser en busca de errores.
    sudo journalctl -u filebrowser --since "1 hour ago"
    Busque mensajes de error que puedan indicar un problema con el archivo de configuración (filebrowser.json) o los permisos de acceso al directorio /var/lib/filebrowser.
  3. Puerto: Asegúrese de que File Browser esté escuchando en el puerto 8080 en 127.0.0.1.
    sudo ss -tulnp | grep 8080
    Debería ver el proceso filebrowser escuchando en 127.0.0.1:8080. Si no es así, verifique los parámetros ExecStart en /etc/systemd/system/filebrowser.service.
  4. Permisos de acceso: Asegúrese de que el usuario filebrowser tenga permisos de lectura/escritura en /var/lib/filebrowser y /etc/filebrowser.
    sudo chown -R filebrowser:filebrowser /var/lib/filebrowser /etc/filebrowser

Nginx devuelve un error 502 Bad Gateway.

Qué verificar:

  1. Disponibilidad de File Browser: Un error 502 generalmente significa que Nginx no puede comunicarse con File Browser. Asegúrese de que File Browser esté en ejecución y accesible en 127.0.0.1:8080 (consulte el punto anterior).
  2. Registros de Nginx: Verifique los registros de errores de Nginx.
    sudo tail -f /var/log/nginx/error.log
    Busque mensajes de "connection refused" o "upstream timed out".
  3. Configuración de Nginx: Asegúrese de que proxy_pass en su configuración de Nginx (/etc/nginx/sites-available/filebrowser.conf) apunte correctamente a http://127.0.0.1:8080.
    sudo nginx -t
    Si hay errores de sintaxis, corríjalos y recargue Nginx: sudo systemctl reload nginx.

Problemas con SSL/HTTPS.

Qué verificar:

  1. Certbot: Asegúrese de que Certbot haya obtenido e instalado los certificados correctamente.
    sudo certbot certificates
    Debería ver su dominio en la lista. Si no es así, intente ejecutar sudo certbot --nginx -d yourdomain.com de nuevo.
  2. Configuración de Nginx: Asegúrese de que en la configuración de Nginx (filebrowser.conf) las rutas a ssl_certificate y ssl_certificate_key sean correctas y apunten a los archivos en /etc/letsencrypt/live/yourdomain.com/. Certbot debería haber configurado esto automáticamente.
  3. Cortafuegos (UFW): Asegúrese de que el puerto 443 (HTTPS) esté permitido.
    sudo ufw status verbose
    Debería estar permitido "Nginx Full" o el puerto 443. Si no es así: sudo ufw allow "Nginx Full".
  4. DNS: Asegúrese de que su dominio apunte correctamente a la dirección IP de su VPS. Use dig yourdomain.com o ping yourdomain.com.
  5. Renovación de certificados: Verifique si la renovación automática funciona.
    sudo certbot renew --dry-run
    Esto no renovará los certificados, pero verificará el proceso.

No puedo subir archivos grandes.

Qué verificar:

  1. Nginx client_max_body_size: En la configuración de Nginx (filebrowser.conf), busque la línea client_max_body_size. Establézcala en un valor suficientemente grande, por ejemplo, 100G (100 gigabytes) o 0 para un tamaño ilimitado.
    client_max_body_size 100G;
    Después de cambiarlo, recargue Nginx: sudo systemctl reload nginx.
  2. Espacio libre en disco: Asegúrese de que su VPS tenga suficiente espacio libre para los archivos que se van a subir.
    df -h

¿Qué configuración mínima de VPS es adecuada para File Browser?

Para uso personal o un equipo muy pequeño, con un volumen moderado de archivos, un VPS con 1 vCPU, 1 GB de RAM y 20-40 GB de SSD será suficiente. Esto será adecuado para el sistema operativo, File Browser, Nginx y Certbot. Sin embargo, si planea usar File Browser activamente, almacenar muchos archivos grandes o atender a varios usuarios, se recomienda considerar una configuración con 2 vCPU, 2-4 GB de RAM y más de 80 GB de SSD para un funcionamiento más cómodo y estable.

¿Qué elegir: VPS o dedicado para esta tarea?

Para la mayoría de las tareas relacionadas con File Browser, un VPS es la opción óptima. Ofrece suficiente rendimiento, flexibilidad y rentabilidad. Un servidor dedicado (dedicated server) solo debe considerarse en casos de carga muy alta (cientos de usuarios simultáneos), si se requieren enormes volúmenes de almacenamiento de datos (varios terabytes), o si existen requisitos específicos de hardware, seguridad o cumplimiento que no pueden satisfacerse con un VPS. Para la mayoría de los usuarios de File Browser, un VPS será más que suficiente.

¿Cómo añadir nuevos usuarios en File Browser?

Después de iniciar sesión en File Browser con la cuenta de administrador, puede ir a la sección "Usuarios" en la interfaz y añadir nuevos usuarios, asignándoles un nombre de usuario, contraseña y permisos de acceso a diferentes directorios. También puede usar el comando filebrowser users add a través de SSH, como hicimos para el primer administrador.


# Ejemplo de cómo añadir un nuevo usuario "john" con la contraseña "securepassword" y acceso de solo lectura
sudo /usr/local/bin/filebrowser users add john securepassword --perm.read --config /etc/filebrowser/filebrowser.json

# Ejemplo de cómo añadir un usuario con permisos completos a un directorio específico
# Primero, cree el directorio, por ejemplo, /var/lib/filebrowser/john_files
# Luego, añada el usuario
sudo mkdir -p /var/lib/filebrowser/john_files
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser/john_files
sudo /usr/local/bin/filebrowser users add jane securepassword --perm.create --perm.delete --perm.modify --perm.rename --perm.share --scope /var/lib/filebrowser/john_files --config /etc/filebrowser/filebrowser.json

No olvide reiniciar el servicio File Browser después de editar manualmente filebrowser.json o añadir usuarios a través de la línea de comandos para que los cambios surtan efecto: sudo systemctl restart filebrowser.

Conclusiones y próximos pasos

Diagrama: Conclusiones y próximos pasos
Diagrama: Conclusiones y próximos pasos

¡Felicidades! Ha instalado y configurado File Browser con éxito en su VPS, asegurando un acceso seguro a través de Nginx y SSL. Ahora tiene un almacenamiento de archivos en la nube totalmente controlado, privado y fácil de usar, que no depende de servicios de terceros.

Esta solución le proporciona flexibilidad e independencia, permitiéndole gestionar sus datos como considere oportuno, manteniendo la confidencialidad y la seguridad.

Próximos pasos:

  • Gestión de usuarios y acceso: Configure cuentas adicionales para los miembros de su equipo o familia, estableciendo los permisos de acceso adecuados a directorios específicos para cada usuario.
  • Expansión del almacenamiento: Si necesita más espacio, considere la posibilidad de montar discos externos (por ejemplo, almacenamiento en bloque del proveedor de VPS) o integrarse con almacenamiento compatible con S3 para escalar el espacio en disco de File Browser.
  • Monitorización y registro: Configure una monitorización básica de su VPS y File Browser (por ejemplo, con Prometheus y Grafana) para rastrear el rendimiento y detectar problemas a tiempo. Revise regularmente los registros del sistema para identificar actividades sospechosas.

¿Te fue útil esta guía?

Tus comentarios nos ayudan a mejorar nuestras guías.

Compartir esta publicación:

Envía esta guía a alguien a quien pueda resultarle útil.

Telegram VKVK WhatsApp Facebook LinkedIn XX

instalación explorador de archivos en VPS: gestión de archivos a través de interfaz web con Nginx
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.