Nube privada con Nextcloud en Raspberry Pi
2017-08-15
Índice
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:
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',
),
Espero que te haya gustado, pasa un buen día. 🐧