Posted in Teknologia

Jos Nextcloud-ohjelmiston päivitys keskeytyy, näin se tehdään loppuun komentoriviltä

Päivitys 26.4.2021: päivitys komentiriviltä toimii hienosti myös Nextcloudin versioon 21.

Tähän asti omia pilvipalveluita varten käyttämämme Nextcloud-ohjelmisto on päivittynyt kätevästi verkkoselaimessa. Nextcloud 20 kuitenkin kieltäytyi tästä puoliautomaattisesta päivityksestä, ja jätti sen kesken. Kryptisten virheilmoitusten tutkiminen ei johtanut mihinkään. Päivitys oli täysin jumissa. Oli aika siirtyä komentoriville ja tehdä päivitys käsin. Tässä ohje – loppujen lopuksi se on suoraviivainen prosessi.

Nextcloud-palvelimella olevien muiden ohjelmistojen, kuten web-palvelimen, tietokannan ja PHP:n versiot myös vaikuttavat päivityksen onnistumiseen. Tätä ohjetta tehtäessä käytössä oli Debian 10 Linux-palvelin, jossa Apache 2.4, Mysql/Mariadb 10.3, ja PHP 7.3.

Näin etenee Nextcloudin päivitys komentorivillä

Tee varmuuskopio Nextcloudin tietokannasta.
Nextcloudin päähakemiston alla olevat data ja config -hakemistot olisi myös hyvä varmuuskopioida (siellä on kaikki talletetut tiedostot, joten siinä voi mennä aikaa).

Lataa Nextcloudin versio mihin olet päivittämässä.

Aseta Maintenance mode -tila palvelimeen, jolloin sitä ei pääse käyttämään. Komentorivillä Nextcloudia ohjataan käyttäjänimellä, jolla web palvelinohjelmisto toimii. Apache web palvelimen käyttäjänimi on yleensä www-data, mutta muilla ohjelmistoilla voi olla toinen nimi käytössä, joten alla olevaan komentoon on vaihdettava niiden käyttämä nimi.
sudo -u www-data php occ maintenance:mode --on

Parhaiten komentojen naputtelu onnistuu kun menee Nextcloudin päähakemistoon. Jos occ-komento ei tahdo käynnistyä, kokeile:
sudo -u www-data php ./occ maintenance:mode --on

Nyt on aika purkaa aiemmin ladattu Nextcloudin uusi versio (zip tai tar -paketti) palvelimeen. Uusi versio puretaan vanhan ohjelmistoversion päälle.
unzip nextcloud-n.n.n.zip
tai
tar -xjf nextcloud-n.n.n.tar.bz2

Käynnistä varsinainen päivitys:
sudo -u www-data php occ upgrade

Jos päivitysajo meni ongelmitta loppuun, Maintenance mode -tilan voi ottaa pois päältä:
sudo -u www-data php occ maintenance:mode --off

Pidempi ja paljon yksityiskohtaisempi päivitysohje löytyy Admin manual -dokumentista, jossa on myös ongelmatilanteiden selvitysvinkkejä.

nextcloud 20 päivitys linuxin komentorivillä

Tarkista päivitetyn ohjelmiston tila

Vaikka päivitys olisi tehty onnistuneesti, sillä on saattanut olla heijastusvaikutuksia esimerkiksi aiemmin asennettuihin sovelluksiin. Nextcloud 20 aiheutti joukon ongelmia omassa järjestelmässämme, mutta ne olivat helposti korjattavia tilanteita. Tarkastus on kuitenkin hyvä tehdä.

Mene Nextcloudin admin panel -sivulle (Settings – Administration/Overview). Jos seuraava virheilmoitus näkyy sivulla:

"Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:
nextcloud/apps/dashboard
nextcloud/apps/user_status

Ratkaisu on kyseisen hakemiston ja siellä olevien tiedostojen omistajan muuttaminen web palvelimen käyttämän nimen mukaiseksi. Apachen käyttämä nimi on www-data, joten komento on:
chown -R www-data dashboard
chown -R www-data user_status

Toinen mahdollinen virhetilanne:

"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation. (List of invalid files… / Rescan…)”
Meidän tapauksessamme aiemmin asennetut sovellukset aiheuttivat virheilmoitukset. Integrity check piti sovelluksia ylimääräisinä tiedstoina, joiden ei pitäisi olla järjestelmässä lainkaan.
Ratkaisu tähän oli jättää virheilmoitus huomiotta sillä sovellukset otetaan heti käyttöön kun niistä on version 20 kanssa yhteensopiva versio saatavilla.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *