Owncloud update shell

 

L'aggiornamento costante di Owncloud è vivamente consigliato. Quando è disponibile un aggiornamento, vedrai una notifica nella parte superiore della tua interfaccia web, in questo articolo ti spiego la via per aggiornarlo da shell in modo da non avere grane.

Premessa

Ci sono due modi per aggiornare owncloud, o via interfaccia web o via shell, sconsiglio vivamente di usare l'interfaccia web con la quale ho avuto svariati problemi, che ho dovuto risolvere comunque lanciando i comandi da shell.

Consiglio in ogni caso di seguire la guida ufficiale del prodotto a questo link https://doc.owncloud.com/server/admin_manual/maintenance/upgrade.html

Questa guida è rivolta a chi non ha particolari app installate se non le standard:

  • calendar
  • gallery
  • contacts

Nel caso tu avessi altre apps installate segui la guida al link di cui sopra, il quale consiglia di disabilitarle prima dell'upgrade con questi comandi:

# This command lists all apps by <app-id> and app version
sudo -u www-data php occ app:list
# This command disables the app with the given <app-id>
sudo -u www-data php occ app:disable <app-id>

 

Upgrade

Iniziamo l'upgrade mettendo in maintenance owncloud in modo che nessuno possa scriverci, stoppiamo apache2 e ci facciamo il backup sia della dir che del db:

cd /var/www/owncloud
sudo -u www-data php occ maintenance:mode --on
sudo service apache2 stop
cd ..
mv owncloud owncloud-old-version
mysqldump -uroot -pPASSWDROOTDB owncloud > owncloud-old-version.sql

Ora scarichiamo il pacchetto di installazione aggiornato e lo decomprimiamo nella nuova directory owncloud:

wget https://download.owncloud.org/community/owncloud-XX.X.X.tar.bz2
tar -xf owncloud-XX.X.X.tar.bz2
ls -latr

Ricopiamo nella nuova dir di installazione il file di config la nostra data che contiene tutti i files e la dir delle external apps:

cp owncloud-old-version/config/config.php owncloud/config/config.php
mv owncloud-old-version/data owncloud/data
mv owncloud-old-version/apps-external owncloud/apps-external

N.B. se la data risiede in un altro path all'infuori della dir di owncloud vera e propria non occorre fare il move della dir

Cambiamo le permission della dir di owncloud e lanciamo l'upgrade:

chown -R www-data:www-data owncloud
cd owncloud
ls
sudo -u www-data php occ upgrade

Una volta finito l'upgrade e siamo sicuri che sia andato tutto ok (darà una serie di step ok come output), togliamo la maintenace mode e facciamo partire apache:

sudo -u www-data php occ maintenance:mode --off
sudo service apache2 start

Non ci resta altro che controllare sia tutto ok da browser, dopodichè, una volta sicuri che ci sia tutto cancelliamo i file e le dir temporanee:

rm owncloud-XX.X.X.tar.bz2
rm owncloud-old-version.sql
rm -R owncloud-old-version