Aggiornamento manuale di OwnCloud Server

E’ uscita la nuova versione di Owncloud, la 9.0.0. Owncloud è uno dei più utilizzati ed apprezzati Cloud server, accessibile anche a piccoli computer come i Raspberry e schede simili. Le novità sono piuttosto interessanti (https://owncloud.org/blog/owncloud-server-9-0-released/) per cui ho deciso di aggiornare la versione 8.2 che già utilizzo per uso personale. Per quanto riguarda i Server che amministro nell’Azienda in cui lavoro ho deciso di aspettare ancora che si definisca bene il fatto che le applicazioni Calendario e Contatti sono considerate “deprecate” e quindi sostituite da nuove componenti. A riguardo si possono trovare notizie sul Forum del sito ufficiale, per chi invece vuole procedere ugualmente illustrerò la procedura che ho eseguito per aggiornare il mio server casalingo alla versione 9.

Innanzitutto premetto che trattandosi di una procedura manuale è richiesta una certa confidenza con la shell linux e con i suoi comandi di base, inoltre è saggio provvedere al backup della directory attuale del prodotto (e dei dati, se contenuti nello stesso path) prima di procedere, per ripristinare eventualmente la situazione precedente se qualcosa fosse “andato storto”.

La procedura verrà eseguita da utente “root”, attuabile su ambienti Debian (ma anche Raspbian o Bananian) o Centos / Redhat ( e quindi anche Centos 7 per arm e RedSleeve).

Questa procedura suppone che il server Owncloud sia installato nella directory

/var/www/html/owncloud

sia nel caso si tratti di una distribuzione di tipo Debian che Centos/RedHat e che sia stato effettuato un backup della directory indicata sopra.

1 . Scaricare dal sito Owncloud il pacchetto owncloud-9.0.0.tar.bz2 e copiarlo dentro la directory /var/www/html. NON DECOMPRIMERLO ORA.

2 . Entrare nella directory /var/www/html/owncloud/config ed editare il file config.php inserendo la direttiva

oppure modificarla, se già esistente, da “false” a true”. Salvare il file e riavviare il server apache.

DEBIAN 7 o CENTOS/REDHAT 5/6 versioni (INITD)

DEBIAN 8 o CENTOS/REDHAT 7 versioni (SYSTEMD)

Questo metterà il server in “maintenance mode” per tutti gli utenti collegati in modo tale che non potranno apportare modifiche ai dati, ma soprattutto manterrà la nuova versione in questo stato quando la metteremo in linea fino a che non avremo completato l’upgrade.

Quando saremo sicuri che nessuno è più collegato al cloud fermiamo il web server. Ripetiamo il comando dato sopra sostituendo il comando “stop” a “restart”.

 

3. Rinominiamo l’attuale installazione di Owncloud in Owncloud_old.

 

4. Ora possiamo decomprimere la nuova versione da dentro la directory /var/www/html

questo creerà la nuova cartella “owncloud” contenente la nuova versione.

 

5. Entriamo nella vecchia installazione e copiamo il file config.php nella nuova.

 

6. Ora, se abbiamo mantenuto i dati dentro la cartella owncloud/data copiamoli dentro l’installazione nuova, se abbiamo configurato un path esterno saltiamo questo step, ci penserà il file config.php appena copiato a referenziarli anche nella nuova versione.

e attendiamo la fine della copia, che può impiegare svariati minuti a seconda dei dati memorizzati. Stiamo facendo una copia quindi va da sé che nella partizione dobbiamo avere spazio almeno per il doppio dello spazio cubato dai dati del cloud, altrimenti dovremo provvedere ad eseguire un comando ‘mv’, ovvero move. Il comando move si presenta più rischioso in quanto se lo spostamento non andasse per qualche motivo a buon fine non avremmo più i dati (o parte dei dati) nella posizione originale.

A causa di questo fatto, in previsione di upgrade di Owncloud è sempre bene alla prima installazione portare fuori dalla directory del prodotto la directory dei dati configurando il path nel file “config.php”

 

7. Se stiamo usando applicazioni di terze parti situate in owncloud_old/apps copiarle nella nuova installazione controllando attentamente i diritti dei file.

 

8. Abbiamo agito da utente root: ora dobbiamo assegnare alla cartella “owncloud” e a tutto ciò che vi è sotto la proprietà dell’utente “apache.apache” su Centos/Redhat o “www-data.www-data” su Debian

DEBIAN

CENTOS / REDHAT

 

9. Avviamo il web server. In virtù del file “config.php” copiato in precedenza il nuovo server si avvierà in “maintenance mode”.

DEBIAN 7 o CENTOS/REDHAT 5/6 versioni (INITD)

DEBIAN 8 o CENTOS/REDHAT 7 versioni (SYSTEMD)

 

10. Lanciamo la procedura finale di upgrade. Può volerci anche molto a seconda dei dati presenti sul cloud.

DEBIAN

CENTOS / REDHAT

 

Se tutto è andato bene avremo un output di questo tipo:

 

11. Entriamo in /var/www/html/owncloud/config/config.php e rimettiamo a false la direttiva del maintenance mode. Per ultimo riavviamo il web server con un comando start come descritto prima.

Ora possiamo controllare le connessioni e verificare che tutto sia andato bene.

 

5 pensieri riguardo “Aggiornamento manuale di OwnCloud Server”

  1. Grazie davvero e complimenti per la spiegazione; volevo invece farti se è possibile una domanda: con Owncloud se copio sul server direttamente dei file (nella cartella di un utente) questi file poi non sono disponibili in rete e web, come se non fossero stati “indicizzati” ?
    Mi saprebbe aiutare e spiegare se esiste un modo per copiare a mano sul server e fare che sia poi tutto corretto ? Grazie

  2. Ciao Arturo,
    in effetti copiando “a mano” file o cartelle sulla cartella “data” di un server Owncloud non si ottiene l’indicizzazione sul database MySql o SqLite che sia. E’ necessario forzare un reindex del server da riga di comando tramite il tool “occ”. Supponendo che i path siano gli stessi a cui ho fatto riferimento nell’articolo bisogna entrare nel server come utente root e digitare:

    # su -s /bin/zsh -c ‘php /var/www/html/owncloud/occ files:scan –all’ www-data

    nel caso di una Debian, altrimenti sotto Redhat sostituire la shell con “/bin/bash” e “www-data” con “apache”.
    E’ bene che alle cartelle appena copiate venga data la ownership dell’utente con cui gira Apache con il comando chown -R, quindi utente www-data.www-data su Debian e apache.apache su RedHat.

    Attenzione che il reindexing è un’operazione lunga e forzerà da parte dei Client un rescan completo della propria utenza. E’ possibile effettuare un reindexing selettivo come suggerisce lo stesso comando:

    Please specify the user id to scan, “–all” to scan for all users or “–path=…”

    oppure globale se vengono inserite molte cartelle a diversi utenti. In un server di produzione è una procedura da pianificare in genere come batch notturno, nel caso di un tuo piccolo server personale non c’è problema.
    Spero di esserti stato utile. 🙂

    Maintainer

  3. Salve, volevo sapere se la procedura di aggiornamento manuale possa essere fatta anche all’interno di un piccolo NAS.
    In pratica ho copiato una precedente versione di owncloud dentro la cartella web del NAS che riesco a raggiungere semplicemente attraverso l’indirizzo http://indirizzoNAS/owncloud.
    Volendo fare l’aggiornamento ho letto di posizionare la nuova versione dentro la predetta cartella Web e copiare la cartella data e config della precedente versione.
    Ebbene, la nuova versione si avvia ma mi inviata a limitare i diritti di accesso della cartella data in 0770.
    Fatto ciò, però, mi dà errore http 500 ed appare la pagina bianca.
    Puoi darmi qualche consiglio in merito, anche perchè nei forum dedicati al NAS non sono riuscito a trovare alcuna soluzione.
    Saluti

    1. Ciao,
      prova a dare temporaneamente i diritti 777 alla cartella data e vedere se persiste l’errore. Se tutto andasse ok prova ad abbassare a 774 (sola lettura per “other”) e vedere se continua a funzionare, altrimenti significa che qualcos’altro è stato modificato e così a spanna è difficile darti un consiglio.
      Comunque in genere sui NAS vengono installate sempre delle versioni custom di Linux, e se non si vuole rischiare di “rovinare” qualcosa è bene attenersi al software proposto dal repository del produttore, anche se non in versione troppo recente.

      Maintaner

Lascia un commento