jedg_logo

Instalación de nextcloud

¿Que es nexcloud?

NextCloud es una plataforma de almacenamiento y colaboración en línea que permite a los usuarios almacenar, compartir y acceder a sus archivos desde cualquier lugar y dispositivo. Además, ofrece una serie de herramientas y aplicaciones adicionales para mejorar la colaboración y la gestión de proyectos, como calendarios, correo electrónico y herramientas de comunicación en tiempo real. Es de código abierto y se puede instalar en un servidor propio, lo que permite a las empresas y organizaciones tener un mayor control y seguridad sobre sus datos.

Instalación

Instalaremos la plataforma NexCloud en un Ubuntu, por lo tanto es necesario tener un sistema ubuntu ya sea en la nube como en local.

Paso 1 - Actualice el sistema

Antes de instalar el servicio de almacenamiento NextCloud, actualizaremos los paquetes del sistema a las últimas versiones disponibles.

sudo apt update -y && sudo apt upgrade -y
Paso 2 - Instalar el servidor web Apache

Instale el servidor web Apache con el siguiente comando:

sudo apt install apache2

Una vez instalado, inicie y habilite el servicio.

sudo systemctl enable apache2 && sudo systemctl start apache2

Compruebe si el servicio está en funcionamiento:

sudo systemctl status apache2

Te deberia de debolver algo parecido a esto:

root@host:~# sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-05-17 22:03:46 UTC; 4 days ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 84157 (apache2)
      Tasks: 8 (limit: 4566)
     Memory: 33.2M
        CPU: 5min 21.702s
     CGroup: /system.slice/apache2.service
             ├─ 84157 /usr/sbin/apache2 -k start
             ├─150719 /usr/sbin/apache2 -k start
             ├─150720 /usr/sbin/apache2 -k start
             ├─150721 /usr/sbin/apache2 -k start
             ├─150722 /usr/sbin/apache2 -k start
             ├─150723 /usr/sbin/apache2 -k start
             ├─150724 /usr/sbin/apache2 -k start
             └─150943 /usr/sbin/apache2 -k start

May 18 00:00:04 host.test.vps systemd[1]: Reloading The Apache HTTP Server...
Paso 3 - Instalar PHP8.1 con sus dependencias

Para instalar PHP8.1 junto con las extensiones, ejecute el siguiente comando:

sudo apt-get install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-mbstring php8.1-curl php8.1-gd php8.1-mysql
Paso 4 - Instalar el servidor de base de datos MariaDB

Para instalar el servidor de base de datos MariaDB, ejecute el siguiente comando.

sudo apt install mariadb-server

Inicie y habilite mariadb.service con los siguientes comandos:

sudo systemctl start mariadb && sudo systemctl enable mariadb

Compruebe el estado del mariadb.service

sudo systemctl status mariadb

Te deberia de debolver algo parecido a esto:

root@host:~# sudo systemctl status mariadb
● mariadb.service - MariaDB 10.6.7 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-05-16 19:40:12 UTC; 5 days ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 42716 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 7 (limit: 4566)
     Memory: 56.9M
        CPU: 2min 51.567s
     CGroup: /system.slice/mariadb.service
             └─42716 /usr/sbin/mariadbd

May 16 19:40:12 host.test.vps mariadbd[42716]: Version: '10.6.7-MariaDB-2ubuntu1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Ubuntu
May 16 19:40:12 host.test.vps systemd[1]: Started MariaDB 10.6.7 database server.
Paso 5 - Crear la base de datos y sus respectivos usuarios

Necesitamos crear una base de datos y un usuario de base de datos antes de instalar NextCloud.

Accederemos a la terminal de mysql con el siguiente comando:

sudo mysql

Una vez dentro escribiremos los siguientes comandos:

CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'Una contraseña aqui';
FLUSH PRIVILEGES;
exit;
Paso 6 - Instalar Nextcloud

Hay que descargarse el Nexcloud más reciente desde el siguiente enlace. Una vez hay descargaremos el .zip.

Una vez localizado el más reciente copiaremos el link de descarga y nos dirigiremos a la raíz del servidor web y lo descargaremos hay:

cd /var/www/html

wget "enlace de descarga"

Una vez descargada la instalación, extráigala, para ello usaremos el software unzip.

sudo apt install unzip

unzip "nombre del archivo descargado"

Después de extraer, necesitamos configurar los permisos correctos:

chown -R www-data:www-data /var/www/html/nextcloud
Paso 7 - Crear el archivo Apache Virtual Host

Para poder acceder a NextCloud a través del nombre de dominio, necesitamos crear un archivo Apache Virtual Host.

Primero, crea el archivo de configuración con el siguiente comando:

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

Abra el archivo y pegue las siguientes líneas de código:

<VirtualHost *:80>
ServerName "tu dominio"
DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud/>
 Require all granted
 Options FollowSymlinks MultiViews
 AllowOverride All
 <IfModule mod_dav.c>
 Dav off
 </IfModule>
</Directory>

ErrorLog /var/log/apache2/yourdomain.com.error_log
CustomLog /var/log/apache2/yourdomain.com.access_log common
</VirtualHost>

Habilite el archivo de configuración de Apache2 y otros módulos:

sudo a2ensite nextcloud.conf

sudo a2enmod rewrite

Compruebe la sintaxis de la configuración de Apache2.

apachectl -t

Te deberia de debolver algo parecido a esto:

root@host:~# apachectl -t
Syntax OK

Si recibe este resultado, puede reiniciar el servicio Apache de forma segura.

sudo systemctl restart apache2
Paso 8 - Instala certificado ssl

Un certificado SSL (Secure Sockets Layer) es un archivo que se instala en un servidor web y permite que las comunicaciones entre el servidor y el navegador web del usuario sean seguras.

Primero deberiamos de instalar certbot, que sirve para verificar el dominio.

sudo apt install certbot

sudo apt install python3-certbot-apache

Una vez instalado ejecutamos el siguiente comando siguiendo los pasos que te va diciendo certbot.

certbot --apache
Paso 9 - Finaliza con la instalación de Nextcloud

Una vez que se reinicia el servicio Apache, puede acceder a NextCloud en https://SuDominio para finalizar la instalación.