Recientemente me tocó actualizar mi viejo servidor ownCloud, el cual se encontraba en fase de desarrollo y finalmente pasó a producción. El problema fue que durante ese lapso, ownCloud liberó dos major releases (versiones que no son meramente revisiones, o correcciones de bugs y vulnerabilidades, sino que incorporan cambios substanciales), y lamentablente ownCloud no permite saltearse major releases al momento de actualizar. Por ende se debe actualizar una a una todas las major releases hasta llegar a la versión estable actual.



Antes de comenzar el proceso de actualización, es indispensable crear un backup del sitio y su base de datos.

Para determinar la versión actual de ownCloud se debe examinar el archivo version.php:

root@owncloud:/var/www/owncloud # grep VersionString version.php
$OC_VersionString = '8.1.3';

Se observa que se trata de la major release 8.1, por lo que es necesario actualizar a las versiones 8.2 y 9 en orden.

Descargar los fuentes de dichas versiones:

root@owncloud:/var/www/owncloud # cd ..
root@owncloud:/var/www # fetch https://download.owncloud.org/community/owncloud-8.2.0.tar.bz2
root@owncloud:/var/www # fetch https://download.owncloud.org/community/owncloud-9.0.1.tar.bz2
root@owncloud:/var/www # ll
total 49703
drwxr-xr-x  13 www   www          27 Oct 19  2015 owncloud/
-rw-r--r--   1 root  wheel  26072679 Oct 20  2015 owncloud-8.2.0.tar.bz2
-rw-r--r--   1 root  wheel  24700669 Apr  6 18:32 owncloud-9.0.1.tar.bz2

Renombrar el directorio actual donde se encuentra el sitio ownCloud:

root@owncloud:/var/www # mv owncloud owncloud_8.1

Extraer el paquete de la versión 8.2:

root@owncloud:/var/www # tar xvf owncloud-8.2.0.tar.bz2
root@owncloud:/var/www # chown -R www:www owncloud

Luego copiar los directorios data/ y config/:

root@owncloud:/var/www # cd owncloud_8.1
root@owncloud:/var/www/owncloud_8.1 # cp -a data config ../owncloud/

Al acceder al sitio desde un navegador se observa el siguiente mensaje:

Tal como se observa, es necesario ejecutar el script de actualización occ como el usuario con el que corre el servidor Web (en este caso "www"):

root@owncloud:/var/www # chmod +x owncloud/occ
root@owncloud:/var/www # su - www
$ cd owncloud
$ ./occ upgrade
ownCloud or one of the apps require upgrade - only a limited number of commands are available
Set log level to debug - current level: 'Warning'
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating [...]

De esta forma se completa la actualización a la versión 8.2:

Para ejecutar el script de actualización es necesario que el usuario en cuestión tenga asignada una shell válida. En sistemas FreeBSD es posible otorgarle acceso a sh al usuario "www" ejecutando:

# pw user mod www -s /bin/sh

En sistemas GNU/Linux:

# usermod -s /bin/sh www-data

A continuación es necesario repetir los paso para actualizar a la versión 9:

root@owncloud:/var/www # mv owncloud owncloud_8.2
root@owncloud:/var/www # tar xvf owncloud-9.0.1.tar.bz2
root@owncloud:/var/www # chown -R www:www owncloud
root@owncloud:/var/www # cd owncloud_8.2
root@owncloud:/var/www/owncloud_8.2 # cp -a data config ../owncloud/
root@owncloud:/var/www # su - www
$ cd owncloud
$ ./occ upgrade
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
ownCloud 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
Set log level to debug
Turned on maintenance mode
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Checked database schema update
Checking updates of apps
Checked database schema update for apps
Updating database schema
Updated database
Disabled 3rd-party app: files_locking
Disabled 3rd-party app: files_videoviewer
Disabled 3rd-party app: updater
Updating [...]

Referencias

Upgrading Your ownCloud Server

ownCloud Server Changelog


Tal vez pueda interesarte


Compartí este artículo