Migratie (WordPress): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 21: | Regel 21: | ||
# | # | ||
# * "wp db export" geeft compatibiliteitstoring: "Unknown collation: 'utf8mb4_unicode_520_ci'" | # * "wp db export" geeft compatibiliteitstoring: "Unknown collation: 'utf8mb4_unicode_520_ci'" | ||
− | # Daarom deze oplossing ( | + | # Daarom deze oplossing |
+ | # * Additionele foutmelding bij import: | ||
+ | # | ||
+ | # ERROR 1064 (42000) at line 18: You have an error in your SQL syntax; check the manual that | ||
+ | # corresponds to your MySQL server version for the right syntax to use near | ||
+ | # 'TYPE=InnoDB AUTO_INCREMENT=3' at line 9 | ||
+ | # | ||
+ | # Oplossing: Find & replace "TYPE=InnoDB" vervangen door "Engine=InnoDB" | ||
+ | |||
# * Dankzij "cd"-commando hierboven, belandt sql-dump in root van installatie - Da's handig! | # * Dankzij "cd"-commando hierboven, belandt sql-dump in root van installatie - Da's handig! | ||
# | # |
Versie van 16 okt 2017 14:35
Hoe migreer je een bestaande WordPress-site naar een andere locatie? Bv. van ontwikkelomgeving naar productie-omgeving? Kan dit mbv. de CLI?
Inventaris
- WordPress kent iets dat WXR-bestanden heet. Daar heb je oa. een plugin voor, en bijbehorende wp cli-commando's. Maar dit betreft vermoedelijk de migratie van content, en niet van complete sites. [1], [2]
- De Codex-hoofdpagina lijkt te suggereren dat je nooit vanuit WordPress zelf een db-backup kunt maken, maar dat je dat altijd extern moet doen [3]
- Het lijkt erop, dat dit voornamelijk handwerk is [4]
- Duplicator is een migratie-plugin. Ziet er indrukwekkend uit.
Migratie & CLI
Dit artikel laat zien dat gemakkelijk kan via bash. In het voorbeeld hieronder migreer ik example.com
van de ontwikkelomgeving (=mijn laptop) naar een VPS.
Locaal
cd /var/www/example.com # db-export ########### # # * "wp db export" geeft compatibiliteitstoring: "Unknown collation: 'utf8mb4_unicode_520_ci'" # Daarom deze oplossing # * Additionele foutmelding bij import: # # ERROR 1064 (42000) at line 18: You have an error in your SQL syntax; check the manual that # corresponds to your MySQL server version for the right syntax to use near # 'TYPE=InnoDB AUTO_INCREMENT=3' at line 9 # # Oplossing: Find & replace "TYPE=InnoDB" vervangen door "Engine=InnoDB" # * Dankzij "cd"-commando hierboven, belandt sql-dump in root van installatie - Da's handig! # mysqldump --compatible=mysql4 <db_name> > export_bestand.sql # Kopiëer naar VPS ################## # # Inpakken is niet nodig: Het gaat snel genoeg. "in1" is een map voor binnenkomende bestanden # scp -r * dvb1:in1
Doellocatie
- Domeinnaam configureren binnen Apache en WWW-map
cd /var/www/example.com
mv ~in1/* .
- Nieuwe database aanmaken
mysql example_database < db_dump.sql
- Nieuwe database-credentials invoeren in
wp-config.php
- Search-&-replace - Test:
wp search-replace example.com newexample.com --dry-run
- Search-&-replace - Echt:
wp search-replace example.com newexample.com
- SQL-bestanden opruimen in
~/in1
enexample.com
- Maprechten bijwerken:
chmod -R o+w wp-content/uploads && chmod -R o+w wp-content/themes # Klopt "&&" wel?
Storingen db-import
Oorzaak: Server-versie = 5.5, werstation-versie = 5.7. Zie Upgrade MySQL voor de oplossing.
Archiefbestand in gebruik nemen - Een lijstje
Dit betreft een situatie waarin ik een backup van een site kreeg als een archiefbestand, inclusief een backup van de databae.
- Db-connection string aanpassen in wp-config.php
- Variabelen WP_HOME en WP_SITEURL aanpassen in wp-config.php:
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
- Inloggen in admin-account
- .htaccess-bestanden aanpassen?
- Browsercache legen ivm. eventuele redirects!!!
Een lijstje dat ik van iemand kreeg:
- database inladen
- aanpassen van wp-config file naar je lokale database
- database strings aanpassen naar je lokale url
- inloggen
- permalinks Resetten. Kwestie van gewoon een keer de permalinks instellingen opslaan.
- daarna zou je de taal van wordpress kunnen aanpassen.
... Wordt vervolgd.
Archiefbestand in gebruik nemen - Casus maart 2017
- Bestanden & database verplaatst
- wp-config.php: db-string, wp_home & wp_siteurl aangepast
- Ingelogd in wp-admin
- Permalinks paar keer ververst (ze stonden al goed)
- Browsercache geleegd - Dit bleek cruciaal te zijn
- Site bezocht - Klaar.
Archiefbestand in gebruik nemen - Casus april 2017
- Bestanden & database verplaatst
- wp-config.php: Database-string aangepast
- wp-config.php: wp_home & wp_siteurl toegevoegd: Ze stonden er nog niet in, maar de site redirecte wel steeds naar de oorspronkelijke locatie
- Bestandsrechten fixen map backup-guard ivm. foutmelding
SGExceptionForbidden: Permission denied. Directory is not writable: /var/www/example.com/wp-content/uploads/backup-guard/
- Inloggen in wp-admin