En solo unos pasos es posible instalar Nextcloud en Debian 12. No solo se configura la solución en la nube real, sino que también queda protegida por varias medidas de seguridad.

Nextcloud en Debian

Nextcloud es una solución gratuita de co­mpu­tación en la nube muy re­co­me­n­da­ble que ofrece numerosas ventajas, tanto para uso personal como comercial. Entre ellas destacan las sólidas funciones de seguridad para la pro­te­c­ción de datos, como el cifrado SSL/TLS, la au­te­n­ti­ca­ción de dos factores y el cu­m­pli­mie­n­to del RGPD. Además, ofrece la po­si­bi­li­dad de elegir entre se­r­vi­do­res privados locales o se­r­vi­do­res de alo­ja­mie­n­to su­b­co­n­tra­ta­dos. Al igual que muchas al­te­r­na­ti­vas a Nextcloud, la bi­fu­r­ca­ción (fork) de OwnCloud es co­m­pa­ti­ble con todos los sistemas ope­ra­ti­vos ha­bi­tua­les y ofrece una in­te­gra­ción sencilla con numerosos servicios.

A co­n­ti­nua­ción, te ex­pli­ca­mos paso a paso cómo instalar Nextcloud en Debian 12. Para lograrlo, ne­ce­si­ta­rás instalar un servidor web Apache2, un servidor MariaDB y PHP 8.2. Además, te mostramos cómo co­n­fi­gu­rar un Firewall sencillo (UFW) y los ce­r­ti­fi­ca­dos SSL/TLS ne­ce­sa­rios para que protejas el sistema.

Consejo

Si, en cambio, prefieres instalar Nextcloud en Ubuntu, puedes echar un vistazo a nuestro artículo sobre la [in­s­ta­la­ción de Nextcloud en Ubuntu 20.04] o al tutorial de Ubuntu 22.04. También te enseñamos los pasos para la in­s­ta­la­ción de Nextcloud con Docker.

¿Qué re­qui­si­tos deben cumplirse?

Para instalar Nextcloud en Debian 12, solo se tienen que cumplir algunos re­qui­si­tos. Necesitas tener un servidor en el que Debian 12 ya esté instalado, 4 GB de RAM y dos CPU. Además, es im­po­r­ta­n­te que dispongas de un acceso de usuario no root con derechos de ad­mi­ni­s­tra­dor y que y co­n­fi­gu­res un nombre de dominio que esté vinculado a la dirección IP del servidor.

Instalar el servidor web Apache2

Primero, debes instalar un servidor web Apache2. Para ello, utiliza el comando apt update, con el que podrás ac­tua­li­zar el índice de paquetes de Debian y descargar así la última versión:

sudo apt update
bash

Después, realiza la in­s­ta­la­ción de la última versión del paquete de Apache2 uti­li­za­n­do este comando:

sudo apt install apache2
bash

Confirma la in­s­ta­la­ción con el botón [y] y, a co­n­ti­nua­ción, pulsa [Intro] para iniciar la in­s­ta­la­ción.

Después de la in­s­ta­la­ción, utiliza este comando de systemctl para comprobar el estado del servicio:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

En el primer comando, deberías ver que el servicio se inicia au­to­má­ti­ca­me­n­te al arrancar el sistema. El estado “active” indica que Apache2 puede co­me­n­zar­se a usar.

Co­n­fi­gu­rar el co­r­ta­fue­gos

Al disponer del co­r­ta­fue­gos o firewall adecuado, puedes proteger tu sistema y tus datos. Se re­co­mie­n­da usar el Firewall sin co­m­pli­ca­cio­nes (UFW), que puedes co­n­fi­gu­rar como pre­de­te­r­mi­na­do. Para ello, debes abrir los puertos para OpenSSH, HTTP y HTTPS. Primero, instala el paquete UFW con el siguiente comando:

sudo apt install ufw
bash

Debes confirmar la in­s­ta­la­ción pulsando la tecla [y] y fi­na­li­zar­la pulsando [Intro]. Activa después OpenSSH y UFW uti­li­za­n­do estos comandos:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Para iniciar UFW, debes confirmar uti­li­za­n­do [y]. A co­n­ti­nua­ción, aparecerá el mensaje “Firewall is active and enabled on system startup”. Después, debes añadir los puertos HTTP y HTTPS que deberá utilizar el servidor web. Para ello, ejecuta este comando:

sudo ufw allow "WWW Full"
bash

A co­n­ti­nua­ción, vuelve a cargar UFW:

sudo ufw reload
bash

Para ver las reglas activadas, consulta el estado de UFW. En este punto, WWW Full debe estar activado.

sudo ufw status
bash

Activar PHP 8.2

Para obtener el mejor re­n­di­mie­n­to posible y la máxima co­m­pa­ti­bi­li­dad, el propio Nextcloud re­co­mie­n­da usar PHP 8.2. Viene incluido por defecto en Debian 12, por lo que solo deben in­s­ta­lar­se los paquetes ne­ce­sa­rios. Utiliza este comando:

sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bash

Utiliza [y] e [Enter] para confirmar y, después, comprueba la versión de PHP y activa las ex­te­n­sio­nes:

php --version
php -m
bash

Ahora abre el archivo de co­n­fi­gu­ra­ción de PHP con el editor Nano:

sudo nano /etc/php/8.2/apache2/php.ini
bash

Ahora haz algunos cambios y adapta la co­n­fi­gu­ra­ción a tus ne­ce­si­da­des. De­pe­n­die­n­do de cómo quieras usar Nextcloud con Debian 12, puede que sean re­co­me­n­da­bles otros valores. En ese caso, cambia la co­n­fi­gu­ra­ción según tus ne­ce­si­da­des.

En el primer paso, establece la zona horaria es­cri­bie­n­do lo siguiente:

data.timezone = Europe/Amsterdam
bash

Después, cambia los pa­rá­me­tros de memory_limit, upload_max_filesize, post-max_size y max_execution_time:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bash

Activa ahora file_uploads y allow_url_fopen. En ambos casos, el valor debe ser “On” (activado):

file_uploads = On
allow_url_fopen = On
bash

Desactiva ahora display_errors y output_buffering y cambia los valores re­s­pe­c­ti­vos a “Off” (des­ac­ti­va­do):

display_errors = Off
output_buffering = Off
bash

Utiliza el siguiente comando para activar PHP OPcache:

zend_extension=opcache
bash

Añade la co­n­fi­gu­ra­ción en la sección opcache re­co­me­n­da­da por Nextcloud para Debian 12 es­cri­bie­n­do lo siguiente:

opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bash

A co­n­ti­nua­ción, guarda el archivo y termina el editor Nano. Ahora, reinicia el servicio Apache2:

sudo systemctl restart apache2
bash

Co­n­fi­gu­rar el servidor MariaDB

Nextcloud utiliza un servidor MariaDB como base de datos. Se instala y comprueba con estos comandos:

sudo apt install mariadb-server
bash

Utiliza [y] e [Intro] para confirmar. Cuando termine la in­s­ta­la­ción, introduce lo siguiente:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Si el servidor funciona co­rre­c­ta­me­n­te, protege el sistema. Utiliza el siguiente comando para crear una co­n­tra­se­ña de root, eliminar usuarios anónimos y borrar la base de datos de prueba:

sudo mariadb-secure-installation
bash

Realiza los ajustes pulsando [y] para aceptar y [n] para rechazar.

Crear una base de datos y usuarios

A co­n­ti­nua­ción, crea una nueva base de datos y el usuario co­rre­s­po­n­die­n­te. Para iniciar sesión en el servidor MariaDB, utiliza este comando e introduce tu co­n­tra­se­ña de root:

sudo mariadb -u root -p
bash

Para crear una nueva base de datos, un usuario y la co­n­tra­se­ña co­rre­s­po­n­die­n­te, utiliza los si­guie­n­tes comandos:

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bash

Sustituye 'YourPassword' (tu co­n­tra­se­ña) por una co­n­tra­se­ña segura creada por ti. Por último, comprueba si “ne­x­t­clou­du­ser” tiene acceso a la base de datos “nextcloud_db”:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Descargar los códigos fuente actuales

Descarga ahora los últimos códigos fuente para poder utilizar Nextcloud en Debian 12 de manera óptima. Primero, se­le­c­cio­na este comando:

sudo apt install curl unzip -y
bash

Después, cambia al di­re­c­to­rio /var/www y descarga el último código fuente:

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bash

De­s­co­m­pri­me el archivo y cambia el pro­pie­ta­rio del di­re­c­to­rio en www-data:

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bash

Co­n­fi­gu­rar el host en Apache2

Configura ahora un host virtual en Apache2 uti­li­za­n­do este comando de Nano:

sudo nano /etc/apache2/sites-available/nextcloud.conf
bash

Ajusta el nombre de dominio y los dos pa­rá­me­tros ErrorLog y CustomLog. Reemplaza el marcador de posición “example” (ejemplo) con el nombre de tu dominio.

<VirtualHost *:80>
    ServerName nextcloud.example.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.example.io-error.log
    CustomLog /var/log/apache2/files.example.io-access.log combined
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>
bash

Guarda los cambios y sal del editor. Se­gui­da­me­n­te, activa la co­n­fi­gu­ra­ción con el siguiente comando y co­m­prúe­ba­la:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Si obtienes el resultado “Syntax OK”, que indica que no hay errores de sintaxis, debes reiniciar Apache2 para aplicar la nueva co­n­fi­gu­ra­ción del host virtual:

sudo systemctl restart apache2
bash

Proteger los datos con SSL/TLS

Sin la necesidad de realizar co­n­fi­gu­ra­cio­nes adi­cio­na­les, ahora estás uti­li­za­n­do Nextcloud en Debian 12 a través de un protocolo HTTP que no es seguro. Para mejorar la seguridad y proteger tus datos, es mejor co­n­fi­gu­rar HTTPS. Lo puedes hacer uti­li­za­n­do este comando:

sudo apt install certbot python3-certbot-apache
bash

A co­n­ti­nua­ción, genera un ce­r­ti­fi­ca­do SSL re­em­pla­za­n­do de nuevo el marcador de posición “beispiel” por el nombre de tu dominio.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@example.io -d nextcloud.example.io
bash

Completar la in­s­ta­la­ción de Nextcloud en Debian 12

Para finalizar la in­s­ta­la­ción de Nextcloud en Debian 12, abre tu navegador web y accede al nombre de dominio de tu in­s­ta­la­ción de Nextcloud. Introduce un nombre de usuario y su co­n­tra­se­ña para crear un ad­mi­ni­s­tra­dor. Después, añade el nombre de tu base de datos, el nombre de usuario y la co­n­tra­se­ña, y haz clic en “Install” (instalar). A co­n­ti­nua­ción, puedes optar por descargar algunas apli­ca­cio­nes que sean co­m­pa­ti­bles u omitir este paso por ahora. Ahora se te redigirá a tu panel de control y podrás comenzar a usar Nextcloud para gestionar tus datos.

Ir al menú principal