Cómo instalar Nextcloud en Debian 9 Stretch

Cómo instalar Nextcloud en Debian 9 Stretch

  • Autor de la entrada:
  • Categoría de la entrada:Linux
  • Comentarios de la entrada:2 comentarios

En este artículo veremos cómo instalar Nextcloud en Debian 9 Stretch paso a paso, de modo que al final del tutorial podrás disfrutar de tu propia nube doméstica o profesional, tanto en red local como alojada en tu propio servidor VPS Debian.

Antes de instalar Nextcloud en Debian 9 Stretch

Para seguir esta guía de instalación de Nextcloud en Debian 9 Stretch necesitas partir de unos requisitos mínimos, que son los siguientes:

  • Un sistema Debian 9 Stretch actualizado.
  • Una pila o entorno tipo LAMP (servidor web con PHP y motor de bases de datos).
  • Paquetes: bzip2, ca-certificates y wget.
  • Acceso a línea de comandos con un usuario con privilegios de sudo o el propio root.
  • Conexión a Internet.

Si aún no dispones de este tipo de configuración, puedes consultar la guía de instalación LAMP en Debian 9 Stretch.

Cómo descargar Nextcloud en Debian 9 Stretch

Vamos a descargar Nextcloud para Debian 9 Stretch desde el sitio oficial del proyecto, ya que no existen paquetes en los repositorios de la distribución:

como descargar nextcloud en debian 9 stretch

Descargaremos el paquete del servidor Nextcloud siguiendo los enlaces o botones «Get Nextcloud«, buscando la descarga para servidor y abriendo «Details and download options«, ya que en primer plano tenemos la descarga en formato .zip y es más interesante y más rápido descargar el paquete en formato .tar.bz2:

descargar nextcloud para debian 9 stretch

Si estás navegando en el sistema Debian 9 en el que vas a realizar la instalación de Nextcloud puedes descargar directamente el paquete. En este tutorial copiaremos el enlace de descarga y obtendremos el archivo desde consola mediante el comando wget:

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

Cómo instalar Nextcloud en Debian 9 Stretch

Para instalar Nextcloud en Debian 9 Stretch debes decidir cómo configurar su integración en el servidor web, ya que podrías:

  • Instalar Nextcloud como la página por defecto del servidor.
  • Como parte de la página por defecto del servidor.
  • Como un servidor virtual que atienda a un subdominio del dominio principal, o un dominio independiente.

En esta guía, por brevedad, instalaremos Nextcloud como parte de la página por defecto de Debian 9 Stretch, como un subdirectorio de la ruta principal. La ubicación de la página web por defecto se encuentra en la ruta /var/www/html/, así que será ahí donde creemos una carpeta para Nextcloud.

Preparación de los archivos

Podemos descomprimir el archivo que acabamos de descargar en el directorio donde vaya a quedar integrada la aplicación, quedando los archivos de Nextcloud perfectamente organizados dentro de una subcarpeta nextcloud/, dentro de la ruta /var/www/html/ por ejemplo:

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

Nextcloud necesita escribir en su propio directorio de instalación, así que cambiaremos el propietario de la carpeta nextcloud/ al usuario con el que se ejecuta Apache en Debian 9, que en este caso es www-data:

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

Preparación de la base de datos

Nextcloud necesitará disponer de su propia base de datos en el servicio que tengas instalado en Debian 9 Stretch, mostrando en este artículo cómo preparar los dos más usados.

MariaDB/MySQL

Conectamos con el cliente mysql y un usuario administrador:

~$ sudo mysql

O si tu usuario se autentica con contraseña:

~$ mysql -u root -p

Crearemos una nueva base de datos:

> create database nextcloud_db charset utf8mb4 collate utf8mb4_unicode_ci;

Para crear el usuario tendremos que tener en cuenta que si trabajamos con MySQL 8 debemos asegurarnos de que use un plugin de autenticación compatible:

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

Si usas MariaDB o MySQL 5.x no hay que especificar el plugin:

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

Y damos los permisos necesarios al usuario sobre la base de datos:

> grant all privileges on nextcloud_db.* to nextcloud_user@localhost;

Ya sólo queda salir del cliente:

> exit

PostgreSQL

Creamos un rol con contraseña:

~$ sudo -u postgres createuser nextcloud -P

Y creamos la base de datos asociada con el nuevo rol:

~$ sudo -u postgres createdb nextcloud -O nextcloud

Todo listo.

Preparación de PHP

Nextcloud requiere ciertas extensiones de PHP disponibles en tu sistema Debian 9, así que nos aseguraremos de que estén instaladas, pero antes conviene actualizar las listas de paquetes de los repositorios:

~$ sudo apt update

Y a continuación instalaremos con apt las extensiones de PHP necesarias, que son zip, xml, mbstring, intl, imagick, gd y curl:

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

Recuerda que actualmente Nextcloud desde su versión 18 tiene compatibilidad con PHP 7.4.

Dependiendo de qué servicio de bases de datos tengas instalado, puedes necesitar una extensión u otra, por ejmplo para MariaDB/MySQL se necesita php-mysql, mientras que para PostgreSQL se necesita php-pgsql.

Por último, si esta instalación de Nextcloud va a tener suficiente carga de trabajo, es más que recomendable instalar algún sistema de caché de datos, como el que ofrece la extensión APCu:

~$ sudo apt install -y php-apcu

Una vez instalados los paquetes y sus dependencias, recargaremos la configuración del servidor web:

~$ sudo systemctl reload apache2

Preparación del servidor web

Nextcloud usa el módulo Rewrite de Apache, así que debemos instalarlo en Debian 9 con la herramienta a2enmod:

~$ sudo a2enmod rewrite

También hay que saber que Nextcloud usa archivos .htaccess, así que debemos configurar la ruta de Nextcloud en Apache para que permita el acceso a estos archivos y se puedan cargar configuraciones adicionales.

Crearemos un archivo adicional de configuración para Nextcloud en lugar de modificar el archivo de configuración principal:

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

El contenido será este bloque Directory:

<Directory /var/www/html/nextcloud/>
        AllowOverride all
        php_value memory_limit "512M"
</Directory>

También aprovechamos este archivo para añadir algún ajuste de PHP.

Guardados los cambios, hay que activar la nueva configuración:

~$ sudo a2ensite nextcloud.conf

Reiniciaremos el servicio web para que se apliquen todas estas configuraciones:

~$ sudo systemctl restart apache2

Instalación vía web

Una vez resueltos todos los preparativos previos, pasaremos a la instalación web de Nextcloud accediendo a la URL que corresponda a la forma que has elegido para incorporarlo en el servicio web. En este ejemplo añadiremos la ruta /nextcloud/ al dominio debian9.local.lan que apunta al servidor Debian 9, con lo que usaremos la URL http://debian9.local.lan/nextcloud/ en el navegador:

como instalar nextcloud en debian 9 stretch

En la página que muestra el instalador se nos pedirá un nombre de usuario y contraseña para crear un administrador. Se puede modificar el valor de la carpeta de datos, pero el valor por defecto es adecuado. También tendremos que seleccionar el motor de bases de datos (si hay más de uno disponible), indicar el usuario de la base de datos con la contraseña, y la base de datos de Nextcloud.

Por defecto aparece marcada la opción de instalar aplicaciones recomendadas, como Calendar, Collabora Online, Contacts, Mail y Talk. Si no te interesan, puedes desmarcar esta opción.

Al terminar pulsaremos el botón «Completar la instalación» y en unos instantes el instalador, tras crear la infraestructura necesaria, nos redirigirá a nuestra página personal en nuestra nueva nube Nextcloud en Debian 9:

instalar nextcloud en debian 9 stretch

Un pequeño pase de diapositivas nos mostrará información y algunas características destacables de Nextcloud. Al terminar este pase se mostrará la interfaz web donde podremos empezar a trabajar organizando carpetas, documentos, etc.

nextcloud en debian 9 stretch

Desde la interfaz web puedes cargar y descargar archivos, pero recuerda que dispones de clientes específicos para multitud de dispositivos y sistemas.

Tareas de post-instalación de Nextcloud en Debian 9 Stretch

Aún quedan algunas tareas que es conveniente realizar tras la instalación de Nextcloud en Debian 9. Si instalaste la extensión APCu para la caché de datos, hay que activarla editando el archivo de configuración de Nextcloud:

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

Cerca del final del archivo, justo antes del paréntesis de cierre, añadiremos la siguiente línea:

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

Guardamos los cambios, cerramos el archivo y la caché quedará activada.

Conclusión

Ya sabes cómo instalar Nextcloud en Debian 9 Stretch, así que ahora no tienes excusa para montar tu propia nube en red local o, mejor aún, a través de Internet si dispones de tu propio servidor VPS Debian. Recuerda que hay clientes Nextcloud para multitud de dispositivos y sistemas, por lo que tus archivos estarán disponibles en cualquier momento y lugar.

Si tienes alguna duda o pregunta, sugerencias, etc. puedes dejar un comentario.

Ah, y si te ha resultado útil esta guía de instalación de Nextcloud en Debian 9 Stretch, ¡puede que quieras invitarme a un café!

 

O si lo prefieres puedes dejar 1 $ de propina en PayPal:

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (5 votos, promedio: 5,00 de 5)
Cargando...

Esta entrada tiene 2 comentarios

  1. Ramon

    Muy buenas, estoy intentando instalar Nextcloud siguiendo tu tutorial, y cuando intento acceder a la URL de mi servidor «http://localhost/nextcloud/index.php» me devuelve el siguiente error: «Forbidden You don’t have permission to access this resource.» estoy buscando cómo solucionarlo pero no doy encontrado la clave, era para ver si me podías ayudar. ¡Muchas gracias!

    1. Chacho Cool

      Si recibes un 403 es porque no hay autorización a acceder a la ruta, lo cual es raro si has instalado la aplicación en /var/www/html/. Verifica que la ruta física /var/www/html/nextcloud/ es correcta, y si lo es y has creado un archivo de configuración para el servidor web, añade dentro del bloque Directory la siguiente línea:

      Require all granted

      Y recarga la configuración del servicio web. Si sigue dando problemas, comprueba los registros de acceso y error del servicio web, por si aportan alguna pista más allá del mensaje de error.

Deja una respuesta