Cómo instalar Nextcloud en CentOS 7

En esta entrada explicamos cómo instalar Nextcloud en CentOS 7 paso a paso, de modo que podrás crear tu propio servicio de nube de archivos y documentos en tu servidor o VPS CentOS para aprovechar al máximo sus capacidades.

Antes de instalar Nextcloud en CentOS 7

Si quieres completar esta pequeña guía de instalación de Nextcloud en CentOS 7 deberías revisar los siguientes requisitos mínimos:

  • Una máquina CentOS 7 actualizada.
  • Un entorno o pila LAMP (servidor web con PHP y servicio de bases de datos).
  • Los paquetes bzip2, policycoreutils-python, y wget.
  • Acceso a consola como root o un usuario con privilegios de sudo.
  • Acceso a Internet.

En el caso de que aún no dispongas del entorno necesario, consulta nuestra guía de instalación de la pila LAMP en CentOS 7.

Puedes instalar Nextcloud en tu sistema como la página por defecto, una sección de la página por defecto o como un servidor virtual independiente. Por sencillez de esta guía, instalaremos Nextcloud como parte del sitio web por defecto del servidor CentOS 7. Además, es importante, aunque no obligatorio, configurar las conexiones seguras por HTTPS en el servidor web.

Cómo descargar Nextcloud para CentOS 7

Debido a que los paquetes existentes en el repositorio EPEL están muy anticuados, vamos a descargar Nextcloud para CentOS 7 desde su página oficial y aprovecharemos la última versión disponible:

como descargar nextcloud para centos 7

A través del enlace «Get Nextcloud» accederemos a la página de descargas, donde escogeremos entre las descargas para servidor y los clientes de escritorio y móvil.

descargar nextcloud para centos 7

En este tutorial estamos instalando el servicio Nextcloud, así que seguiremos el botón «Download for server«. Se abrirá una pantalla en la que ignoramos el botón grande «Download Nextcloud»  y pulsamos en «Details and download options«:

descargas de nextcloud para centos 7

Podremos elegir entre el paquete en versión .tar.bz2 o .zip y descargarlo desde el navegador o, como haremos en este tutorial, copiar el enlace y descargar el paquete desde consola con el comando wget:

~$ wget https://download.nextcloud.com/server/releases/nextcloud-18.0.4.tar.bz2

Cómo instalar Nextcloud en CentOS 7

Para instalar Nextcloud en CentOS 7 antes debemos realizar toda una serie de preparativos, de modo que posteriormente el instalador web de Nextcloud correrá sin obstáculos.

Preparación de los archivos de Nextcloud

Descomprimimos el paquete en la ubicación que hayamos decidido para Nextcloud en la estructura del servicio web:

~$ sudo tar xf nextcloud-18.0.4.tar.bz2 -C /var/www/html/

Se creará un subdirectorio nextcloud/ en la ubicación especificada. Nextcloud debe poder escribir en su propio directorio de instalación, así que cambiaremos el propietario de este directorio al usuario y grupo con el que corre el servidor web (apache para Apache en CentOS 7):

~$ sudo chown -R apache:apache /var/www/html/nextcloud/

Preparación de SELinux

No basta con dar permisos de escritura a Nextcloud sobre sus propios archivos, ya que SELinux sólo permite que el servidor web haga operaciones de lectura.

Aplicaremos un contexto de lectura/escritura en el directorio de Nextcloud:

~$ sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/nextcloud/

Y protegeremos este contexto de forma permanente:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/nextcloud(/.*)?"

Por otro lado, conectar a algunos motores de datos sólo es posible si se activa el valor httpd_can_network_connect_db:

~$ sudo setsebool -P httpd_can_network_connect_db on

Preparación de PHP

Nextcloud exige la instalación de ciertas extensiones de PHP en CentOS 7, como pueden ser gd, imagick, intl, mbstring, opcache, posix, xml y zip. Por tanto debemos asegurarnos de que estén disponibles:

~$ sudo yum install -y php-gd php-imagick php-intl php-mbstring php-opcache php-posix php-xml php-zip

Por supuesto será necesario instalar la extensión que permite la conexión con el motor de bases de datos que nos interese:

~$ sudo yum install -y php-mysql php-pgsql

También es interesante activar alguna caché de datos si el servicio va a tener cierto tráfico, de modo que instalaríamos también una extensión como APCu:

~$ sudo yum install -y php-apcu

Para aplicar los cambios recargamos la configuración del servidor web o el servicio PHP-FPM, según corresponda:

~$ sudo systemctl reload httpd

Preparación de Apache

En el caso de usar Apache como servidor web, Nexcloud está preparado para añadir configuraciones adicionales a través de archivos .htaccess. Como por defecto el servicio web ignora estos archivos añadiremos una configuración especial para Nextcloud que permita tenerlos en cuenta. Para ello crearemos un archivo de configuración adicional:

~$ sudo nano /etc/httpd/conf.d/nextcloud.conf

En este archivo añadiremos un bloque Directory para la ruta donde hayamos instalado Nextcloud con una directiva AllowOverride que permita incluir los archivos .htaccess:

<Directory /var/www/html/nextcloud>
        AllowOverride all
        php_value memory_limit "512M"
</Directory>

Aprovechamos la misma configuración para añadir un ajuste de PHP.

Guardamos los cambios, cerramos el archivo y recargamos la configuración del servicio para que tenga efecto:

~$ sudo systemctl reload httpd

Preparación de la base de datos

Crearemos una nueva base de datos y el usuario que la manejará en el servicio de bases de datos que tengamos instalado. Teniendo en cuenta que Nextcloud admite varios motores como soporte, mostraremos los preparativos de los dos más usados.

MariaDB/MySQL

Iniciamos sesión con el cliente de consola mysql y nuestro usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database nextcloud character set utf8mb4 collate utf8mb4_unicode_ci;

Creamos el usuario, si estamos usando MySQL 8 nos aseguramos de que se utilice el plugin de autenticación mysql_native_password:

> create user nextcloud@localhost identified with mysql_native_password by 'XXXXXXXX';

Si estamos usando MariaDB o alguna versión de MySQL 5 no es necesario indicar el plugin de autenticación:

> create user nextcloud@localhost identified by 'XXXXXXXX';

Otorgamos los permisos necesarios al usuario sobre la base de datos:

> grant all privileges on nextcloud.* to nextcloud@localhost;

Y cerramos el cliente mysql:

> exit

PostgreSQL

Creamos un rol con contraseña para Nextcloud:

~$ sudo -iu postgres createuser -P nextcloud

Y creamos la base de datos asociada al mismo:

~$ sudo -iu postgres createdb nextcloud -O nextcloud

El método de autenticación para los usuarios de PostgreSQL debe ser md5, es decir, en el archivo pg_hba.conf deben aparecer las directivas host relativas al acceso por red a la propia máquina (localhost) del siguiente modo:

...
host    all             all             127.0.0.1/32            md5
...
host    all             all             ::1/128                 md5
...

Instalación de Nextcloud en CentOS 7 vía web

Con todos los preparativos finalizados es el momento de instalar Nextcloud en CentOS 7 usando el instalador web, al que accedemos desde el navegador con la URL que hayamos definido para acceder al sitio.

En este ejemplo, en el que Nextcloud es parte de la página por defecto del servidor CentOS 7, y el sistema es accesible desde el dominio centos7.local.lan, la URL http://centos7.local.lan/nextcloud/ serviría para acceder:

como instalar nextcloud en centos 7

Crearemos el administrador de Nextcloud, indicando usuario y contraseña, seleccionaremos el sistema de bases de datos, en este ejemplo es PostgreSQL, y cumplimentaremos los datos de conexión. Por defecto aparece marcada la opción de instalar las aplicaciones recomendadas de Nextcloud que, si no te interesaran, podrías desmarcar.

Hecho esto seguimos el enlace «Completar la instalación» y tras unos instantes accedemos directamente al servicio, mostrándose un pequeño paseo o tour:

instalar nextcloud en centos 7

Terminada la presentación, aparecerá nuestra página personal principal, con los archivos y carpetas que se crean por defecto, y todas las opciones para empezar a trabajar.

nextcloud en centos 7

Al ser administradores, podremos crear otros usuarios.

Post-instalación de Nextcloud en CentOS 7

Conviene realizar algunas tareas de mantenimiento de la base de datos tras la instalación de Nextcloud, usando para ello las herramientas de consola que ofrece la aplicación. Concretamente, habrá que añadir algunos índices a la base:

~$ sudo -u apache php /var/www/html/nextcloud/occ db:add-missing-indices

Y también hay que realizar ciertas conversiones de tipos de datos:

~$ sudo -u apache php /var/www/html/nextcloud/occ db:convert-filecache-bigint

En el caso de haber instalado la extensión APCu es necesario activar manualmente la caché de datos, editando el archivo de configuración de Nextcloud:

~$ sudo nano /var/www/html/nextcloud/config/config.php

Al final del archivo, justo antes del paréntesis de cierre, añadimos la siguiente variable:

...
        'memcache.local' => '\OC\Memcache\APCu',
);

Guardados los cambios y cerrado el archivo, la caché queda activada.

Cómo conectar al servicio Nextcloud de CentOS 7

Ya tienes el servicio en marcha. Ahora puedes instalar distintos clientes tanto para sistemas de escritorio como móviles, desde la misma página web de Nexcloud desde la que hemos descargado el software del servicio anteriormente.

Por ejemplo, si descargamos e instalamos un cliente de escritorio para Windows, al iniciarlo por primera vez podremos elegir entre registrarnos en un servicio o iniciar sesión en uno en el que tengamos cuenta:

Se nos pedirá la URL con la que se accede al servicio, que será la misma URL con la que accedimos anteriormente a través del navegador a Nextcloud en la máquina CentOS 7:

Tras realizar la conexión, el proceso continúa abriendo automáticamente un enlace en el navegador, teniendo la opción de volver a abrirlo si hay algún problema o la de copiar el enlace y pegarlo como URL nosotros mismos:

Se abrirá el navegador:

Seguiremos el enlace «Iniciar sesión» y se abrirá una página de login donde tendremos introducir los datos de nuestro usuario:

Tas pulsar en «Iniciar sesión» y comprobarse la existencia de la cuenta, se nos solicitará confirmación de que queremos dar permisos al cliente para acceder a la cuenta:

Concedemos dicho permiso para el acceso siguiendo el enlace «Grant access«, tras lo que se nos informará del éxito en la conexión y que podemos cerrar el navegador:

Cerramos el navegador y veremos que el cliente muestra las opciones de conexión de nuestra cuenta con el servidor Nextcloud en CentOS 7 para que podamos realizar los ajustes necesarios:

Cosas como sincronizar todo o parte, limitar tamaños de archivo, ubicación de la carpeta de Nextcloud en el equipo o dispositivo, etc.

Cuando esté todo de acuerdo a nuestras preferencias podemos conectar:

En unos instantes se descargarán los archivos desde la cuenta asociada de Nextcloud en el servidor CentOS 7. Podemos cerrar la ventana del cliente, que normalmente queda funcionando en segundo plano. Si abrimos la carpeta que hayamos destinado a contener estos archivos, los encontraremos disponibles de forma local:

Todo funciona correctamente. Ya podemos empezar a añadir, eliminar y modificar archivos y carpetas, etc. Los cambios se reflejarán automáticamente en nuestra cuenta de Nextcloud y en el almacenamiento del servidor CentOS 7.

Conclusión

Ahora que sabes cómo instalar Nextcloud en CentOS 7 ya puedes montar tu propia nube de archivos y documentos doméstica o empresarial, tanto en red local como desde Internet. Es una buena forma de aprovechar las capacidades de tu servidor o VPS CentOS. Instalando clientes de escritorio y dispositivos móviles accederás fácilmente a todos tus archivos desde cualquier lugar sin coste adicional.

Si tienes preguntas, dudas, sugerencias, notificaciones, etc. puedes dejar un oportuno comentario.

¡Apoya este sitio!

¿Te ha servido esta breve guía de instalación de Nextcloud en CentOS 7 para montar tu propia nube personal? Si es así y te gustaría agradecérnoslo, la más mínima contribución ayuda bastante al mantenimiento de este sitio. Y también a la elaboración de más tutoriales sobre CentOS 7 y Nextcloud. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies