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.