Nextcloud - Ejercicios (1) - Soluciones

En esta lección se proponen soluciones detalladas de los ejercicios (1) de Nextcloud. Se recomienda intentar realizarlos primero sin recurrir a estas soluciones.

Nextcloud (1) 1 - Crear contenedores Docker

  1. Las instrucciones se encuentran en el repositorio https://github.com/nextcloud/docker.
  2. Si va a utilizar SQLite, ejecute el comando:
    sudo docker run -d --name=nextcloud -p 80:80 nextcloud
  3. Si va a utilizar MariaDB, ejecute los comandos siguientes:
    • Cree una red:
      sudo docker network create nc-network
    • Cree el contenedor de MariaDB:
      sudo docker run -d --name=nc-mariadb -e ALLOW_EMPTY_PASSWORD=yes --net=nc-network bitnami/mariadb
    • Cree el contenedor de phpMyAdmin:
      sudo docker run -d --name=nc-pma -e DATABASE_HOST=nc-mariadb -p 8801:80 --net=nc-network bitnami/phpmyadmin
    • Abra en el navegador del host la página http://AAA.BBB.CCC.DDD:8801 (usuario root sin contraseña) y con phpMyAdmin cree un usuario nextcloud, que pueda acceder desde cualquier servidor, con contraseña nextcloud y base de datos única.

      phpMyAdmin. Creción de usuario nextcloud

    • Cree el contenedor de Nextcloud:
      sudo docker run -d --name=nextcloud -p 80:80 -p 443:443 --net=nc-network nextcloud

Nextcloud (1) 2 - Completar instalación

Si va a utilizar MariaDB:

Nextcloud (1) 3 - Actualizar Nextcloud

Nextcloud (1) 4 - Habilitar https en el servidor

Nextcloud (1) 5 - Acceder siempre mediante https

Para configurar el servidor Apache del contenedor de manera que fuerce conexiones seguras:

  1. Entre en la shell del contenedor de Nextcloud:
    sudo docker exec -it nextcloud /bin/bash
  2. Busque el directorio en el que se encuentra el fichero apache2.conf:
    find / -name apache2.conf
  3. Salga de la shell del contenedor de Nextcloud:
    exit
  4. Copie el fichero apache2.conf del contenedor al anfitrión:
    sudo docker cp nextcloud:/etc/apache2/apache2.conf /tmp/apache2.conf
  5. Haga una copia de seguridad del fichero original:
    sudo cp /tmp/apache2.conf /tmp/apache2.conf.original
  6. Edite el fichero de configuración:
    sudo vi /tmp/apache2.conf
  7. Añada en el fichero de configuración 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.

  8. Guarde el fichero de configuración modificado.
  9. Copie el fichero apache2.conf del anfitrión al contenedor:
    sudo docker cp /tmp/apache2:conf nextcloud:/etc/apache2/apache2.conf
  10. Entre de nuevo en la shell del contenedor de Nextcloud:
    sudo docker exec -it nextcloud /bin/bash
  11. Reinicie el servicio Apache:
    service apache2 restart
  12. Reinicie el contenedor
    sudo docker start nextcloud

Nextcloud (1) 6 - Cambio de IP

Para cambiar la IP de la máquina virtual:

  1. Consulte la dirección IP de la máquina virtual:
    ip addr
  2. Consulte la dirección IP de la puerta de enlace (pasarela, gateway):
    route -n
  3. Edite el archivo /etc/network/interfaces:
    sudo vi /etc/network/interfaces
  4. Establezca un IP fija distinta a la anterior. Por ejemplo, cambie la configuración de IP de dinámica ...:
    # The primary network interface
    auto enp0s3
    iface enp0s3 inet dhcp

    ... a fija:

    # The primary network interface
    auto enp0s3
    #iface enp0s3 inet dhcp
    iface enp0s3 inet static
      address 192.168.1.16
      netmask 255.255.255.0
      gateway 192.168.1.1
    dns-nameservers 8.8.8.8

Para modificar el valor de la IP en el archivo apache2.conf, siga los pasos explicados en el ejercicio 5.