Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar Nextcloud en Linux Centos / Ubuntu Server

DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso
Hablar de la nube o cloud hoy en dia es común aunque aun hay personas que siguen pensando que el tener su propio servidor cloud es algo solo de empresas o gente con buen poder adquisitivo. Esto no necesariamente es cierto ya que hay muchas soluciones para todos los gustos y como este blog trata temas de opensource hoy te enseñare como tener tu propio cloud server GRATIS.
Para esto usaremos Nextcloud y mostrare dos escenarios; uno instalándolo en un Linux Centos 7 y el otro instalándolo en un Linux Ubuntu Xenial Server terminando con la instalación de un cliente Nextcloud en Linux Ubuntu MATE (aunque puedes instalarlo en cualquier Ubuntu Desktop reciente).
Para los que no lo sepan, Nextcloud es un fork o continuación bajo otro nombre/empresa del popular ownCloud continuando con la facilidad de uso ademas de otras características ya conocidas de esta solución cloud.


Instalamos Nextcloud en Linux Centos


Requerimientos para instalar Nextcloud en Linux Centos


-Si ya tienes LAMP en tu servidor Linux Centos, muchos de los requerimientos ya estaran instalados faltandonos uno que otro. Abrimos una consola e instalamos
yum install httpd php php-mysql sqlite php-dom php-mbstring php-gd php-pdo php-json php-xml php-zip php-gd curl php-curl php-pear wget mariadb-server mariadb bzip2 firewalld

-Instalamos repositorio Epel. Necesario para instalar php-mcrypt

-Instalamos
yum install php-mcrypt

Activamos Apache y PHP para NextCloud en Linux Centos 7

-Modificamos php.ini para permitir archivos de máximo 64MB
vi /etc/php.ini
post_max_size = 64M
upload_max_filesize = 64M

-Reiniciamos Apache para que tome los cambios de PHP
systemctl restart httpd

Activamos y configuramos MariaDB para NextCloud en Linux Centos 7

-En nuestra configuracion LAMP ya debemos tener el servidor MariaDB activo y listo para crear dbs

-Creamos la db para nextcloud con un usuario con permisos para solo esta base de datos. Cambiamos password por nuestra propia contraseña para el usuario ncusr
mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database nextcloudb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on nextcloudb.* to 'ncusr'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit;
Bye


Creamos políticas de firewall para NextCloud en Linux Centos 7

-Activamos el firewall y lo ejecutamos
systemctl enable firewalld
systemctl start firewalld

-Creamos los permisos para los protocolos http (80) y https (443). De esto depende que podamos conectarnos via web desde otro equipo
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Instalamos NextCloud en Linux Centos 7

-Nos movemos al directorio html de apache y descargamos la ultima version de Nextcloud, en este momento la 9.0.53
cd /var/www/html
wget -c https://download.nextcloud.com/server/releases/nextcloud-9.0.53.tar.bz2

-Descomprimimos el archivo
tar jxvf nextcloud-9.0.53.tar.bz2

-Damos permisos recursivamente a la carpeta nextcloud
chown -R apache.apache nextcloud/


Configuramos NextCloud en Linux Centos 7

-Abrimos un browser y navegamos a http://ip-servidor-de-nextcloud/nextcloud Creamos una cuenta de administrador con su contraseña. El proceso de instalación nos dirá que tan fuerte es nuestra contraseña con un código de colores, a mas llena la barra inferior, mas poderosa.
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Damos click a Storage & database y se mostraran mas opciones. Escogemos MySQL/MariaDB y escribimos los datos de la db creada anteriormente, usuario (ncusr), password (la contraseña que hayas elegido al crear la db), nextcloudb (nombre de la db creada), localhost (servidor local de mariadb) y damos click al botón Finish setup. Esperamos unos minutos mientras se termina la configuracion
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Nos recibe Nextcloud invitándonos a descargar clientes para conectarnos, pero esto lo veremos mas adelante. Cerramos la ventana de clientes dando click a su x superior derecha
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-La interfaz sera familiar a los que ya habían usado ownCloud (es idéntica). De tipo minimalista
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Cuenta con un menú superior izquierdo con acciones (ficheros, actividad, galería, aplicaciones) por medio de las cuales podremos cambiarnos para realizar otras tareas
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-En la misma barra azul, pero a la derecha, veremos el menú de usuario. En el caso del admin tendremos una opción extra Admin. Damos click a Personal
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-En personal podemos activar nuestra foto de perfil (máximo 20 mb de tamaño), nuestro email (para que nos lleguen notificaciones y otras tareas), podemos cambiar nuestra contraseña y lo mas importante, cambiar el idioma a Español
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Así se ve en nuestro Español, genial cierto?
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Si vamos a Administración en el menú de usuario veremos muchas opciones para personalizar Nextcloud. Sugiero tener cuidado y solo hacer cambios si sabes lo que estas haciendo. Una buena practica es anotar que cambiaste, así si se presentan errores después, ya sabes porque fue
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso


Creando cuentas de usuario en Nextcloud

-En el menú de usuario vamos a Usuarios. Allí creamos un usuario sin privilegios, solo necesitamos escribir en las cajas de texto superiores un nombre y su contraseña
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Como sera un usuario normal, creamos un grupo dándole click a añadir grupo
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Ya tenemos dos usuarios, el actual administrador y un usuario del grupo usuarios (creado en el paso anterior) sin privilegios con una cuota de 10GB de disco duro
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso


Instalamos el cliente ownCloud para Nextcloud en Linux Ubuntu

-Hay varias formas de instalar cl cliente pero la mas sencilla ademas de conveniente es por medio de un ppa en Linux Ubuntu. Asi cuando haya una nueva version, sera sencillo actualizarlo. Comenzamos descargando la llave del repositorio

cd /tmp
wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_16.04/Release.key

-Agregamos la llave y actualizamos repositorios
sudo apt-key add - < Release.key
sudo apt update

-Creamos el repositorio owncloud-client en /etc/apt/sources.list.d de Linux Ubuntu
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"

-Actualizamos e instalamos el cliente de ownCloud para Nextcloud
sudo apt update
sudo apt install owncloud-client

-En este ejemplo lo instale en un Linux Ubuntu MATE pero funciona igual en cualquier sabor actual de Linux Ubuntu. Ejecutamos el cliente owncloud-client (en Ubuntu MATE esta en el menú Aplicaciones - Accesorios)
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Nos saldrá una ventana donde debemos escribir el URL de nuestro servidor Nextcloud como si lo estuviéramos accediendo via web (http://ip-servidor/nextcloud/). Damos click al botón Next
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-En el siguiente paso nos pedirá un usuario con su contraseña para conectarnos. Escribimos los datos del usuario creado (el que no tiene permisos de administrador). Damos click al botón Next
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Se nos pedirá confirmar que queremos sincronizar con Nexcloud y en que carpeta. El default es todo en la carpeta owncloud. Damos click al botón Conectar
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Ya podemos abrir nuestra cuenta, ya sea via un navegador o en una carpeta local con Nautilus. Elegimos carpeta local dándole click (cerramos el asistente dando click al botón Finish)
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-En Nautilus veremos nuestra nueva carpeta bajo Marcadores, allí podremos copiar lo que queramos se almacene en nuestro propio servidor cloud
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Pero eso no es todo, el cliente nos crea un botón en nuestra barra de Ubuntu desde donde también podremos abrir Nautilus, ver cambios recientes entre otras opciones. Damos click a Configuraciones
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Nos saldrá una ventana donde podemos cambiar varias opciones del comportamiento del cliente
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso


Instalando NextCloud en Linux Ubuntu Server


Requerimientos para Nextcloud en Linux Ubuntu Xenial Server




-Abrimos una consola e instalamos. Si ya tienes LAMP la mayoría de paquetes ya estarán instalados. Para este ejemplo cabe aclarar que usaremos PHP 7
sudo apt install libxml2-dev php7.0-zip php7.0-dom php7.0-xmlwriter php7.0-xmlreader php7.0-gd php7.0-curl php7.0-mbstring

-Nos cambiamos al directorio html de apache y descargamos nextcloud en su ultima versión, en este caso la 9.0.53
cd /var/www/html
sudo wget -c https://download.nextcloud.com/server/releases/nextcloud-9.0.53.tar.bz2

-Descomprimimos el archivo
sudo tar -vxjf nextcloud-9.0.53.tar.bz2

-Creamos un script para crear carpetas y modificar permisos (gracias a la comunidad por este aporte)
sudo vi nextcloud_permissions.sh
#!/bin/bash

ocpath='/var/www/html/nextcloud'

htuser='www-data'

htgroup='www-data'

rootuser='root'


printf "Creating possible missing Directories\n"

mkdir -p $ocpath/data

mkdir -p $ocpath/assets

mkdir -p $ocpath/updater


printf "chmod Files and Directories\n"

find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640

find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750


printf "chown Directories\n"

chown -R ${rootuser}:${htgroup} ${ocpath}/

chown -R ${htuser}:${htgroup} ${ocpath}/apps/

chown -R ${htuser}:${htgroup} ${ocpath}/assets/

chown -R ${htuser}:${htgroup} ${ocpath}/config/

chown -R ${htuser}:${htgroup} ${ocpath}/data/

chown -R ${htuser}:${htgroup} ${ocpath}/themes/

chown -R ${htuser}:${htgroup} ${ocpath}/updater/


chmod +x ${ocpath}/occ


printf "chmod/chown .htaccess\n"

if [ -f ${ocpath}/.htaccess ]

then

 chmod 0644 ${ocpath}/.htaccess

 chown ${rootuser}:${htgroup} ${ocpath}/.htaccess

fi

if [ -f ${ocpath}/data/.htaccess ]

then

 chmod 0644 ${ocpath}/data/.htaccess

 chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess

fi

-Activamos permisos y ejecutamos el script
sudo chmod +x nextcloud_permissions.sh
sudo ./nextcloud_permissions.sh

-Creamos la configuracion de nextcloud en apache
sudo vi /etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/html/nextcloud/"

<Directory /var/www/html/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All

<IfModule mod_dav.c>
 Dav off
</IfModule>

SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud

</Directory>

-Hacemos un link simbólico
sudo ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

-Activamos varios módulos necesarios para Nextcloud en apache
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod ssl
sudo a2ensite default-ssl

-Reiniciamos apache para que tome los cambios
sudo systemctl restart apache2

-Creamos la db de Nextcloud en MariaDB junto a un usuario con su contraseña (cambiamos password por nuestra contraseña)
sudo mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 51
Server version: 10.0.25-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE nextcloudb;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> CREATE USER ncusr@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloudb.* TO ncusr@localhost;
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> exit;
Bye

-Abrimos un browser y navegamos a nuestro servidor Ubuntu Nextcloud http://ip-servidor/nextcloud Allí creamos un usuario con su contraseña (tendrá permisos de administrador), esta contraseña el asistente nos mostrara con una barra de color inferior que tan segura es
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Un poco mas abajo damos click a Storage & database. Los campos a llenar son usuario (ncusr), password (la contraseña usada al crear el usuario en mariadb), base de datos (nextcloudb), servidor de mariadb (localhost). Damos click al botón Finish setup
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso

-Nos recibe Nextcloud con una invitación a descargar clientes (desktop, android y IOS). Cerramos la ventana de clientes dándole click a su X superior derecha. Para instalar el cliente Nextcloud mira arriba en este articulo el paso a paso en Linux Ubuntu MATE (aunque sirve igual para otros sabores de Ubuntu)
DriveMeca instalando Nextcloud en Linux Ubuntu o Linux Centos paso a paso


Artículos recomendadosComo instalar MySQL Workbench en Linux Ubuntu paso a paso
                                           Instalación modo gráfico en Linux Centos
                                           Como instalar Adminer en Linux Centos paso a paso
                                           Como administrar usuarios en Centos
                                           Como instalar Clamav y usarlo en Linux paso a paso
                                           4 aplicaciones Ubuntu recomendadas para tu día a día


Nextcloud es una alternativa para tener tu servidor cloud local y GRATIS que no debes desaprovechar. Ahora que llegaste hasta aqui, que tal te ha parecido esta guía en español paso a paso y con screenshoots. Ya conocías Nextcloud, usas otra alternativa? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

1 comentario:

  1. buen dia
    por favor me puedes indicar como solucionar cuando estoy isntalando nextcloud 20.0.1


    Error interno del servidor
    El servidor no pudo completar tu solicitud.

    Si esto vuelve a suceder, por favor envia los detalles tecnicos siguientes al adminsitrador del sistema.

    Puedes consultar más detalles en la bitácora del servidor.

    Detalles técnicos
    Dirección Remota: 192.168.200.190
    ID de solicitud: X6IEcp1VS763daZTaFdsjQAAAAA

    ResponderEliminar

Dejame un comentario, aprecio la retroalimentacion. Leave me a comment, I appreciate the feedback.