Nextcloud es una plataforma de almacenamiento en la nube de código abierto que permite a los usuarios almacenar, compartir y sincronizar archivos de manera segura. En este artículo, te mostraremos cómo instalar Nextcloud en Debian 12 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

  • Tener Debian 12 instalado en tu máquina.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.
  • Un dominio configurado que apunte a tu servidor (opcional pero recomendado).

Paso 1: Actualizar el Sistema

Es importante asegurarse de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar el Servidor Web y Base de Datos

Nextcloud requiere un servidor web y una base de datos. En este tutorial, utilizaremos Apache y MariaDB.

Instalar Apache

sudo apt install apache2
sudo systemctl start apache2
sudo systemctl enable apache2

Instalar MariaDB

sudo apt install mariadb-server mariadb-client
sudo systemctl start mariadb
sudo systemctl enable mariadb

Ejecuta el script de seguridad de MariaDB para mejorar la seguridad de tu instalación:

sudo mysql_secure_installation

Sigue las instrucciones en pantalla para configurar la contraseña de root y eliminar usuarios y bases de datos de prueba.

Paso 3: Configurar la Base de Datos para Nextcloud

Inicia sesión en MariaDB como usuario root:

sudo mysql -u root -p

Crea una base de datos y un usuario para Nextcloud:

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Paso 4: Instalar PHP y Módulos Necesarios

Nextcloud requiere PHP y varios módulos PHP. Instálalos con el siguiente comando:

sudo apt install php php-mysql php-gd php-curl php-xml php-mbstring php-zip php-intl php-bcmath php-gmp

Paso 5: Descargar y Configurar Nextcloud

Descarga la última versión de Nextcloud desde su sitio oficial:

cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2
sudo mv nextcloud /var/www/html/

Cambia la propiedad de los archivos a www-data para que Apache pueda acceder a ellos:

sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud

Paso 6: Configurar Apache para Nextcloud

Crea un archivo de configuración de Apache para Nextcloud:

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

Añade las siguientes líneas:

<VirtualHost *:80>
    ServerAdmin admin@tu-dominio.com
    DocumentRoot /var/www/html/nextcloud
    ServerName tu-dominio.com
    ServerAlias www.tu-dominio.com

    <Directory /var/www/html/nextcloud>
        Options +FollowSymlinks
        AllowOverride All

       <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

Habilita el nuevo sitio y los módulos necesarios, y reinicia Apache:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl restart apache2

Paso 7: Completar la Instalación de Nextcloud

Abre tu navegador web y navega a http://tu-dominio.com. Serás recibido por el instalador de Nextcloud. Sigue los pasos en pantalla:

  1. Crea una cuenta de administrador.
  2. Configura la base de datos:
  • Tipo de base de datos: MySQL/MariaDB
  • Nombre de la base de datos: nextcloud
  • Usuario de la base de datos: nextclouduser
  • Contraseña de la base de datos: contraseña_segura
  • Servidor de base de datos: localhost
  • Completa la instalación y configura tu almacenamiento y opciones adicionales según tus necesidades.

Para mejorar el rendimiento y la gestión de tu instalación de Nextcloud, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Cloud VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones web. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.