Tutorial paso a paso para instalar NextCloud en AlmaLinux 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 de arquitectura servidor-cliente gratuito y de código abierto cuyo código fuente está disponible en GitHub. Es una bifurcación de otra popular solución de nube personal "OwnCloud". Cualquier usuario o empresa puede usarlo para construir su nube de forma similar a Google Drive, iCloud, Dropbox y Onedrive. Dónde sincronizar y acceder a los datos (cargar y descargar) automáticamente con un directorio local El usuario puede usar la aplicación cliente Next Cloud para teléfonos inteligentes y computadoras de escritorio. Esto significa que se puede acceder a una base de datos consistente desde varias computadoras, pero también a través de una interfaz web. Aunque Nextcloud se basa en PHP, solo se admite Linux como entorno de servidor. Tampoco es posible usar Apache o NGINX con PHP en Windows.
Pasos para instalar NextCloud en AlmaLinux 8
Los pasos dados aquí serán aplicables para otras distribuciones de Linux basadas en RedHat como CentOS, Rocky Linux, Oracle Linux...
1. Requisitos
• AlmaLinux 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 AlmaLinux nuevo o no lo ha actualizado durante 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 AlmaLinux 8
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 AlmaLinux 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 AlmaLinux 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 AlmaLinux 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 AlmaLinux 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 DNS de su dominio sea “A El registro apunta 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 AlmaLinux 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.
Instalar y configurar su propio Nextcloud en un VPS de Linux lleva aproximadamente una hora, y también es factible para los novatos de Linux. ¿Y si se entera de alguna brecha de seguridad y escándalos de los proveedores habituales de la nube en el futuro? Entonces puedes construir tu propia nube usando Nextcloud; puede mejorar la oferta de OwnCloud de varias maneras. Es importante sopesar los pros y los contras de las opciones comerciales y de código abierto al elegir una solución de almacenamiento. La herramienta para compartir archivos de código abierto de Nextcloud es una opción viable, gratuita y atractiva para muchas personas y empresas.