Alles wat u wilt weten voordat u installeert.
Een gedetailleerde blik op hoe Back-upplugin Shopware 6: DfBackup SW, Database en Bestanden, AES-256-encryptie, S3/FTP/Dropbox, Herstel in 1 Klik werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.
Een echte Shopware-back-up, geen geknutseld script
De meeste Shopware back-upoplossingen beperken zich tot het aanroepen van mysqldump en het inpakken van de map, wat in productie drie problemen oplevert: mysqldump is op veel shared hostings niet beschikbaar, shell_exec is vaak uitgeschakeld, en onversleutelde archieven die op de schijf blijven staan zijn een tijdbom bij een inbraak. DfBackup SW lost die drie punten op: database-dump in pure PHP via DBAL, archivering via ZipArchive, en optionele geauthenticeerde AES-256 encryptie met een gebruikerspassphrase. Dat alles werkt zonder bijzondere sysadminconfiguratie, op shared hosting net zo goed als op een VPS.
Een dump die het Shopware-schema begrijpt
Een naïeve SQL-dump breekt op Shopware: de primaire sleutels zijn UUID's in BINARY 16 die als hexadecimale literalen moeten worden uitgeschreven, sommige kolommen zijn gegenereerd (STORED of VIRTUAL) en mogen nooit in de INSERT-statements voorkomen, en de views moeten na de tabellen opnieuw worden aangemaakt. DfBackup SW handelt dat allemaal native af: inspectie via SHOW FULL COLUMNS per tabel, uitsluiting van de gegenereerde kolommen, hex-encodering van de binaire kolommen, keyset-paginering op de gehele primaire sleutels voor grote tabellen (order, log_entry), en de views als laatste gedumpt. Het geproduceerde bestand importeert netjes terug, instructie per instructie, met FOREIGN_KEY_CHECKS uitgeschakeld tijdens de import.
AES-256 encryptie met HMAC: encrypt-then-MAC correct uitgevoerd
Het encrypt-then-MAC patroon is de aanbevolen standaard voor symmetrische schema's: eerst versleutelen, daarna een HMAC berekenen over de ciphertext. Bij het lezen wordt de HMAC gecontroleerd vóór de ontsleuteling, wat bescherming biedt tegen bit-flip attacks en padding oracle attacks. De gebruikerspassphrase gaat door PBKDF2-SHA256 met 120000 iteraties om afzonderlijke encryptie- en HMAC-sleutels af te leiden. De encryptie gebeurt in streaming per blok van 1 MiB met handmatige CBC-chaining: een archief van 5 GB wordt versleuteld met dezelfde geheugenvoetafdruk als een archief van 50 MB. Het binaire formaat (magic header, salt, IV, HMAC, ciphertext) is gedocumenteerd en auditeerbaar.
Native S3 SigV4: multipart, MinIO, R2, OVH, Scaleway, Wasabi, B2
In plaats van de officiële AWS SDK mee te leveren, implementeert DfBackup SW AWS Signature V4 rechtstreeks in cURL. Nul extra Composer-afhankelijkheden, en een canonieke ondertekening die compatibel is met alle diensten die S3 spreken. U kunt de plugin richten op Amazon S3, MinIO op uw eigen VPS, Cloudflare R2 (10 GB gratis, nul uitgaande kosten, ideaal voor back-ups), OVH Object Storage, Scaleway, Wasabi of Backblaze B2, door alleen het endpoint en de regio aan te passen. Boven 100 MB schakelt de upload automatisch over op multipart met delen van 10 MB, waardoor u meerdere gigabytes kunt overdragen zonder het geheugen te verzadigen.
Push-replicatie: een nachtelijke staging zonder sysadminconfiguratie
Dit is de functie die DfBackup SW onderscheidt: elke back-up naar een tweede Shopware-installatie duwen. U installeert de plugin op uw productie en op uw staging, u deelt een gemeenschappelijk secret, u activeert Replicatie als bestemming. Bij elke back-up, handmatig of gepland, wordt het archief in HMAC-SHA-256 ondertekende chunks van 8 MB geupload naar speciale endpoints op de doelinstallatie, met anti-replay via tijdstempel met een tolerantie van 5 minuten. Als de auto-restore optie aan de doelzijde actief is, wordt de back-up automatisch toegepast: uw staging weerspiegelt de productie van de vorige dag vanaf de volgende ochtend. Gecombineerd met de domeinmigratie is de kloon onmiddellijk bereikbaar op zijn eigen domein. Geen rsync of sysadmin cronscripts meer nodig.
Herstel in 1 klik met een vangnet
Een herstel is de meest riskante operatie in de levenscyclus van een webshop: u overschrijft de levende database, u vervangt de bestanden, en als er iets misloopt is terugkeren complex. DfBackup SW voegt een automatisch vangnet toe: vóór elk herstel wordt er stilzwijgend een beschermde database-snapshot aangemaakt. Als het herstel halverwege mislukt, zet u die snapshot terug en bent u in enkele minuten weer in de oorspronkelijke staat. De tabellen van de plugin worden tijdens een herstel nooit overschreven, dus uw back-uphistoriek blijft bewaard, ook wanneer u een versie van zes maanden geleden terugzet. De expliciete bevestiging (RESTORE typen) voorkomt verkeerde handelingen.
Messenger, ScheduledTask en web-cron: achtergrondverwerking op zijn Shopwares
DfBackup SW steunt op de native infrastructuur van Shopware: de back-ups worden als asynchrone Symfony Messenger berichten verstuurd en door de worker uitgevoerd, zonder de admin of de storefront te blokkeren. Een native ScheduledTask controleert om de 10 minuten of er een geplande back-up moet vertrekken (daily, weekly of monthly, doeluur, venster van 30 minuten, ontdubbeling over 60 minuten). Voor hostings zonder systeemcron of permanente worker neemt een web-cron via een met token ondertekende URL het over: roep de URL om de 10 tot 15 minuten aan vanuit cron-job.org of uw monitoring, en de interne planningspoort doet de rest. De beheermodule toont de voortgang live met 15 gepolde mijlpalen.
Auditlogboek, waarschuwingen en meldingen: verdediging in de diepte
Drie complementaire mechanismen zorgen ervoor dat er geen enkele back-up verloren gaat zonder dat iemand het merkt. Het auditlogboek registreert elke gevoelige actie (starten, herstellen, verwijderen, verifiëren, downloaden) met het adminaccount, het IP en de tijdstempel. De waarschuwing in de module signaleert of de laatste geslaagde back-up ouder is dan N dagen. De meldingen vertrekken per e-mail (Symfony Mailer, succes of mislukking naar keuze) en per webhook met automatische formaatdetectie: Slack, Discord, Microsoft Teams of generieke JSON voor uw eigen integraties.
There are no reviews yet.