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.
- 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. - Jatorrizko zerbitzariko Nextcloud instalazioaren barruko config/config.php fitxategian mantenu modua aktibatuko dugu (occ komandoa erabiliz ere egin daiteke)
"maintenance" => true,
- 6-7 minutu itxaron, sinkronizazio bezeroek mantenuan dagoela ikus dezaten.
- 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.
- 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.
- Zerbitzari berrian 22 ez den ataka bat erabiltzen badugu SSH zerbitzuarentzat, -P erabiliz zehaztu dezakegu. Adibidez,
- Zerbitzari berriko dump fitxategia datu-basearen kontainer barrura kopiatuko dugu:
docker cp /nahi/dugun/bidea/nextcloud-sqlbkp_202UHHEE.bak DATU_BASEAREN_KONTAINERRAREN_IZENA:/dmp
Aurreko pausoan erabilitako bidea eta fitxategi-izena, eta datu-basearen kontainerraren izena jarri behar dira. - 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. - Datu-base huts berri bat sortuko dugu:
docker-compose exec db sh -c "mysql -u ERABILTZAILEA -pPASAHITZA -e 'CREATE DATABASE nextcloud'"
- Seigarren pausoan kontainer barrura kopiatu dugun dump fitxategia kargatuko dugu datu-basean.
docker-compose exec db sh -c "mysql -u ERABILTZAILEA -pPASAHITZA nextcloud < /dmp"
- Kontainer barruko dump fitxategia ezabatuko dugu, dagoeneko ez baitugu behar.
docker-compose exec db rm /dmp
- 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/_data
Helburuko 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
- Helburuko zerbitzariko
config/config.php
editatu: adibidez, URLa aldatu bada, datu-basearen izena, erabiltzailea, pasahitza, IPa eta ataka… - DNSan aldaketak egin, domeinua zerbitzari berrira zuzentzeko.
- DNS aldaketak hedatzen direnean, mantenu modua kendu.