Cómo instalar Nextcloud en Ubuntu 20.04 LTS

En esta ocasión veremos cómo instalar Nextcloud en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que hagas funcionar tu propia nube de archivos y aplicaciones, tanto en red local como a través de Internet, en tu servidor o VPS Ubuntu.

Antes de instalar Nextcloud en Ubuntu 20.04 LTS

Para poder completar los pasos de esta guía de instalación de Nextcloud en Ubuntu 20.04 LTS Focal Fossa hay que satisfacer una serie de requisitos básicos:

  • Un sistema Ubuntu 20.04 LTS Focal Fossa actualizado.
  • Un entorno o pila tipo LAMP (servicio web con PHP y bases de datos).
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

En caso de no disponer del entorno necesario, puede ser interesante consultar previamente nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS. Es importante configurar el acceso sobre protocolo HTTPS, aunque por motivos didácticos en este tutorial trabajamos sobre HTTP.

Es posible integrar Nextcloud en Ubuntu 20.04 LTS de varias formas, ya sea como el sitio web principal, como un servidor virtual aparte o, como haremos en este tutorial, como parte del sitio web principal, aunque integrarlo de las otras formas es sencillo.

Cómo descargar Nextcloud para Ubuntu 20.04 LTS

Vamos a descargar Nextcloud para Ubuntu 20.04 LTS desde el sitio web de la aplicación, ya que no existen paquetes en los repositorios de la distribución.

como descargar nextcloud en ubuntu 20.04 lts focal fossa

Encontraremos la página de descarga siguiendo el enlace «Get Nextcloud«, donde elegiremos las descargas de servidor. En la ventana que se abre desplegaremos las opciones adicionales con el enlace «Details and download options«:

descargar nextcloud para ubuntu 20.04 lts focal fossa

Disponemos del paquete de Nextcloud en los formatos .tar.bz2 y .zip, que podemos descargar desde el navegador o, como haremos en este tutorial, a través de consola mediante el comando wget:

~$ wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.tar.bz2

Cómo instalar Nextcloud en Ubuntu 20.04 LTS

Para poder instalar Nextcloud en Ubuntu 20.04 LTS debemos preparar el sistema previamente, para lo que debemos realizar todas las tareas que detallamos a continuación.

Archivos de Nextcloud

Descomprimimos el archivo que acabamos de descargar directamente en su ubicación definitiva:

~$ sudo tar xf nextcloud-23.0.0.tar.bz2 -C /var/www/

Como Nextcloud necesita escribir en su carpeta de instalación, cambiamos la propiedad de sus archivos al usuario con el que corre el servicio web:

~$ sudo chown -R www-data: /var/www/nextcloud/

Base de datos

Nextcloud debe poder conectar con el servicio de bases de datos de Ubuntu 20.04 LTS, admitiéndose varios formatos. En este artículo mostraremos cómo preparar los dos motores más usados en Ubuntu 20.04 LTS.

MariaDB/MySQL

Conectamos al servicio con el cliente de consola mysql:

~$ mysql -u root -p

Creamos la nueva base de datos:

> create database nextcloud charset utf8mb4 collate utf8mb4_unicode_ci;

En MariaDB o MySQL 5 creamos el usuario de forma simplificada:

> create user nextcloud@localhost identified by 'XXXXXXXX';

Pero en MySQL 8 es importante también especificar el método de conexión compatible:

> create user nextcloud@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos los permisos al usuario sobre la base:

> grant all privileges on nextcloud.* to nextcloud@localhost;

Cerramos la conexión:

> exit

PostgreSQL

En este caso creamos un rol con contraseña:

~$ sudo -u postgres createuser nextcloud -P
Enter password for new role:
Enter it again:

Y creamos la base de datos asociada al nuevo rol:

~$ sudo -u postgres createdb nextcloud -O nextcloud

Eso es todo.

PHP

Nextcloud requiere la presencia en Ubuntu 20.04 LTS de ciertas extensiones que instalamos desde los repositorios del sistema, por lo que actualizamos las listas de paquetes:

~$ sudo apt update

En el caso de usar la versión de PHP nativa de Ubuntu 20.04, instalamos las extensiones necesarias con el siguiente comando:

~$ sudo apt install -y php-apcu php-bcmath php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-xml php-zip

Si usas otra versión procedente del repositorio alternativo será necesario indicar el número de la misma en los nombres de los paquetes; por ejemplo, para PHP 7.3:

~$ sudo apt install -y php7.3-apcu php7.3-bcmath php7.3-curl php7.3-gd php7.3-gmp php7.3-imagick php7.3-intl php7.3-mbstring php7.3-xml php7.3-zip

Otra extensión que no debe faltar es la que se encarga de conectar con el motor de bases de datos, para MariaDB/MySQL (se aplica lo dicho anteriormente para los nombres de estas extensiones):

~$ sudo apt install -y php-mysql

Y para PostgreSQL:

~$ sudo apt install -y php-pgsql

Y recargamos la configuración del servicio web o PHP, según corresponda:

~$ sudo systemctl reload apache2

Servicio web

En el caso de Apache, Nextcloud está preparado para trabajar con los módulos Headers y Rewrite, que por defecto en Ubuntu 20.04 no están activados, así que si deseas permitir el uso de las características que ofrecen, habrá que activarlos:

~$ sudo a2enmod headers rewrite

Estos módulos se manejan a través de archivos de configuración .htaccess que, por defecto están desactivados también.

Vamos a crear una configuración de Nextcloud para Apache:

~$ sudo nano /etc/apache2/sites-available/nextcloud.conf

En primer lugar añadiremos el alias que permita hacer navegable la aplicación web:

Alias /nextcloud /var/www/nextcloud

Para activar el uso de los archivos .htaccess de Nextcloud añadimos el siguiente bloque:

...
<Directory /var/www/nextcloud>
        AllowOverride all
        php_value memory_limit "512M"
        php_value output_buffering 0
</Directory>

Además de aplicar la configuración que  permite el uso de archivos .htaccess, hemos incorporado algunos ajustes para PHP.

Guardamos la configuración y la activamos:

~$ sudo a2ensite nextcloud.conf

Y reiniciamos el servicio web para aplicar los cambios:

~$ sudo systemctl restart apache2

Instalador web

Realizados los preparativos anteriores, para instalar Nextcloud en Ubuntu 20.04 LTS desde un navegador web introducimos la dirección de la aplicación.

Por ejemplo, en este tutorial trabajamos sobre un servidor Ubuntu 20.04 LTS accesible en el subdominio o nombre DNS ubuntu2004.local.lan, y hemos creado el alias /nextcloud, por lo que podemos acceder usando http://ubuntu2004.local.lan/nextcloud como URL:

como instalar nextcloud en ubuntu 20.04 lts focal fossa

Introducimos:

  • Nombre y contraseña para el administrador del servicio.
  • Elegimos el motor de base de datos que hemos preparado.
  • Introducimos los datos de conexión al servicio de bases de datos.
  • Dejamos marcada o no la confirmación de instalación de las aplicaciones recomendadas.

Y continuamos con el enlace «Completar la instalación«.

El proceso de instalación puede tomar unos instantes, especialmente si hemos elegido instalar las aplicaciones recomendadas, en cuyo caso se mostrará el progreso:

instalacion de nextcloud en ubuntu 20.04 lts

Finalizada la instalación se iniciará sesión automáticamente, abriéndose un pase de diapositivas que  mostrará algunas características de Nextcloud:

instalar nextcloud en ubuntu 20.04 lts focal fossa

Una vez cerrado el pase de diapositivas, tendremos a nuestra disposición la página principal, donde podremos ver algunas de las aplicaciones disponibles en la plataforma:

nextcloud en ubuntu 20.04 lts focal fossa

Podremos pasar a gestionar archivos, carpetas, usuarios, etc. desde la opción «Archivos» del menú principal:

nextcloud para ubuntu 20.04 lts focal fossa

Ya sólo queda instalar clientes de Nextcloud en tus dispositivos favoritos.

Configuración de Nextcloud para Ubuntu 20.04 LTS

Aunque la aplicación Nextcloud ha quedado perfectamente instalada y funcional en Ubuntu 20.04 LTS, es aconsejable realizar los siguientes ajustes.

Trabajos en segundo plano

Son varios los métodos que ofrece Nextcloud para ejecutar tareas en segundo plano, siendo el que mayor rendimiento proporciona el que se basa en el servicio Cron de Ubuntu 20.04 LTS. Para usar este sistema crearemos una nueva tarea programada:

~$ sudo nano /etc/cron.d/nextcloud

El contenido será la siguiente línea:

*/5 * * * * www-data /usr/bin/php /var/www/nextcloud/cron.php

El usuario con el que corre el servicio web en Ubuntu 20.04 lanzará el script cron.php con una frecuencia de 5 minutos en este ejemplo, que puedes ajustar según tus necesidades.

Una vez guardado el archivo la tarea programada se ejecutará en el intervalo de tiempo indicado, y la configuración de Nextcloud seleccionará automáticamente este sistema de mantenimiento, como podremos comprobar si visitamos «Ajustes básicos» dentro de la sección «Configuración» en el menú de usuario:

como configurar nextcloud en ubuntu 20.04 lts focal fossa

Configuración de la caché de datos

Editaremos el archivo de configuración de Nextcloud:

~$ sudo nano /var/www/nextcloud/config/config.php

Al final del archivo, pero antes del paréntesis de cierre, insertamos esta línea:

...
        'memcache.local' => '\OC\Memcache\APCu',
);

Y guardamos los cambios, que se aplican de inmediato.

URLs limpias

Si quieres que tu nuevo sitio maneje URLs que no contengan el archivo principal index.php editaremos el archivo config.php y añadiremos dos líneas más al final del archivo, antes del paréntesis de cierre:

...
        'overwrite.cli.url' => 'http://ubuntu2004.local.lan/nextcloud',
        'htaccess.RewriteBase' => '/nextcloud',
);

Guardamos y cerramos el archivo y lanzamos el siguiente comando para actualizar el archivo .htaccess:

~$ sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess

Las nuevas URLs deberían funcionar a partir de este momento.

Región telefónica por defecto

Para poder almacenar números de teléfono sin el indicativo del país por defecto es necesario configurar este indicativo. Lo hacemos editando el arhivo config.php de Nextcloud y añadiendo la siguiente línea antes del paréntesis de cierre final:

...
        'default_phone_region' => 'ES',
);

Si no conoces el indicativo de tu país, puedes consultar su código ISO 3166-1 en Wikipedia.

Conclusión

Ahora que sabes cómo instalar Nextcloud en Ubuntu 20.04 LTS Focal Fossa podrás disfrutar de tu propio servicio de nube de archivos y aplicaciones tanto en red local como a través de Internet, tanto para uso doméstico como corporativo.

Si tienes alguna pregunta o duda, quieres sugerir mejoras de este artículo, crees que es el momento de actualizarlo o quieres notificar algún error, deja un comentario y lo reviso lo antes posible.

¡Apoya comoinstalar.me!

¿Ya tienes lista tu nueva nube de archivos gracias a esta guía de instalación de Nextcloud en Ubuntu 20.04 LTS Focal Fossa? Si es así y te apetece agradecérnoslo colaborando con el mantenimiento de este sitio y la creación de más artículos sobre Ubuntu 20.04 y Nextcloud, puedes hacerlo dejando 1 $ de propina en PayPal:

O, si te sientes especialmente agradecido, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

6 comentarios en «Cómo instalar Nextcloud en Ubuntu 20.04 LTS»

    • Hola, Fran. La configuración HTTPS es cosa del servicio web, no de Nextcloud. Configura tu servicio web para usar seguridad ya sea de modo general o para un servidor virtual, según como hayas instalado Nextcloud en la máquina Ubuntu 20.04, y simplemente empieza a utilizar URLs con HTTPS. En este mismo sitio puedes encontrar información sobre cómo configurar el servicio web para esto.

      Responder
  1. Cuando lanzo la finalización de la instalación vía web, se me queda finalizando hasta que acaba dando un error por tiempo de espera.

    ¿Sabes dónde puede estar el error?

    Responder
    • Hola, Fran. He aprovechado para actualizar el tutorial con la versión 21.0.0, y lo he probado (esta versión y la anterior) sin encontrar problemas. Te recomiendo que siempre que instales aplicaciones web abras una segunda terminal y monitorices el registro de errores del servicio web, por ejemplo con el siguiente comando:

      ~$ sudo tail -f /var/log/apache2/error.log &

      En el momento en que se produzca un error tendrás información puntual que te pueda dar un pista sobre lo que está ocurriendo.

      Responder

Deja un comentario