Tutorial paso a paso para instalar NextCloud en Rocky Linux 8 para almacenamiento personal en la nube para almacenar archivos multimedia y documentos usando Internet desde cualquier lugar; usando una aplicación de teléfono inteligente o de escritorio.
¿Qué es Nextcloud?
Nextcloud es un software gratuito en la nube de código abierto para el almacenamiento cifrado de datos en una nube o en sus servidores. Es un software cliente-servidor y se bifurcó de otro código abierto conocido como "OpenCloud". Además, es una buena alternativa al almacenamiento en la nube como Dropbox, Google Drive y OneDrive, si alguien quiere una solución de nube personal autohospedada.
El almacenamiento en la nube como Dropbox, Google Drive y OneDrive son muy populares hoy en día; una de las razones es la sincronización automática de los archivos de los usuarios a la nube a través de diferentes dispositivos, por lo que los datos son fácilmente accesibles y no se pierden. Bueno, esa instalación también está en Nextcloud.
Aunque tales servicios de almacenamiento en la nube pública son ofrecidos por empresas más grandes, generalmente son seguros y confiables. Sin embargo, estas ofertas también tienen desventajas. Solo ofrecen a sus clientes una cantidad limitada de espacio de almacenamiento gratuito. Si los clientes necesitan más espacio para almacenar sus datos, tienen que pagar.
NextCloud también ofrece autenticación de dos factores para proteger mejor las cuentas en la nube contra el acceso no autorizado. Si bien este servidor en la nube personal también puede cifrar datos para enviar datos de forma remota y segura, sin embargo, para mejorar la experiencia del usuario, especialmente para los recién llegados, el cifrado no está habilitado de forma predeterminada. Porque el cifrado aumenta el tamaño del archivo en aproximadamente un 35 %. Además, también viene con Healthcare y HIPAA; Kit de cumplimiento del RGPD; Capacidades de auditoría y control de acceso a archivos.
Pasos para instalar NextCloud en Rocky Linux 8
Los pasos dados aquí serán aplicables para otras distribuciones de Linux basadas en RedHat como CentOS, Almalinux, Oracle Linux…
1. Requisitos
• Rocky Linux 8
• Apache, PHP 7.3, 7.4, 8.0
• MySQL 8.0+ o MariaDB 10.2/10.3/10.4/10.5
• Usuario sudo no root
• 512 MB de RAM
2. Ejecutar actualización del sistema
Si acaba de instalar un servidor Rocky Linux nuevo o no lo ha actualizado por un tiempo, primero ejecute el comando de actualización del sistema:
sudo dnf update & sudo dnf upgrade
Además, instale:
sudo dnf install wget nano unzip
3. Deshabilitar SELinux en Rocky Linux
Una vez que se complete la actualización, también ponga SELinux en modo permisivo, lo que significa deshabilitarlo temporalmente hasta el próximo reinicio. Esto asegurará que no haya restricciones no deseadas en la instalación de NextCloud.
sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Para comprobar el estado:
sestatus
4. Instalar Apache (httpd)
Como uno de los requisitos de NextCloud es el servidor web, para eso instale Apache, además de ser una aplicación web basada en PHP, también configure lo mismo.
sudo dnf install httpd wget
Iniciar y habilitar los servicios de Apache
sudo systemctl enable --now httpd
Para comprobar el estado:
sudo systemctl status httpd
5. PHP 8.0 + extensiones para NextCloud en Rocky Linux 8
Según NextCloud, se recomienda el uso de PHP 8.0. Por lo tanto, optamos por eso porque la versión a través del repositorio predeterminado de Rocky Linux es 7.2. Por lo tanto, tenemos que agregar el repositorio de Remi manualmente para obtener la última versión.
sudo dnf install epel-release
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf update
sudo dnf module reset php
sudo dnf module enable php:remi-8.0
Instalar :
sudo dnf -y install php php-cli php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel php-ldap
Aumentar el límite de memoria PHP:
sudo nano /etc/php.ini
Encuentra memoria_límite y establezca el valor en 512M
memory_limit = 512M
Guarda el archivo:Ctrl+O , pulsa Intro y luego salir:Ctrl+X .
5. Configure MariaDB y cree una base de datos
También necesitamos algún medio para almacenar los datos generados por NextCloud, aquí estamos usando MariaDB. Sin embargo, también puede usar MySQL, SQLite, Oracle Database y PostgreSQL si lo desea.
sudo dnf install mariadb-server mariadb
Iniciar y habilitar el servicio:
sudo systemctl enable --now mysqld
Base de datos segura:
sudo mysql_secure_installation
Siga el asistente basado en texto.
Crear una nueva base de datos para NextCloud:
Iniciar sesión :
mysql -u root -p
Crear base de datos Usuario:
CREATE USER 'youruser'@'localhost' IDENTIFIED BY "yourpassword";
Crear base de datos:
CREATE DATABASE yourdb;
Otorgue todos los derechos de uso de la base de datos creada:
GRANT ALL PRIVILEGES ON yourdb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
exit;
Nota :Reemplace su base de datos con el nombre de la base de datos que desea dar, mientras que su usuario con el nombre de usuario y tucontraseña con la contraseña que quieras asignar.
6. Descargue e instale Nextcloud en Rocky Linux 8
Visite el sitio web oficial de NextCloud y luego descárguelo. Haga clic derecho en Descargar y copie la dirección del enlace.
pega el enlace con wget
wget paste-link
Ejemplo :
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
descomprimir el archivo:
unzip nextcloud-*.zip
Mueva el archivo extraído a /var/www/html/
directorio
sudo mv nextcloud/ /var/www/html/
Cree una carpeta de datos para almacenar los datos cargados en Nextcloud
sudo mkdir /var/www/html/nextcloud/data
Ahora, otorgue el permiso de Nextcloud al usuario de Apache:
sudo chown apache:apache -R /var/www/html/nextcloud
7. Crear archivo Apache VirtualHost para NextCloud
Vamos a crear un archivo de configuración de Apache para NextCloud, para servir el archivo en caso de que esté utilizando el nombre de dominio o varios sitios web se estén ejecutando en el mismo servidor.
sudo nano /etc/httpd/conf.d/nextcloud.conf
Pegue las siguientes líneas:
Nota :No olvide reemplazar cloud.example.com con el nombre de dominio que desea utilizar. Si no tienes ninguno, déjalo como está.
<VirtualHost *:80> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> </VirtualHost>
Reinicie el servidor web Apache y configure las políticas de SELinux:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo sudo restorecon -Rv /var/www/html
sudo systemctl restart httpd
8. Abrir puerto en Firewall
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
9. Acceda a la interfaz web de NextCloud
Una vez que haya completado todos los pasos anteriores, estará listo para acceder a la interfaz web para configurar NextCloud en su sistema Rocky Linux 8.
Abra su navegador que puede acceder al dominio o dirección IP del servidor donde ha instalado NextCloud. Luego de eso apunta a la Ip o dominio:
http://your-server-ip-address or http://your-domain.com
Cree un usuario administrador e ingrese los detalles de la base de datos
La primera página le pedirá que cree un Administrador usuario y luego seleccione MySQL/MariaDB como base de datos. Allí ingrese los detalles de la Base de Datos has creado.
Después de eso, haga clic en Finalizar botón.
10. Cómo actualizar o mejorar
En el futuro, si desea actualizar su NextCloud usando el comando, fácilmente, este es el comando:
Editar php.ini
sudo nano /etc/php.ini
Desplácese hasta el final del archivo:
--define apc.enable_cli=1
Guardar el archivo usando Ctrl+O , pulsa Intro y luego presione Ctrl+X
Una vez que haya añadido
sudo -u apache php --define apc.enable_cli=1 /var/www/nextcloud/updater/updater.phar
11. Configure Let's Encrypt SSL para NextCloud
Aquellos que también quieran establecer un certificado SSL deben ejecutar los siguientes comandos:
Nota :Asegúrese de que el registro "A" de DNS de su dominio apunte a la dirección IP donde instaló NextCloud.
sudo systemctl stop httpd
sudo dnf -y install certbot mod_ssl
sudo certbot certonly --standalone -d cloud.example.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
Una vez que el SSL el certificado se ha emitido con éxito edite su configuración de Apache existente:
sudo nano /etc/httpd/conf.d/nextcloud.conf
Elimine la configuración existente y agregue la siguiente. Y no olvide reemplazar el cloud.example.com con el nombre de dominio que desea usar acceda a NextCloud.
<VirtualHost *:80> ServerName files.example.com ServerAdmin [email protected] RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName cloud.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud <directory /var/www/html/nextcloud> Require all granted AllowOverride All Options FollowSymLinks MultiViews SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </directory> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem </VirtualHost> </IfModule>
Guarde el archivo presionando Ctrl+O , pulsa Intro y luego salir de la misma usando Ctrl+X .
Conclusión
De esta forma, podemos instalar NextCloud en Rocky Linux o en cualquier sistema basado en Redhat como CentOS, Oracle Linux… Aunque es una buena manera de configurar tu nube para acceder a archivos de forma remota, siempre hay algunas desventajas. Por ejemplo, el usuario será responsable del mantenimiento, la seguridad y la configuración, incluido el hardware.