/
Pack Hosting Panel

Hipex migratie stappenplan

Welk stappenplan wordt uitgevoerd bij de migratie naar Hipex?


Uiteraard is het bij het uitvoeren van een migratie belangrijk dat dit zorgvuldig wordt uitgevoerd. Denk hierbij aan het voorkomen van missende orders, testen van de omgeving en het omzetten van mogelijke externe koppelingen.

Om verschillende problemen en plotselinge aankondigingen te vermijden adviseren wij om de migratie voor te bereiden, om ons advies te volgen met met betrekking tot de voorbereiding, klik hier.

In dit artikel zullen wij beschrijven welke belangrijkste stappen ondernomen moeten worden voor het migreren van een applicatie naar een nieuwe server.

1. Testomgeving inrichten en testen

Voor het uitvoeren van een migratie is altijd handig om de applicatie naar wens in te richten op een server binnen Hipex en deze te testen. Hiervoor dient de meest recente code en database geïmporteerd te worden in de omgeving bij Hipex.

Wanneer deze testomgeving ingericht is dient deze getest te worden of alles naar behoren werkt. Hiervoor kan bijvoorbeeld de hostfile of de Base URL aangepast te worden naar de nieuwe server..

Voor meer informatie voor het aanpassen van een Base URL, klik hier.

Indien deze omgeving naar behoren werkt kan de migratie uitgevoerd worden.

2. Applicatie in Maintenance mode

Om te voorkomen dat er zwevende orders worden geplaatst dient de huidige shop tijdelijk in Maintenance mode gezet te worden. Dit zal ook betekenen dat er tijdelijk geen orders geplaatst kunnen worden.

Er zijn verschillende mogelijkheden om de Magento webshop in Maintenance mode te plaatsen. De makkelijkste manier om een shop in Maintenance mode te plaatsen is om het volgende commando uit te voeren:

php bin/magento maintenance:enable

Indien bovenstaand commando niet werkt of niet uitgevoerd kan worden, zal er een bestand aangemaakt kunnen worden die Maintenance mode zal activeren. Hiervoor kan onderstaand commando uitgevoerd worden in de applicatiefolder van Magento:

touch .maintenance.flag

Om te controleren of de Magento omgeving niet bereikbaar is, kun je deze bezoeken door de webshop te bezoeken in de browser. Wanneer deze in Maintenance mode staat zal deze het volgende aangeven:

magento temporarily unavailable

3. Cronjobs deactiveren en activeren op de nieuwe omgeving

Om te voorkomen dat 2 dezelfde cronjobs op 2 verschillende servers draaien is het handig om de cronjobs op de oude omgeving te deactiveren en deze op de nieuwe omgeving te activeren. Om de cronjobs aan te passen op de oude en nieuwe omgeving kan het volgende commando uitgevoerd worden:

crontab -e

In de oude omgeving kunnen deze cronjobs in commentaar gezet worden. Hiervoor dient er een hekje (#) voor de regel geplaatst te worden. De crontab zal er dan als volgt uitzien:

##~ MAGENTO START 
#* * * * * /opt/remi/php72/root/usr/bin/php /home/<user>/domains/<domain>/application/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /home/<user>/domains/<domain>/application/var/log/magento.cron.log
#* * * * * /opt/remi/php72/root/usr/bin/php 
/home/<user>/domains/<domain>/application/update/cron.php >> /home/<user>/domains/<domain>/application/var/log/update.cron.log
#* * * * * /opt/remi/php72/root/usr/bin/php /home/<user>/domains/<domain>/application/bin/magento setup:cron:run >> /home/<user>/domains/<domain>/application/var/log/setup.cron.log
##~ MAGENTO END

Om de cronjobs op de nieuwe omgeving te activeren dient hiervoor het hekje (#) verwijderd te worden voor de cronjobs, de crontab zal er dan als volgt uitzien:

##~ MAGENTO START 
* * * * * /opt/remi/php72/root/usr/bin/php /home/<user>/domains/<domain>/application/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /home/<user>/domains/<domain>/application/var/log/magento.cron.log
* * * * * /opt/remi/php72/root/usr/bin/php /home/<user>/domains/<domain>/application/update/cron.php >> /home/<user>/domains/<domain>/application/var/log/update.cron.log
* * * * * /opt/remi/php72/root/usr/bin/php /home/<user>/domains/<domain>/application/bin/magento setup:cron:run >> /home/<user>/domains/<domain>/application/var/log/setup.cron.log
##~ MAGENTO END

Om meer te weten te komen over hoe je cronjobs instelt klik hier.

4. Een nieuwe dump maken van de database

Om te voorkomen dat er missende producten, orders en informatie missen in de nieuwe omgeving is het noodzakelijk om de nieuwste database gegevens te importeren in de database bij Hipex.

Voor het maken van een database dump vanuit de server van Hipex dient het volgende commando gebruikt te worden:

ssh -p 22 <sshuser>@<servername> mysqldump --single-transaction --quick -u <database_user> -p <database_name> | LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/ROW_FORMAT=FIXED/ROW_FORMAT=DYNAMIC/' | LANG=C LC_CTYPE=C LC_ALL=C sed -e '/ROW_FORMAT/!s/^) ENGINE=InnoDB/) ENGINE=InnoDB ROW_FORMAT=DYNAMIC/' > dump.sql

Hierbij dienen de variabele zoals SSH user, servernaam en database credentials aangepast te worden naar de huidige situatie.

Wanneer deze afgerond is kan je doormiddel van het commando “tail” controleren of de dump correct en compleet is.

$ tail dump.sql

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2020-01-01 00:00:00

5. Importeren van de nieuwe database

Wanneer de dump compleet is dient deze geïmporteerd te worden in de nieuwe omgeving. Hiervoor kan onderstaande commando gebruikt worden:

mysql -u (database_user) -p (database_name) < dump.sql

Vul de juiste database user en naam in van de database die gebruikt gaat worden binnen de omgeving bij Hipex.

Het importeren van de database kan enige tijd duren. Dit komt omdat hij de data van de dump moet verwerken in tabellen in de database.

6. Testen van de omgeving

De omgeving dient goed getest te worden voordat de DNS aangepast wordt. Dit kan gedaan worden door de lokale hostfile van de desbetreffende laptop/computer aan te passen met het IP adres van de server.

Indien alles correct werkt kan de DNS aangepast worden.

7. DNS aanpassen

Bij het aanpassen van de DNS dienen de IP adressen van de oude server vervangen te worden voor de IP adressen van de nieuwe server.

Om te controleren wat de IP adressen zijn van de server, klik hier.

Er zijn verschillende soorten records, de meest belangrijke zijn de A (IPv4 adres) en de AAAA (IPv6 adres) records.

Indien de applicatie mails verstuurd is het belangrijk dat het SPF record wordt aangepast. In het SPF record dienen de IPv4 en IPv6 toegevoegd te worden.

Dit kan door de onderstaande config erin te plakken:

ip4:<IPv4 adres server> ip6:<IPv6 adres server>

8. Koppelingen aanpassen naar de nieuwe IP adressen

Indien de webshop gebruikt maakt van externe koppelingen en deze werken op basis van IP adressen, dienen deze ook aangepast te worden naar de nieuwe IP adressen van de server bij Hipex.

9. Omgeving testen

Indien de DNS is omgezet dient de omgeving getest te worden. Voer hiervoor onder andere een testbestelling uit en probeer meerdere producten toe te voegen aan de winkelwagen.

Het is ook handig om te controleren of INDEX,FOLLOW aanstaat, wanneer deze op NOINDEX,NOFOLLOW staat zal de site niet meer gecrawld kunnen worden.

Indien alles correct staat ingesteld en naar behoren werkt is de migratie succesvol gelukt.

10. Monitoring en backups activeren in Pack

Wanneer de migratie succesvol gelukt is en de webshop naar behoren draait kan de monitoring en (indien nog niet actief) de backups geactiveerd worden.

  1. Log in op pack.hipex.io.
  2. Ga naar de applicatie
  3. Klik op instellingen (tandwiel)
  4. Activeer monitoring en backups
  5. Sla de wijzigingen op

Om meer te weten te komen over backups binnen Hipex, klik hier.