Docker bidezko Nextcloud instalazio baten migrazioa nola egin

Batzuetan Nextcloud instalazio bat zerbitzariz aldatu behar izaten da, adibidez, zerbitzaria zaharkitua geratu delako. Artikulu honetan Docker bidez egindako Nextcloud instalazio bat beste zerbitzari batera nola migratu azalduko dugu.

  1. Zerbitzari berrian oinarrizko azpi-egitura (Nextcloud + MariaDB , kasu batzuetan baita Collabora edo LibreOffice Online, edo Redis…) martxan jarri docker-compose erabiliz.
    Nextcloud-en URLa aldatu bada, berria jarriko dugu docker-compose.yml fitxategian Collabora/LOOLen konfigurazioan.
  2. Jatorrizko zerbitzariko Nextcloud instalazioaren barruko config/config.php fitxategian mantenu modua aktibatuko dugu (occ komandoa erabiliz ere egin daiteke)
    "maintenance" => true,
  3. 6-7 minutu itxaron, sinkronizazio bezeroek mantenuan dagoela ikus dezaten.
  4. Datu-basearen dump bat sortu:
    docker exec DATU_BASEAREN_EDUKIONTZIAREN_IZENA mysqldump --single-transaction -h localhost -u DATU_BASEKO_ERABILTZAILEA -pDATU_BASEKO_PASAHITZA DATU_BASEAREN_IZENA > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

    Kontuan izan -p eta datu-baseko pasahitzaren artean ez dela zuriunerik utzi behar.

  5. Datu-basearen dump-a helburuko zerbitzarira kopiatu, adibidez, scp erabiliz.
    scp /jatorrizko/zerbitzariko/nextcloud-sqlbkp_202UHHEE.bak erabiltzailea@zerbitzari_berriaren_domeinua.eus:/nahi/dugun/bidea/

    • Zerbitzari berrian 22 ez den ataka bat erabiltzen badugu SSH zerbitzuarentzat, -P erabiliz zehaztu dezakegu. Adibidez, scp -P 2222
    • /jatorrizko/zerbitzariko/nextcloud-sqlbkp_202UHHEE.bak jatorrizko zerbitzariko datu-basearen dump fitxategiaren bidea da.
    • erabiltzailea zerbitzari berrian fitxategia kopiatzeko erabili nahi dugun erabiltzailea da. SSH erabiltzeko eta helburuko karpetan idazteko baimenak izan behar ditu.
    • zerbitzari_berriaren_domeinua.eus-en ordez dagokiona jarri.
    • /nahi/dugun/bidea/  zerbitzari berrian dump fitxategia non kopiatu nahi dugun adierazteko erabiltzen da. Fitxategi-izena jartzen bazaio izen hori jarriko dio kopiari, bestela jatorrizko izena mantentzen du.
  6. Zerbitzari berriko dump fitxategia datu-basearen kontainer barrura kopiatuko dugu:
    docker cp /nahi/dugun/bidea/nextcloud-sqlbkp_202UHHEE.bak DATU_BASEAREN_KONTAINERRAREN_IZENA:/dmpAurreko pausoan erabilitako bidea eta fitxategi-izena, eta datu-basearen kontainerraren izena jarri behar dira.
  7. Helburuko zerbitzarian datu-basea hustu:
    docker-compose exec db sh -c "mysql-u ERABILTZAILEA -pPASAHITZA -e 'DROP DATABASE nextcloud'Lehen pausoan datu-basearen kontainerra sortzean erabilitako erabiltzaile eta pasahitza jarri behar dira.
  8. Datu-base huts berri bat sortuko dugu:
    docker-compose exec db sh -c "mysql -u ERABILTZAILEA -pPASAHITZA -e 'CREATE DATABASE nextcloud'"
  9. Seigarren pausoan kontainer barrura kopiatu dugun dump fitxategia kargatuko dugu datu-basean.
    docker-compose exec db sh -c "mysql -u ERABILTZAILEA -pPASAHITZA nextcloud < /dmp"
  10. Kontainer barruko dump fitxategia ezabatuko dugu, dagoeneko ez baitugu behar.
    docker-compose exec db rm /dmp
  11. Jatorrizko zerbitzariko Nextcloud-en fitxategiak zerbitzari berrira pasa, adibidez, rsync erabiliz:
    rsync -Aax volumes/nextcloud/_data erabiltzailea@zerbitzari_berriaren_domeinua.eus:/nahi/dugun/bidea/volumes/nextcloud/_dataHelburuko zerbitzarian 22 ez den ataka bat erabiltzen badugu beste komando hau erabili:
    rsync -avz -e 'ssh -p ATAKA_ZENBAKIA' volumes/nextcloud/_data erabiltzailea@zerbitzari_berriaren_domeinua.eus:/nahi/dugun/bidea/volumes/nextcloud/_data
  12. Helburuko zerbitzariko config/config.phpeditatu: adibidez, URLa aldatu bada, datu-basearen izena, erabiltzailea, pasahitza, IPa eta ataka…
  13. DNSan aldaketak egin, domeinua zerbitzari berrira zuzentzeko.
  14. DNS aldaketak hedatzen direnean, mantenu modua kendu.

Beste albiste batuzk: