Instalación de Nextcloud en Debian 9 y 10

Con esta guía que es una traducción del sitio de Carsten Rieger, instalarás la última versión de Nextcloud para Debian 9.x o para Debian 10.x en un contenedor de Proxmox.
La instalación incluye Nginx, PHP 7.4, MariaDB, Redis, y certificados para llevar el sitio a HTTPS.

Requisitos:
– Conexión a Internet.
– Contenedor de Proxmox con Debian 9.x o Debian 10.x (64Bit).

Opcional:
– Almacenamiento externo (HDD, FreeNAS, NFS, Cloudbox, etc) anclado al contenedor en el cual guardaremos los archivos de los usuarios.

Notas:
– Todas las operaciones las haremos como «root», si usas un usuario diferente escale con el comando «su -»
– Si lo va a instalar en un Proxmox 6.x no olvide desmarcar «Unprivileged CT» al crear el contenedor.
– Luego en «CT_ID -> Options -> Features -> Nesting». Si no activa la opción «Nesting» tendrá problemas al iniciar algunos procesos.

Preparando:
Verifica la zona horaria:

Configura «locales»:

Busca en la lista: en_US.UTF-8 UTF-8
Seleccionarlo con «Espacio», y en la siguiente pantalla bajar hasta «en_US.UTF-8» y «Enter».

Reiniciar y verificar que se haya aplicado:

Intalando herramientas necesarias:

Agregar nuevos repositorios:

Descargamos las keys necesarias:

Actualizamos:

Nginx:

En caso de usar un CT nuevo no habrá ningún servicio de apache corriendo, pero en caso de instalar en uno usado asegúrate de detenerlo, de lo contrario Nginx no iniciará porque el puerto requerido está en uso (:80)

Configurar nginx:

Agregarle:

Nota.- Modifica «set_real_ip_from» por la subred en la que se instalará el CT. Modifica «resolver» a otro IP DNS si lo desea.

Reinicia el servicio:

Crea carpetas y aplica permisos:
Nota.- El siguiente directorio puedes cambiarlo a conveniencia, pero tenlo en cuenta porque a él debes anclar el almacenamiento externo en caso que lo uses:
/nextcloud-data = Donde estarán todos los archivos de los usuarios.

PHP:

Configurando PHP:

Reinicia PHP y Nginx:

MariaDB

Asegura MariaDB:

Nota.- Puedes poner lo que desees pues se conecta por sock.

Configurando MariaDB:

Agregarle:

Reinicia el servicio:

Crea la base de datos, el usuario y la cotraseña:
Base de datos = nextcloud
Usuario para conectarse a la Base de datos = nextcloud
Password = passw0rd (o la que usted desee)

Verifique que «transaction isolation level» se haya establecido a «READ_COMMITTED» y la colación en «UTF8MB4«:

Debe quedar de la siguiente manera:

Redis:

Cambiar configuración y pertenencia a grupos:

Ahora recomendamos reiniciar:

Nextcloud:

Creando nextcloud.conf:

Agregale:

Notas:
– Modifica los parámetros «server_name» por el nombre DNS que tendrá tu servidor Nextcloud.
– Hay dos apartados: «Certificados Autofirmados» y «Certificados Let’s Encrypt». A continuación generaremos los autofirmados, pero si en algun momento decides ponerle certificados LE comenta las líneas de arriba, descomenta las de abajo y modifica la ruta en caso necesario.
– El párametro «ssl_stapling on;» cuando usamos Certificados Autofirmados nos arroja este Warning:

– Descomentar «ssl_stapling on;» solo cuando usemos Certificados Let’s Encrypt.

Ahora crearemos el certificado SSL autofirmado:

Al ejecutar éste último comando vendrán una serie de preguntas las cuales voy a explicar a continuación:
Nota.- En caso de equivocarte presionar Ctrl + C para cancelar, introducir el comando anterior y volver a empezar.

Country Name (2 letter code) = Código de país en formato ISO de dos letras mayúsculas.
State or Province Name (full name) = Estado o provincia.
Locality Name = Localidad o ciudad.
Organization Name = Nombre de la organización.
Organizational Unit Name = Sector de la organización.
Common Name = FQDN del servidor. Introducir el DNS para tu nextcloud (nextcloud.dominio.cu).
Email Address = Dirección de correo de contacto. (o Enter para no poner nada)
A los campos «A challenge password» y «An optional company name» dale Enter para dejarlos en blanco.

Generamos el certificado para 10 años:

Mejora la seguridad del servidor y del sistema usando una clave Diffie-Hellman (dhparam.pem):

Nota: Por favor, sea paciente, tomará tiempo dependiendo de su hardware.

Descargar, extraer Nextcloud y dar permisos:

Si lo tienes en .zip:

Justo antes de instalar haremos un paréntesis para quienes quieran usar un almacenamiento externo ya quede instalado Nextcloud dentro de dicho almacenamiento.

Usando un 2do HDD dentro del mismo Proxmox haremos lo siguiente:

Apagamos el contenedor:

Nos conectamos al host Proxmox y realizamos estos pasos.

Asumiremos que usted solo tiene conectado el HDD sin montar y el sistema lo nombró sdb, en caso de tenerlo ya montado desmóntelo y use la ruta /nextcloud-data (o la que especificó en dicho paso).

Listamos los HDD

Si como dijimos, no lo tiene montado, en la parte de “MountPoint” para “sdb” no saldrá nada.

(Si el HDD es nuevo) Formateamos el HDD en Ext4:

Creamos un directorio en el cual montaremos el nuevo HDD. Montamos y corregimos permisos:

Modificamos el archivo de configuración de nuestro contenedor (sustituir ID):

Debajo de la línea “memory” agregamos lo siguiente:

Nota.- Directorio de Proxmox mapeado a la carpeta «/nextcloud-data» del contenedor. La información la guardarás directamente en el 2do HDD del Proxmox.

Listo! Iniciamos el contenedor nuevamente y continuamos con la Instalación del Nextcloud.

Usando un compartido NFS:

Apagamos el contenedor:

Si usted tiene un servidor NFS en su red también puede usarlo para guardar los datos de su Nextcloud. Para ello realizamos estos pasos.

Asumiremos que usted sabe trabajar con su servidor NFS, que ya creó el directorio que va a compartir y modificó el archivo “/etc/exports” del NFS donde agrego el IP de su servidor Nextcloud.

Un ejemplo de lo que se debería agregar al exports:

Luego de esto le realizaremos unos cambios al APP ARMOR del host Proxmox donde se encuentra nuestro Nextcloud para que los Contenedores puedan conectarse al NFS.

Si su Proxmox es versión 4.4.x:

Y agregamos antes del “}” final:

Si su Proxmox es versión 5.2.x:

Agregamos antes del “}” final:

Si su Proxmox es versión 6.x.x:
Como dijimos al inicio el CT debe tener privilegios sino no conecta con el servidor NFS.
Realice los mismos pasos que la versión 5. Y además en el archivo de configuración del contenedor:

Agregamos las siguientes líneas al final:

Luego de acomodar el APP ARMOR instalamos el cliente NFS en el contenedor de Nextcloud:

Creamos el archivo “rc.local” si no está, y le agregamos el comando para que monte el compartido del NFS cuando se inicie:

Agregarle:

Y le damos los permisos correspondientes:

Iniciamos el contenedor y revisamos si se montó bien el compartido con el siguiente comando:

Ahí tenemos nuestro compartido NFS listo para utilizar.

Continuamos con la instalación…

Instala Nextcloud silenciosamente:

Información:
-database-name “nextcloud”: La creamos anteriormente configurando base de datos y usuario.
-database-user “nextcloud”: Lo creamos anteriormente configurando base de datos y usuario.
-database-pass “passw0rd”: La conexion es por sock, no importa lo que pongamos.
-admin-user “UsuarioAdmin”: Nombre de usuario para administrar Nextcloud, el que guste.
-admin-pass “PasswordAdmin”: Contraseña del usuario de administración, la que guste.
-data-dir “/nextcloud-data”: Si modificaste al inicio del manual esta dirección, sustituyala.

Mejorando la configuración de Nexcloud:

Agregamos dominio e IP de confianza:

Sobrescriba la URL con su dominio:

Hacemos una copia de la configuración:

Amplía tu «config.php» de Nextcloud:

Notas:
– El sock de Redis está descomentado para usarse en Debian 10. Si instalaste en un CT Debian 9 comenta el otro y descomenta para esta versión.
– Usé el párametro ‘force_language’ => ‘es’, para forzar el lenguaje a Español, puedes comentar la línea y que cada usuario elija el idioma; por defecto inicia en Ingles.

Edita el .user.ini de Nextcloud:

Reinicia servicios:

Ajustar aplicaciones de Nextcloud:

Añadir cronjobs para www-data:

Si nos pide seleccionar el editor escogemos «nano» que es la opcion 1

Agrega:

Configurar Nextcloud para que use cron.php:

Optimiza y Actualiza Nextcloud:

Salva y marca como ejecutable:

Ejecutelo:

Notas.- Si nos pide «convertir columnas» le damos «Y».

Si el actualizador encuentra una versión nueva le saldrán los siguientes pasos:
– Nos preguntará si queremos iniciar la actualización «Y»
– Una ves que termine el proceso nos dirá si queremos mantener el «Modo Mantenimiento» activado, le damos «N»
– Nos logueamos y verificamos que todo este OK.

Inicia sesión en tu nuevo servidor de Nextcloud:
https://nextcloud.dominio.cu/login o https://192.168.2.2/login

Usuario = nextcloud (El que especificamos instalando Nextcloud silenciosamente)
Password= passw0rd (El que especificamos instalando Nextcloud silenciosamente)

Vamos al apartado «Configuración» pinchando en el icono de engranaje en la parte superior derecha.
Luego pinchamos en «Vista General» y revisamos el apartado «Avisos de seguridad y configuración«.
Si dice «Ha pasado todos los controles» pues genial, no nos queda nada por hacer.
Si dice «Hace mas de ‘X’ años que no se ejecutan los cron jobs» no te preocupes, dale varios minutos para que se ejecuten los que agregamos durante la instalación y la alerta desaparecerá.
Si dice «El servidor no tiene conexión a internet» pues es algo muy evidente.

Y nada más, a crear usuarios. Que aproveche!

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 2

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Please follow and like us:

5 comentarios

  1. Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

    hola creo que deberia arreglar dos cosas!!!
    1. ANTES DE: Instala Nextcloud silenciosamente:
    creo que le falta:
    # cd /opt/
    # wget https://download.nextcloud.com/server/releases/latest.tar.bz2
    # tar -xjf latest.tar.bz2 -C /var/www && chown -R www-data:www-data /var/www/ && rm -f latest.tar.bz2
    NOTA:
    En caso de nextcloud-17.0.1.zip
    # unzip nextcloud-17.0.1.zip -C /var/www && chown -R www-data:www-data /var/www/

    2: LUEGO DONDE DICE:
    Amplía tu “config.php” de Nextcloud:
    Debes arreglar esta linea:
    cat <<EOF >>/var/www/nextcloud/config/config.php

    • Opera 64.0.3417.92 Opera 64.0.3417.92 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 OPR/64.0.3417.92

      Cierto, tiene usted razón, pero solo en parte.
      Agregaremos los pasos de descargar el compactado de Nextcloud lo antes posible porque realmente sin eso no tenemos nada.
      La segunda no. La línea es así tal cual. Se usa para agregarle algo a un archivo sin tener que abrirlo, copiarle lo que necesitamos y luego guardarlo.
      Gracias y saludos.

      • Firefox 70.0 Firefox 70.0 Ubuntu x64 Ubuntu x64
        Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0

        Esto no me sirvio, fue por gusto, este es el error que me da:

        Internal Server Error

        The server encountered an internal error and was unable to complete your request.
        Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
        More details can be found in the webserver log.

        • Google Chrome 76.0.3809.87 Google Chrome 76.0.3809.87 Windows 10 x64 Edition Windows 10 x64 Edition
          Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36

          Eduardo, para culminar exitosamente esta instalación verifica si estas usando Debian 9 o Debian 10, de ser el primero, edita el archivo config.php ubicado en nextcloud/config/config.php. Dentro de él debes comentar la línea 67 y quitarle el comentario a la línea 65, quedándote de la forma siguiente:

          # ATENCION si estas trabajando en Debian 9.x:
          ‘host’ => ‘/var/run/redis/redis.sock’,
          # ATENCION si estas trabajando en Debian 10.x:
          #’host’ => ‘/var/run/redis/redis-server.sock’,

  2. Firefox 71.0 Firefox 71.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0

    En esta linea falta alguna comilla pues no realiza los cambios al fichero redis.conf, los tuve que hacer de manera directa en el fichero

    # sed -i «s/port 6379/port 0/» /etc/redis/redis.conf ; sed -i s/\#\ unixsocket/\unixsocket/g /etc/redis/redis.conf ; sed -i «s/unixsocketperm 700/unixsocketperm 770/» /etc/redis/redis.conf ; sed -i «s/# maxclients 10000/maxclients 512/» /etc/redis/redis.conf

    saludos

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*