Nextcloud es un completo software que nos permitirá sincronizar archivos, carpetas, calendarios y contactos entre múltiples dispositivos. Esto no es nada nuevo, ya que los servicios de Google lo hacen, pero este software nos permite tener el control total de todos nuestros datos, ya que dichos datos se almacenan localmente en nuestra red local, no se suben a ninguna nube pública ni servidor externo si no queremos.
Nextcloud está centrado específicamente en proporcionar a sus usuarios seguridad, privacidad y el control total de todos sus datos, de tal forma que sean totalmente transparentes. Este software es la siguiente generación de sincronización de archivos que empezó con ownCloud, sin embargo, Nextcloud es mucho más avanzado y está en continuo desarrollo por parte de su equipo y también por la comunidad ya que es de código abierto.
(Fuente: RedesZone)
En un tutorial anterior os explicaba como instalar owncloud:
Este tutorial mostrará un procedimiento para migrar nuestro servidor ownCloud v8.2 de una máquina, a otra máquina diferente en donde querremos tener Nextcloud. Si la migración se hace en la misma máquina, el procedimiento es practicamente el mismo si bien no hay que transferir las copias de la base de datos y archivos de una a otra. Una cosa que tenemos que tener clara es la escalera de migraciones que debemos realizar:
- ownCloud 8.2 y 9.0 a Nextcloud 9.
- ownCloud 9.0 y 9.1 a Nextcloud 10
- ownCloud 9.1 a Nextcloud 10 or 11.
Esto quiere decir, que si tengo (como es el caso) un owncloud 8.2, si deseo pasarlo a nextcloud 12, tendré que hacer una migración previa a nextcloud 9. Entendido esto, vamos a hacerlo:
Descarga: https://nextcloud.com/install/
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.58.zip--2017-06-15 11:16:27-- https://download.nextcloud.com/server/releases/nextcloud-9.0.58.zipResolviendo download.nextcloud.com (download.nextcloud.com)... 88.198.160.133Conectando con download.nextcloud.com (download.nextcloud.com)[88.198.160.133]:443... conectado.Petición HTTP enviada, esperando respuesta... 200 OKLongitud: 44682063 (43M) [application/zip]Guardando como: “nextcloud-9.0.58.zip”nextcloud-9.0.58.zip 100%[======================>] 42,61M 7,99MB/s in 5,7s2017-06-15 11:16:33 (7,50 MB/s) - “nextcloud-9.0.58.zip” guardado [44682063/44682063]
Luego descomprimimos con unzip:
unzip nextcloud-9.0.58.zip
- Instalar un nuevo servidor LAMP
- Hacer copia de seguridad de la base de datos de owncloud y restaurarla en el nuevo servidor
- Hacer copia de los archivos (./data) de owncloud y copiarlo en el nuevo servidor.
- Hacer copia de seguridad de la configuración de owncloud (./config) y restaurarlo en el nuevo servidor.
Por ejemplo, en mi caso tengo una copia de seguridad de la base de datos de owncloud. Me la copio al nuevo servidor y la descomprimo. Luego:
CREATE DATABASE IF NOT EXISTS nextcloud;
mysql --user=root --password nextcloud < owncloud-sqlbkp.bak
Creamos el site nextcloud en el apache del nuevo servidor:
Alias /nextcloud "/var/www/nextcloud/"a2ensite nextcloud.confOptions +FollowSymlinks AllowOverride All Dav off SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud
Tambien es aconsejable habilitar los siguientes módulos:
a2enmod headers a2enmod env a2enmod dir a2enmod mime
Instalamos algunos paquetes php extras que nos irán bien
apt install php7.0-curl php7.0-json php7.0-cgi php7.0-xml memcached php-memcached php-zip php-mbstring php7.0-gdsystemctl reload apache2
Como el objetivo de este tutorial no es enseñar a instalar un owncloud o nextcloud, daremos por conocidos esos conceptos.
En este punto ya estamos preparados para poder realizar la migración:
http://
Ahora nos pedirá una clave de actualización. Esta será la que tengamos configurado en nuestro config.php, pero en el caso de no acordarnos la podemos regenerar desde el terminal :
php -r '$password = trim(shell_exec("openssl rand -base64 48"));if(strlen($password) === 64) {$hash = password_hash($password, PASSWORD_DEFAULT) . "\n"; echo "Insert as \"updater.secret\": ".$hash; echo "The plaintext value is: ".$password."\n";}else{echo "Could not execute OpenSSL.\n";};'También se puede hacer por linea de comandos. De hecho, para servidores con gran cantidad de información es aconsejable ya que los tiempos de espera de PHP nos podrían cancelar la actualización.
sudo -u www-data php occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
- Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE `*PREFIX*filecache` ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;
Continue with update (y/n)
y
Set log level to debug
Checking whether the database schema can be updated (this can take a long time depending on the database size)
(...)
Al finalizar la actualización hacemos:
sudo -u www-data php occ maintenance:mode --off
Nextcloud is in maintenance mode - no app have been loaded
Maintenance mode disabled
- Activar Modo mantenimiento
sudo -u www-data php occ maintenance:mode --on - Hacer copia de la configuración (config/config.php), base de datos y carpeta data
- Borrar el código antiguo de nextcloud y colocar la nueva versión
- Restablecer configuración (config.php) y carpeta data.
- Lanzar el comando para realizar la actualización
sudo -u www-data php occ upgrade - Desactivar Modo mantenimiento
sudo -u www-data php occ maintenance:mode --off