Nextcloud - Ejercicios (1) - Enunciados

En construcciónEsta lección está pendiente de actualizar a la versión Nextcloud 15. Por ahora, están actualizados los ejercicios 1, 2, 3 y 4.

En esta lección se proponen ejercicios para conocer y utilizar Nextcloud. Se pueden consultar las soluciones de estos ejercicios de Nextcloud, aunque se recomienda intentar realizarlos primero sin recurrir a estas soluciones. A continuación se pueden realizar los ejercicios (2) de Nextcloud, en los que se amplian las funcionalidades de Nextcloud.

Para la realización de estos ejercicios se recomienda utilizar la imagen oficial Docker de Nextcloud es https://github.com/nextcloud/docker. Puede instalarla en la máquina virtual que haya preparado para los ejercicios de Docker (1).

Nextcloud (1) 1 - Nextcloud con base de datos SQLite

En este ejercicio crearemos un contenedor Docker de Nextcloud que utilice SQLite como base de datos.

Nextcloud puede utilizar su propia base de datos SQLite o utilizar una base de datos MariaDB/MySQL o PostgreSQL. Para instalaciones pequeñas como la de estos ejercicios, SQLite es una opción suficiente, pero en servidores reales se recomienda utilizar un sistema gestor de bases de datos independiente. La instalación con SQLite es mucho más simple, por lo que se propone en primer lugar.

  1. Cree un contenedor de Nextcloud a partir de la imagen nextcloud oficial, que esté disponible en el puerto 8080.

    Nota: Se pide asignar el puerto 8080 para poder tener en marcha simultáneamente este Nexcloud junto con otros asignados en otros puertos.

  2. Compruebe en el navegador del ordenador anfitrión que puede ver la página de entrada de NextCloud, escribiendo la dirección http://AAA.BBB.CCC.DDD:8080/, en la que AAA.BBB.CCC.DDD es la dirección IP de la máquina virtual.

    Nextcloud. Instalación

  3. Complete la instalación de NextCloud:
    • Nombre de usuario: admin
    • Contraseña: admin
    • Almacenamiento: directorio predeterminado
    • Base de datos: SQLite

    Notas: La contraseña sugerida se considera muy débil y no debería utilizarse en un entorno real.

  4. Se mostrará el interfaz de Nextcloud con un aviso de bienvenida:

    Nextcloud. Instalación

    Nextcloud. Instalación

  5. Cierre la sesión de Nextcloud y compruebe que puede volver a entrar como usuario admin.
  6. Finalmente, elimine el contenedor.

Nextcloud (1) 2 - Actualizar Nextcloud con base de datos SQLite

En este ejercicio actualizaremos un contenedor Docker de Nextcloud que utilice SQLite como base de datos.

La actualización de un contenedor es distinta a la actualización de Nextcloud instalado en un servidor. Los contenedores no se actualizan, simplemente se elimina el contenedor antiguo y se crea un contenedor con la nueva versión. Para no perder la configuración y datos, los contenedores deben utilizar el mismo volumen.

  1. Cree un contenedor de Nextcloud 15.0.0 que esté disponible en el puerto 8080.

    El volumen se montará en el directorio de instalación de Nextcloud:

    --mount type=volume,source=nc-vol,target=/var/ww/html

    Nota: Se pide asignar el puerto 8080 para poder tener en marcha simultáneamente este Nexcloud junto con otros asignados en otros puertos.

  2. Compruebe en el navegador del ordenador anfitrión que puede ver la página de entrada de NextCloud y complete la instalación de NextCloud con los mismos valores que en el ejercicio anterior.
  3. Compruebe que hay una versión más actual disponible:

    Nexcloud. Actualización

  4. Añada un documento a Nextcloud, por ejemplo este Manual de WordPress (pdf) (ficticio):

    Nexcloud. Actualización

  5. Cierre la sesión de Nextcloud.
  6. Elimine el contenedor.
  7. Cree un contenedor de la última versión disponible de Nextcloud 15 (actualmente -febrero de 2019- Nextcloud 15.0.4) con las mismas opciones que el contenedor anterior (volumen, etc.). Nextcloud tardará más en estar disponible porque tiene lugar el proceso de actualización.
  8. Compruebe que se ha instalado la última versión:

    Nexcloud. Actualización

  9. Compruebe que el documento subido está disponible:

    Nexcloud. Actualización

Nextcloud (1) 3 - Nextcloud con base de datos MariaDB

En este ejercicio se trata de crear un contenedor Docker de Nextcloud que utilice MariaDB como base de datos.

  1. Cree una red e incluya los tres contenedores (MariaDB, phpMyAdmin y NextCloud) en ella.
  2. Cree un contenedor de MariaDB a partir de la imagen bitnami/mariadb. Utilice la variable de configuracion ALLOW_EMPTY_PASSWORD.
  3. Cree un contenedor de phpMyAdmin que escuche en un puerto distino del puerto 80, por ejemplo, en el 8081, a partir de la imagen bitnami/phpmyadmin. Utilice la variable de configuracion DATABASE_HOST para indicar el nombre del contenedor de MariaDB.
  4. Cree en MariaDB con phpMyAdmin un usuario nextcloud, que pueda acceder desde cualquier ordenador, con contraseña nextcloud y base de datos única.
  5. Cree un contenedor de Nextcloud a partir de la imagen nextcloud, que escuche en los puertos 80 y 443.
  6. Compruebe en el navegador del ordenador anfitrión que puede ver la página de entrada en NextCloud, escribiendo la dirección http://AAA.BBB.CCC.DDD/, en la que AAA.BBB.CCC.DDD es la dirección IP de la máquina virtual.

    Nextcloud. Instalación

Nextcloud(1) 4 - Completar instalación

En este ejercicio se trata de completar la instalación de Nextcloud.

  1. Consulte cuál es la dirección IP privada 172.BBB.CCC.DDD del contenedor de MariaDB.
    sudo docker network inspect RED
  2. Complete la instalación de NextCloud:
    • Nombre de usuario: admin
    • Contraseña: admin
    • Almacenamiento: directorio predeterminado
    • Base de datos: MySQL / MariaDB

    Notas: La contraseña sugerida se considera muy débil y no debería utilizarse en un entorno real.

  3. Se mostrará el interfaz de Nextcloud con un aviso de bienvenida

    Nextcloud. Bienvenida

  4. Salga de Nextcloud y compruebe que puede volver a entrar como administrador.

    Nextcloud. Entrar

  5. Compruebe con phpMyAdmin (como usuario nextcloud) que se han creado las tablas correspondientes. Si no se hubiera creado ninguna tabla es que Nextcloud está utilizando SQLite.

    Nextcloud. Entrar

En construcciónEstos ejercicios están pedientes de actualizar a la versión 15.

Nextcloud (1) 5 - Habilitar https en el servidor

Referencia: https://docs.nextcloud.com/server/13/admin_manual/configuration_server/harden_server.html

  1. Compruebe que al acceder a Nextcloudmediante una conexión no cifrada http://AAA.BBB.CCC.DDD/, se muestra el aviso siguiente:

    Nextcloud. Entrar

  2. Intente entrar en Nextcloud como administrador mediante una conexión cifrada https://AAA.BBB.CCC.DDD/ y compruebe que se muestra el aviso siguiente:

    Nextcloud. Conexión no segura

  3. Configure el servidor Apache del contenedor para permitir conexiones seguras.

    Para ello, entre en el contenedor, genere un autocertificado, active el módulo SSL en Apache, habilite la configuración SSL en Apache y reinicie Apache.

  4. Intente entrar en Nextcloud como administrador mediante una conexión cifrada https://AAA.BBB.CCC.DDD/ y compruebe que se muestra el aviso siguiente:

    Nextcloud. Conexión no segura

  5. Añada al navegador la excepción para mostrar la página y compruebe que ya no se muestra el aviso de conexión no segura:

    Nextcloud. Entrar

Nextcloud (1) 6 - Acceder siempre mediante https

Referencia: https://docs.nextcloud.com/server/13/admin_manual/configuration_server/harden_server.html

  1. Configure el servidor Apache del contenedor para forzar el acceso mediante https.

    Para ello, modifique el archivo de configuración de Apache apache2.conf que se encuentra en el contenedor y reinicie el servicio apache2.

    ¡Atención!Antes de modificar un archivo de configuración se recomienda siempre hacer una copia del archivo original.

    • En el archivo de congiguración, añada una directiva VirtualHost que redirija las peticiones http a https, en la que AAA.BBB.CCC.DDD es la IP de la máquina virtual:
      <VirtualHost *:80>
        Servername AAA.BBB.CCC.DDD
        Redirect permanent / https://AAA.BBB.CCC.DDD/
      </VirtualHost>
      

      Nota: Creo que el valor de Servername no es importante, pero debe haber Servername.

  2. Compruebe que al escribir http://AAA.BBB.CCC.DDD/ se redirige automáticamente a https://AAA.BBB.CCC.DDD/

Nextcloud (1) 7 - Cambio de IP

Si cambiara la IP de la máquina virtual, la redirección de http a https realizada en el ejercicio anterior dejaría de funcionar correctamente porque en el archivo de configuración se guarda la URL de la máquina virtual. En clase esto ocurre a menudo, ya que el router de aula está continuamente asignando direcciones. En casa puede ocurrir más raramente. En este ejercicio se trata de provocar esta situación y corregirla.

  1. Apague y reinicie la máquina virtual.
  2. Compruebe si la IP de la máquina virtual ha cambiado. Si no ha cambiado automáticamente, cámbiela manualmente, reinicie la máquina virtual y compruebe que la IP ha cambiado.
  3. Compruebe que Nextcloud no se redirige de http a https.
  4. Corrija el archivo de configuración apache2.php con la nueva IP.
  5. Compruebe que Nextcloudredirige de http a https.

Nextcloud (1) 8 - LibreOffice en Nextcloud

Por escribir