Een PrestaShop-winkel migreren met DataFirefly Server Migration
Controleer de winkel, maak het pakket aan, verstuur het naar de nieuwe server, herstel het met de zelfstandige installer en ga live met de checklist.
Overzicht
DataFirefly Server Migration verhuist een complete PrestaShop-winkel, bestanden en database, naar een nieuwe server, een nieuw domein of een submap. De back-office leidt u door vijf stappen: Controles, Pakket, Overdracht, Herstellen en Livegang. Op de nieuwe server herstelt een zelfstandige installer de winkel en herschrijft hij alles wat van de oude server afhangt.
Uw huidige winkel wordt alleen gelezen: bestanden worden alleen-lezen geopend en de database wordt met leesquery’s geëxporteerd. De module schrijft uitsluitend in zijn eigen opslagmap.
De module werkt op PrestaShop 1.7.8 tot 9.x met PHP 7.1 tot 8.5. De back-office en de installer zijn vertaald in het Engels, Frans, Spaans, Duits, Italiaans, Pools, Nederlands en Portugees.
Installatie
- Klik in Modules > Modulebeheer op Upload een module en sleep het bestand
dfservermigration-2.0.1.zipin het venster. - Open Geavanceerde instellingen > Servermigratie.
Alleen superbeheerders kunnen de module gebruiken: een pakket bevat de volledige database van de winkel.
Stap 1: controles
De eerste stap analyseert de winkel en de server. De vier tegels bovenaan tonen de te kopiëren bestanden, de database, het geschatte pakket (gecomprimeerd, met het slechtste geval zonder compressie) en de vrije schijfruimte. Een banner vat het resultaat samen: alles is klaar, er zijn aandachtspunten of er zijn blokkerende punten.

Controles vooraf
- PHP-versie en -extensies: pdo_mysql is vereist; zlib, cURL en OpenSSL worden aanbevolen (compressie, directe overdracht, versleuteling van het HTTP-wachtwoord).
- max_execution_time en memory_limit: het werk wordt opgesplitst in stappen van enkele seconden, dus elke tijdslimiet werkt.
- upload_max_filesize / post_max_size: niet beperkend op deze winkel. Op de nieuwe server past de installer de grootte van de overdrachtsblokken aan zijn eigen limieten aan.
- Opslag van pakketten: buiten de webroot als de hosting dat toestaat. Anders in een willekeurige map met weigerregels, en uw browser controleert of een pakket niet via het web kan worden gedownload.
- Vrije schijfruimte: vergeleken met het geschatte pakket. Schakelt uw host
disk_free_space()uit, dan verschijnt er een waarschuwing in plaats van een meting: controleer de ruimte dan in uw hostingpaneel. - Databaseserver: versie en max_allowed_packet.
Grootteanalyse
De grootste mappen en tabellen worden getoond met een knop Uitsluiten. Wordt er in een submap een andere PrestaShop-installatie gevonden (een stagingkopie, een oude winkel), dan stelt een melding voor om die uit te sluiten.
Stap 2: het pakket
Wat wordt meegenomen
- Bestanden + database: de volledige migratie.
- Alleen database: de laatste synchronisatie van bestellingen en klanten, vlak voor de omschakeling.
- Alleen bestanden: thema’s, afbeeldingen, modules.
Caches, logs, back-ups van 1-Click Upgrade en Git-mappen worden standaard weggelaten. U kunt ook de gegenereerde miniaturen weglaten (genereer ze daarna opnieuw via Design > Afbeeldingsinstellingen), eigen patronen toevoegen (één per regel, * binnen een map, ** over meerdere mappen) en bestanden boven een bepaalde grootte overslaan. De optie Lichtere database exporteert bezoekersstatistieken en logs als lege tabellen.
Symbolische links: links die binnen de winkel wijzen, worden opnieuw als links aangemaakt. Links die buiten de winkel wijzen, bijvoorbeeld een uploads-map die elders is opgeslagen, worden als echte mappen gekopieerd: de nieuwe server heeft hun doel niet. Kapotte links, lussen en systeemmappen worden overgeslagen en in het rapport vermeld. U kunt dit uitschakelen met de optie Inhoud kopiëren van symbolische links die buiten de winkel wijzen.

Het pakket aanmaken
Klik op Pakket aanmaken. Het paneel toont de fasen (scan, export van de database, inpakken, controle), de tellers, de snelheid, de resterende tijd en het logboek. U kunt de pagina gerust verlaten: het aanmaken gaat verder waar het was gebleven zodra u terugkomt. Het logboek kunt u op elk moment downloaden.

Aan het einde wordt het pakket gecontroleerd en in de lijst gezet, met de inhoud, de grootte, de ruimte die het op de nieuwe server nodig heeft en de datum waarop het automatisch wordt verwijderd (standaard na 3 dagen, in te stellen in de geavanceerde instellingen).

Schijfruimte
Vóór de start vergelijkt de module de vrije ruimte met het geschatte pakket. Past het niet, dan wordt de start geweigerd, met de cijfers en de oplossing erbij. U kunt toch beginnen: het aanmaken is beveiligd.

Tijdens het aanmaken houdt de module minstens 128 MB vrij, zodat de live winkel blijft werken. Raakt de ruimte op, dan pauzeert het aanmaken en ziet u hoeveel ruimte er nog nodig is en wat u kunt doen. Maak ruimte vrij of sluit mappen uit en klik daarna op Opnieuw proberen: het aanmaken gaat verder waar het was gestopt. Met Gedeeltelijke bestanden verwijderen annuleert u het netjes.

Stap 3: overdracht
De installer op de nieuwe server plaatsen
Download dfsm-installer.php en upload het bestand naar de map waarin de winkel komt (meestal public_html of www). De nieuwe server heeft PHP en een lege database nodig, geen PrestaShop. Elke installer is standaard 3 dagen geldig en wordt beveiligd met de migratiesleutel die naast de knop staat.
Directe overdracht (aanbevolen)
- Voer het adres van de installer op de nieuwe server in. Gebruik vóór de DNS-omschakeling het tijdelijke adres dat u van de nieuwe host hebt gekregen.
- Klik op Verbinding testen: de module controleert de versie van de installer, de PHP-versie voor uw PrestaShop-versie, de vrije ruimte voor dit pakket en de schrijfrechten.
- Kies het pakket en klik op Naar de nieuwe server verzenden.
Het pakket reist in blokken die met HMAC-SHA256 zijn ondertekend. Een onderbroken overdracht gaat verder vanaf de laatste bevestigde byte, en Stoppen verwijdert het gedeeltelijke bestand op de nieuwe server. Voor een beveiligde map of een server zonder geldig certificaat opent u HTTP-authenticatie en SSL.

Downloaden en uploaden via FTP
Download het pakket uit de lijst en upload het in binaire modus naast dfsm-installer.php. De installer vindt het vanzelf en weigert een afgebroken bestand.
Stap 4: herstellen met de installer
- Open
dfsm-installer.phpin uw browser, kies uw taal en voer de migratiesleutel in. - Kies het ontvangen of geüploade pakket.
- Controleer de nieuwe server: PHP vergeleken met de versies die uw PrestaShop-versie ondersteunt, extensies, vrije ruimte vergeleken met het pakket, schrijfrechten, limieten en een eventuele bestaande site in de map.
- Voer de nieuwe database in en test de verbinding. De installer vergelijkt de server met de bron, controleert max_allowed_packet en telt de tabellen die het prefix al gebruiken.
- Controleer de domeinen: één regel per winkel-URL met het nieuwe domein, het SSL-domein en de basismap. U kunt hier ook het tabelprefix wijzigen.
- Klik op Herstel starten.

Het herstel pakt de bestanden uit, maakt de symbolische links van PrestaShop 9 opnieuw aan, importeert de database, werkt ps_shop_url en de domeininstellingen van elke winkel bij, vervangt de oude URL’s in alle tabellen (inclusief geserialiseerde gegevens; e-mailadressen blijven ongemoeid), schrijft app/config/parameters.php, laat PrestaShop .htaccess opnieuw genereren en leegt de caches. Houd de pagina open; wordt ze toch gesloten, open de installer dan opnieuw en het herstel gaat verder.

Na het herstel
Het laatste scherm toont de cijfers van het herstel, automatische controles (databaseverbinding, hoofd-URL van de winkel, .htaccess, back-officemap, beschrijfbare mappen, homepage) en een checklist voor livegang. Het pakket en het databasewachtwoord zijn dan al van de server verwijderd. Klik op Installer nu verwijderen zodra u de winkel hebt gecontroleerd; anders verwijdert de installer zichzelf 24 uur later.

Stap 5: livegang
De checklist in de back-office houdt de laatste taken bij: de nieuwe winkel testen, de oude bevriezen en de laatste gegevens synchroniseren met een pakket met alleen de database, DNS, SSL-certificaat, cronjobs, e-mails, cache, webhooks van betalingen, SEO en opruimen.

Zo raakt u geen enkele bestelling kwijt: test de nieuwe winkel, zet de oude in onderhoudsmodus, maak een pakket Alleen database aan en herstel het met een nieuwe installer. De databasetoegang van de al herstelde winkel is vooraf ingevuld; laat het wachtwoord leeg om het huidige te behouden.
Beveiliging
- Pakketten worden waar mogelijk buiten de webroot opgeslagen en na de bewaartermijn automatisch verwijderd.
- Het HTTP-wachtwoord van de nieuwe server wordt versleuteld opgeslagen in de configuratie.
- De installer vereist de migratiesleutel, weigert niet-ondertekende verzoeken, verzegelt het databasewachtwoord en wist het aan het einde, en verwijdert zichzelf 24 uur na het herstel of wanneer hij verloopt.
- Nieuwe sleutel in stap 3 maakt alle eerder gedownloade installers ongeldig.
Probleemoplossing
Pakketten KUNNEN via het web worden gedownload
Uw server negeert .htaccess (Nginx). Voeg een regel toe die de toegang tot /modules/dfservermigration/var/ weigert voordat u een pakket aanmaakt.
De nieuwe server weigert de verbinding of vraagt om inloggegevens
Controleer het adres van de installer (http of https, www). Bij HTTP 401 vult u de velden voor HTTP-authenticatie in. Bij HTTP 413 verkleint u de blokgrootte voor de overdracht in de geavanceerde instellingen.
De installer heeft de migratiesleutel geweigerd
Sinds het downloaden van de installer is er een nieuwe sleutel gegenereerd, of de klokken van beide servers lopen meer dan 15 minuten uiteen. Download de installer opnieuw.
SQL-fout tijdens de import
De installer toont de tabel en het detail. Gaat het om max_allowed_packet, vraag uw host dan om die waarde te verhogen tot 16 MB of meer en klik op Opnieuw proberen: de huidige tabel wordt opnieuw geïmporteerd.
.htaccess kon niet opnieuw worden gegenereerd
Het domein is er toch in bijgewerkt. Sla in de nieuwe back-office één keer Winkelparameters > Verkeer & SEO op.