Nube privada con Nextcloud en Raspberry Pi

Si no te fías de que tus datos estén alojados en servidores de terceros, y quieres tener tu propia nube privada tipo gdrive o dropbox, Nextcloud es tu solución.

Con Nextcloud podemos almacenar, sincronizar y compartir archivos, disponer de notas, calendarios, lista de tareas y sincronizarlos entre diferentes dispositivos, lector de feeds y muchas mas aplicaciones, que podemos ir instalando a nuestro Nextcloud

La instalación la vamos a realizar con MariaDB como base de datos, lighttpd como servidor web y php5 sobre una rpi con Raspbian como sistema operativo.

Esta guía esta basada en el articulo https://miraspberrypi.wordpress.com/2016/07/28/nextcloud-en-raspbian/ todo el merito le corresponde a él, lo pongo en mi blog a modo de chuleta y para que en un futuro no se pierda en la maraña de internet.

Instalación de MariaDB

Antes de comenzar con la instalación, nos conectamos mediante ssh a la rpi y actualizamos el sistema:

$ sudo apt-get update && sudo apt-get upgrade -y

Instalamos MariaDB

$ sudo apt-get install mariadb-server

Durante la instalación nos pedirá una contraseña para el usuario root para poder administrar las bases de datos de MariaDB.

Ejecutamos el script para securizar la instalación:

sudo mysql_secure_installation

Introducimos la contraseña de root y respondemos a las preguntas como en la captura de imagen:

Accedemos con el usuario root a la consola de MariaDB, nos pedirá la contraseña que pusimos durante la instalación de MariaDB :

mysql -u root -p

Creamos un usuario nuevo en MariaDB, cambiando “miusuario” y “micontraseña” por los que correspondan en cada caso

CREATE USER 'miusuario'@'localhost' IDENTIFIED BY 'micontraseña';

Creamos una base de datos nueva llamada nextcloud

CREATE DATABASE IF NOT EXISTS nextcloud;

Damos todos los privilegios de la base de datos nextcloud al nuevo usuario que hemos creado anteriormente.

GRANT ALL PRIVILEGES ON nextcloud.* TO 'miusuario'@'localhost' IDENTIFIED BY 'micontraseña';

Salimos de la consola de MariaDB

quit

Con esto ya tendremos lista la base de datos.

Instalación de Lighttpd y PHP

$ apt-get install lighttpd php5-cgi php5-curl php5-gd php5-mysql

Modificamos PHP:

$ sudo sed --in-place -e 's/^upload_max_filesize.*/upload_max_filesize = 20M/' -e 's/^max_file_uploads.*/max_file_uploads = 50/' -e 's/^post_max_size.*/post_max_size = 20M/' /etc/php5/cgi/php.ini

Editamos el fichero /etc/lighttpd/lighttpd.conf:

server.document-root        = "/var/www/nextcloud"

Y añadimos al final:

$HTTP["url"] =~ "^/nextcloud/data/" {
 url.access-deny = ("")
}

$HTTP["url"] =~ "^/nextcloud($|/)" {
 dir-listing.activate = "disable"
}

Habilitamos fastcgi:

$ sudo lighty-enable-mod fastcgi-php fastcgi

Ya tenemos configurado el servidor web lighttpd

Instalación de Nextcloud

Nos descargamos desde https://nextcloud.com/install/#instructions-server la ultima versión de Nextcloud.

Copiamos el fichero descargado en /var/www/ y lo descomprimimos

sudo cp nextcloud-12.0.0.zip /var/www/
cd /var/www/
sudo unzip nextcloud-12.0.0.zip
sudo rm nextcloud-12.0.0.zip

lighttpd se ejecuta por defecto con el usuario www-data por lo que deberemos cambiar de propietario a /var/www/nextcloud

$ sudo chown -R www-data /var/www

Accedemos a nuestro servidor desde el navegador web http://miraspberrypi.com/nextcloud y rellenamos:

1. Crearemos un usuario administrador para Nextcloud
2. Usuario,contrseña y nombre de la base de datos (nextcloud) que creamos desde la consola de MariaDB

Ya tenemos lista nuestra nube privada.

Para finalizar, debemos añadir las direcciones IP y dominios que van a tener acceso a nexcloud.

Editamos el fichero de configuración.

sudo nano /var/www/nextcloud/config/config.php

Y añadinnos las Ip’s y dominios:

array (
   0 => 'tu.dominio-org',
   1 => '192.168.1.3',
   2 => '10.8.0.1',
 ),

comentario powered by Disqus