Files
2026-01-25 19:01:58 -06:00

3.9 KiB

Esta guía esta pensada para usarse con un servidor (equipo) con Debian Stable, es importante tomar en cuenta temas de seguridad, gestión de certificados y respaldo.

Note

Es impo

  1. Instalar una interfaz de gestor de paquetes de apt (Nala)

    Tip

    Se recomienda usar esta inferfaz por sus beneficios al llevar un registro de instlación de paquetes y descargar multihilo.

    sudo apt install nala
    
    1. Si en la maquina se esta trabajando como super usuario (root), se debe de generar un usuario no privilegiado con acceso limitado a root.
      nala install sudo
      useradd -m -s /bin/bash/ nombre_usuario
      # Asignarle una contraseña (debe de ser segura)
      passwd nombre_usuario
      usermod -aG sudo nombre_usuario
      
    2. Si no existe servicio ssh (suele ocurrir cuando es un contendor LXC, LXD o incus)
      nala install openssh-server
      
      Es importante conectarse mediante SSH a la maquina con el usuario y no en modo super usuario (root).
  2. Instalar el stack LEPP (Linux, Nginx, PostgreSQL y PHP)

    sudo nala install php-fpm nginx postgresql
    
  3. Instalar los paquetes necesario de PHP (podra variar entre versiones y de los servicios que se instalaran)

    # Generalemte podemos consultar las extensiones que tenemos
    # instaladas con
    php -m
    # Para instalar alguna extension se hace con 
    # sudo nala install php-nombre_de_la_extensión
    # Para esta instalación minima instalaremos las isguientes extensiones
    sudo nala install php-{apcu,bz2,curl,gd,gmp,igbinary,imagick,intl,mbstring,pgsql,pgsql,redis,xml,zip}
    
  4. Generar base de datos

    sudo -i -u postgres
    psql
    CREATE USER username WITH PASSWORD 'password' CREATEDB;
    CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
    ALTER DATABASE nextcloud OWNER TO username;
    GRANT ALL PRIVILEGES ON DATABASE nextcloud TO username;
    GRANT ALL PRIVILEGES ON SCHEMA public TO username;
    \q
    

    Cambia el "username" y "password" por alguno de tu preferencia, también puedes cambiar el nombre de la base de datos.

  5. Descargar, extraer y asignar permisos de los archivos base de Nextcloud

    # Si no tienes unzip
    sudo nala install unzip
    
    1. Se tiene que revisar el changelog para obtener la ultima versión Changelog Nextcloud
      # Generalmente se utiliza wget
      sudo nala install wget
      wget https://download.nextcloud.com/server/releases/nextcloud-32.0.5.zip
      
    2. Extraer los datos
      unzip nextcloud-32.0.5.zip
      
    3. Asignarle permisos correspondientes
      sudo chown -R www-data:www-data nextcloud
      
  6. Mover el directorio a /var/www

sudo mv nextcloud /var/www
  1. Configurar Nginx
    1. La Documentación Oficial nos indica la configuración oficial que debe de incluir certificados SSL para usar HTTPS, por ello, mostraremos la forma de generar certificados autofrimados, Let's Encrypt de modo tradicional o por 'Challenge DNS01'
      1. Certificados autofirmados Seguir las instrucciones de Digital Ocean. Hasta Debian 13 (Trixie) funciona tal y como lo expresan las instrucciones.
      2. Let's Encrypt Generalmente se utiliza si se va exponer los servicios a internet y requiere que se los puertos 80 y 443 esten abierto para que el servicio externo verifique que exista maquina que utilizara el dominio. En caso contrario, de no abrir puertos por estar detras de un CGNAT o sin poder abrir puertos por parte del ISP, se pueden obtener dichos certificados solo si se tiene un dominio a su nombre y administrado por Cloudflare.
        1. Tradicional Se deben seguir las instrucciones de Cerbot.