Hola a tod@s!

En esta nueva entrada les enseñaremos a como instalar y configurar la ultima versión de Nextcloud sobre CentOS 8.

Para esto, revisaremos los siguientes temas:

  • 1. ¿Qué es Nextcloud?
  • 2. Requerimiento del sistema
  • 3. Preparando nuestro ambiente de trabajo
  • 4. Instalación y configuración de Nextcloud

¡Manos a la obra!

1. ¿Qué es NextCloud?

NextCloud es una serie de aplicativos para almacenamientos de archivos de código abierto publicado el 02 de junio del 2016 por Frank Karlitschek. Frank Karlitschek trabajaba en el proyecto Owncloud, pero al momento de revisar políticas de licenciamiento para su publicación tuvo desacuerdos con encargados de Owncloud sobre el futuro que iba a tener Nexcloud, por lo que decide abandonar la compañía e impulsar su proyecto.

Nexcloud esta bajo licencia AGPLv3 y cuenta con muchas caracterísitcas las cuales puedes revisar en su pagina oficial.

2. Requerimientos de sistema

Server

La recomendación para tener un mejor rendimiento, estabilidad y funcionalidad para su servidor de NextCloud es contar con lo siguiente:

PlatformOptions
Operating SystemUbuntu 18.04 LTS (recommended)Red Hat Enterprise Linux 8 (recommended)Debian 10 (Buster)SUSE Linux Enterprise Server 15openSUSE Leap 42.1+CentOS 8
DatabaseMySQL 5.7+ or MariaDB 10.2+ (recommended)Oracle Database 11g (only as part of an enterprise subscription)PostgreSQL 9.5/9.6/10/11SQLite (only recommended for testing and minimal-instances)
WebserverApache 2.4 with mod_php or php-fpm (recommended)nginx with php-fpm
PHP Runtime7.27.3 (recommended)7.4 (recommended)

Memoria RAM

Los requisitos de memoria para ejecutar un servidor Nextcloud son muy variables, dependiendo de la cantidad de usuarios, aplicaciones, archivos y volumen de actividad del servidor.

Nextcloud necesita un mínimo de 128 MB de RAM y recomendamos un mínimo de 512 MB.

Escritorios Clientes (PC/Notebook)

Recomendamos encarecidamente utilizar la última versión de su sistema operativo para obtener la experiencia más completa y estable de nuestros clientes.

  • Windows7+
  • macOS Lion (10.7)+ (64-bit only)
  • Linux (CentOS 6.5+, Ubuntu 14.04+, Fedora 21+, openSUSE 13, SUSE Linux Enterprise 11 SP3+, Debian 8 (Jessie)+, Red Hat Enterprise Linux 7)

Mobile apps

Recomendamos encarecidamente utilizar la última versión de su sistema operativo móvil para obtener la experiencia más completa y estable de nuestras aplicaciones móviles.

  • iOS 11.x+
  • Android 4.x+

Navegador Web

Para obtener la mejor experiencia con la interfaz web de Nextcloud, le recomendamos que utilice la versión más reciente y compatible de un navegador de esta lista, o una basada en los siguientes:

  • Microsoft Internet Explorer 11 (latest version)
  • Microsoft Edge
  • Mozilla Firefox
  • Google Chrome/Chromium
  • Apple Safari


3. Preparando nuestro ambiente de trabajo

Este laboratorio lo realizare en la última versión de CentOS 8 a la fecha (25-08-2020) la cual es 8.2.2004 y la pueden descargar desde su sitio oficial

Para mis laboratorios y entornos de producción yo acostumbro a descargar la versión mínima y voy instalando lo necesario a medida que se vaya requiriendo, así, mejoramos el rendimiento de nuestro servidor y no tenemos instalados aplicaciones que no utilizamos los cuales bajan el rendimiento

La instalación de CentOS 8 es similar a la de CentOS 7, por lo que puedes ver Instalación de CentOS 7 (Parte 1) e Instalación de CentOS 7 (Parte 2)

4. Instalación y configuración de Nextcloud

Ya que tenemos los 3 pasos anteriores fundamentales, procederemos con la instalación y configuración de Nextcloud en CentOS 8.

Primero, procederemos a actualizar nuestro CentOS 8

sudo dnf update

Instalación de paquetes

sudo dnf install -y php-mysqlnd php-fpm mariadb-server httpd

Ahora habilitaremos las reglas en el firewall para permitir los servicios de HTTP y HTTPS y finalizando con el refresco de ellas.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Realizado lo anterior, procederemos a iniciar los servicios de mariadb y httpd (start), como también habilitarlos para que cuando el sistema operativo se reinicie o inicie después de un apagado, estos se inicien también (enable).

sudo systemctl start mariadb
sudo systemctl start httpd
sudo systemctl enable mariadb
sudo systemctl enable httpd

Procedemos a ejecutar una de las mejores practicas de mariadb para dejarlo mas seguro con los siguientes comandos.

sudo mysql_secure_installation
Enter current password for root (enter for none): Si es una instalación limpia deben presionar ENTER
Set root password? y
[Ingresar nueva contraseña]
[Volver a escribir la contraseña]
Remove anonymous user? y
Disallow root login remotely? y
Remove test database and acces to it? y
Reload privileges tables now? y

Lo siguiente es ir al directorio de http y crear un nuevo archivo [info.php] para comprobar que las librerias de php estén bien instaladas y podamos acceder a él. De manera opcional, yo instalo el editor VIM como editor.

sudo dnf install -y vim
cd /var/www/html/
ls
sudo vim info.php
[presionar i para editar]
<?php phpinfo(); ?>
[presionar ESC]
[presionar doble puntos (:)]
wq
[enter]

verificamos nuestra dirección IP del servidor e ingresamos por con nuestro navegador como se muestra a continuación:

ifconfig
[vemos nuestra dirección IP del servidor]
[abrir nuestro navegador web preferido e ingresamos la dirección IP/info.php]

Procederemos a otorgar permisos al usuario y grupo apache sobre todo el directorio /var/www/html/*

sudo chown -R apache:apache /var/www/html/*

Ahora cambiaremos los permisos para editar el contenido con el comando chcon

sudo chcon -t httpd_sys_rw_content_t /var/www/html/ -R

Continuaremos instalando paquetes adicionales necesario para el buen funcionamiento de Nextcloud. Recordar que cuando ingreso el complemento «-y» es para que instale todo y no pregunte cada vez que haya que hacer alguna intervención.

sudo dnf -y install php-mbstring php-gd php-pecl-zip php-xml php-json unzip

Ahora instalaremos wget y descargaremos la última versión de Nextcloud

sudo dnf -y install wget
sudo wget https://download.nextcloud.com/server/releases/latest.zip

Descomprimimos lo descargado en el directorio de HTML

sudo unzip latest.zip -d /var/www/html
[Presionar ENTER]

Realizado lo anterior, procederemos a crear el directorio para la data de nexcloud, otorgaremos los permisos para el usuario y grupo de apache y entregaremos los permisos de contenido.
(OJO que las grabaciones las estoy subiendo hasta con los errores que me aparecen y es mas que todo digitación, para que lo tengan en consideración)

sudo mkdir /var/www/html/nextcloud/data
sudo chown -R apache:apache /var/www/html/nextcloud/*
sudo chcon -t httpd_sys_rw_content_t /var/www/html/nextcloud/ -R

Ahora crearemos la base de datos nextcloud, crear usuario con contraseña y otorgaremos los permisos necesarios.

sudo mysql -u root -p
[Escribir contraseña]
CREATE DATABASE nextcloud;
CREATE USER 'rmunoz'@'localhost' IDENTIFIED BY '12345';
GRANT ALL ON nextcloud.* TO 'rmunoz'@'localhost';
FLUSH PRIVILEGES;
exit

Ya estamos a un paso de finalizar, ahora nos queda abrir nuestro navegador preferido, ingresar a la dirección IP de nuestro servidor, en mi caso 192.168.112.130/nextcloud y crear nuestro usuario administrador.
Luego, debemos presionar sobre «configurar base de dato» e ingresar los datos que creamos en la sección anterior de creación de usuario y base de datos en MYSQL.

Espero que este tutorial les haya servido y no olviden suscribirse a nuestro canal de YOUTUBE y dejar sus comentarios.

Compartimos también con ustedes videoturorial donde explicamos paso a paso lo revisado en este tutorial

Saludos.!

Please follow and like us: