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.
Contenido
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.
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«:
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:
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:
Finalizada la instalación se iniciará sesión automáticamente, abriéndose un pase de diapositivas que mostrará algunas características de Nextcloud:
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:
Podremos pasar a gestionar archivos, carpetas, usuarios, etc. desde la opción «Archivos» del menú principal:
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:
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!
Una vez instalado, ¿cómo habilitarías para https:// ??
Gracias por todo.
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.
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?
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.
¡Muchas gracias!
¡De nada!