WORDPRESS ? Of COURSE ! CURSUS: 'Zelf je website maken ZONDER technische kennis en met GRATIS tools' Deel 2 : MIGRATIE VAN WORDPRESS
MIGRATIE VAN EEN WP PLATFORM MET EEN BACKUP PLUGIN
Er zijn een aantal manieren om een WordPress installatie van server te veranderen. Wij gaan dit doen met behulp van een simpele Plugin : Backup And Move Deze eenvoudige backupmodule doet wat het moet doen: – een copie maken van ALLE WordPRess gegevens, inclusief thema's, plugins, mediagegevens en uiteraard de software zelf. – Een copie maken van de volledige mySQL WordPress database. Al deze gegevens komen in één ZIP file terecht welke onmiddellijk kan gedownload worden naar je PC, waar je ze kunt bijhouden in een speciale backupmap. De plugin voorziet 2 opties : Backup Move: Hier wordt de backup gecreëerd. Het enige wat gevraagd wordt is de naam. Kies een relevante naam op basis van de datum zoals : BUJJMMDD zodat alle backups handig achter elkaar komen in de map op je PC. Gaat het om een grote backup dan kun je vragen een email te sturen na beeindiging.
De andere module bevat het beheer van de verschillende backups. Hier kan je de backup downloaden en/of deleten van je website (na het downloaden bvb om plaats te sparen op je server).
Zeer eenvoudig allemaal, maar het vraagt wel telkens een persoonlijke tussenkomst voor het starten van een nieuwe backup. Er is dus geen automatische 'scheduling' voorzien. Dit is misschien niet zo handig als je met een levendige website zit waarvan de inhoud zeer veel veranderd. Wil je meer functies dan kan je later zelf overschakelen naar een andere backupmodule als je daar de behoefte toe voelt. Nu volstaat het standaard een backup te doen bij elke nieuwe installatie van WordPress (in het begin is het misschien nuttig om tussendoor toch regelmatig een backup te doen tot je website helemaal in orde is). RESTORE VAN DE BACKUP Het handige aan deze plugin is het 'MOVE' gedeelte van de naam. Het is namelijk mogelijk om aan de hand van deze backup een verhuis te doen naar een andere server of website. Veronderstel dat je tot hiertoe een voorlopige website aangemaakt hebt op een test domein dat je nog ergens in je kast had liggen (ik heb er altijd enkele die in onbruik zijn geraakt) en je wil de gegevens nu echt transfereren naar een nieuw domein dat je geregistreerd en gehost hebt, dan kan je hier mee verder. Vermits we een bestaande WP installatie willen restoren en dus niet willen vertrekken van een nieuwe blanco WordPress installatie, moeten we een andere manier dan Cpanel vinden om deze gegevens naar onze nieuwe server up te loaden. Daarvoor hebben we een speciaal bestandje meegekregen : restore.php. Dit stukje software zal al onze gegevens terugzetten, inclusief de database gegevens. Er zijn echter eerst een aantal zaken vereist, met name : – een MySQL database aanmaken op je nieuwe domein. – De backup ZIP file uploaden naar je nieuwe website –
de restore uitvoeren.
Laat ons beginnen met het aanmaken van de database. Dit is een onderdeel dat normaal automatisch bij de installatieprocedure van WordPress in Fantastico De Luxe wordt uitgevoerd en we nu dus zelf moeten doen. Hiervoor maken we terug gebruik van ons server control panel, wat in ons geval dus CPANEL is:
Onder Databases klik je op het linkse icoon MySQL Databases :
Het betreft hier als voorbeeld een manuele installatie van een database op www.tweetcashpro.com. De usernaam die gebruikt is bij de creatie van de website is tweetpro. Deze usernaam zal gebruikt worden als voorvoegsel bij de databasenaam en de usernaam. Vermits bij de automatische installatie van WordPress standaard de naam 'wrdp1' gebruikt wordt, nemen we dit als voorbeeld en vullen we dit in onder 'Create New Database'. Na het indrukken van de toets 'Create Database' vervolgen we met de creatie van de user: Gemakkelijkheidhalve nemen we hiervoor gewoon dezelfde naam: wrdp1. We kunnen daarbij zelf een paswoord bedenken of een laten gegereren door de Password Generator. Met deze laatste zijn we 100% zeker van de veiligheid. Copieer dit paswoord wel naar je werkblad zodat je dit zeker niet kwijt geraakt. Vink het vakje aan dat je dit gedaan hebt en druk dan 'Use Password'. Het paswoord zal dan automatisch ingevoegd worden in beide velden.
Het enige wat je nu nog moet doen is de user daadwerkelijk creëren met de toets 'Create User':
TIP: Firefox heeft als een van de vele voordelen dat alle paswoorden bijgehouden worden zodat je bij het oproepen van een bepaalde link waar een paswoord vereist is dit onmiddellijk ingevoerd wordt. Het bespaart je heel wat kopzorgen en opzoekingswerk. Je kan trouwens een lijst van paswoorden opvragen op elk moment (Firefox->Extra->Opties->Beveiliging->Opgeslagen Paswoorden->(Zoeken)->Paswoord Tonen).
Hiermee hebben we een onafhankelijke user aangemaakt die we enkel nog moeten linken aan de juiste database. We selecteren onze (enige) database tweetpro_wrdp1 en onze (enige) user tweetpro_wrdp1 en drukken op 'Add'.
Nu moeten we de 'Privileges' nog goed zetten. Hiermee duiden we aan wat deze user allemaal mag doen: lezen, schrijven, veranderen, verwijderen, uitvoeren....
Vermits we zelf de creator zijn van onze eigen database willen we ALLES kunnen doen, tot het verwijderen van de hele database toe. Later kunnen we zelf beslissen of er eventueel nog users bijgemaakt moeten worden die we dan uiteraard niet zoveel privileges geven. Vink dus bovenaan het vakje 'All Privileges' en druk op 'Make Changes'. Je krijgt dan nog volgende bevestiging: MySQL® Database Wizard User tweetpro_wrdp1 was added to the database tweetpro_wrdp1.
Het resultaat vind je terug onder 'Current Databases':
De tweede stap is om de BACKUPFILE naar de server up te loaden. Je zou dit kunnen doen met een FTP programma (FileZilla, CoreFTP...), maar dat vergt weer een nieuwe leerproces en het is de bedoeling niet meer technisch inzicht top te doen dan minimaal nodig is. Trouwens voor het gebruik van een eenvoudige website moet men zo weinig mogelijk extra programma's gebruiken. Cpanel (in ons geval) leent zich perfect om de meest courante acties te nemen wat betreft het onderhoud van de volledige website. Voor het beheer van de bestanden gebruiken we de File Manager:
We krijgen nu het scherm van de File Manager. Opgelet: vermits er nog gegevens in de rootmap stonden (de originele websiteinhoud) heb ik een nieuwe directorie aangemaakt : 'wp'. Hierin gaan we de backup van een andere website stockeren en installeren, zodat je weet dat dit ook kan: Zoals je ziet staan in deze directorie geen bestanden. De database zit ergens anders op een ander niveau in de website en kan men niet zien en dus niet bewerken met de gewone File Manager. Hiervoor bestaat een andere tool in Cpanel : phpMyAdmin welke enkel interessant is voor de meer gevorderde gebruiker.
Bovenaan bevindt zich een menu dat men gebruikt voor de 'maintenance' van de websitebestanden. De meeste functies kennen we ook van onze eigen PC als het gaat om mappen en bestanden te bekijken, toe te voegen en te verwijderen. De functie 'Upload' is echter nieuw en zorgt ervoor dat we bestanden van onze PC naar onze SERVER kunnen opladen. Je moet er wel voor zorgen dat je in de juiste map staat in je website ('/public_html/wp/'). Bij het aanklikken verschijnt nu:
In deze drie lijnen kan je individuele bestanden of een hele map met submappen selecteren. Kom je niet toe met drie lijnen, dan kan je extra lijnen toevoegen met de 'Add Another Upload Box'. Indien er reeds bestanden/mappen bestonden kan je deze overschrijven door het vakje 'Overwrite Existing Files' aan te vinken. Blader naar de folder waarin het backupbestand zit en klik dit aan. De upload zal direct starten. Ondertussen ga je in de tweede lijn op zoek naar het bestand 'restore.php'.
Als beide bestanden opgeladen zijn en we gaan terug naar de File Manager hebben we volgende situatie:
Beide bestanden zijn opgeladen op de server! Derde stap: starten van het restore proces. We openen nu een nieuw tab in onze (Firefox-)browser en tikken de link in die leidt naar de restore file (denk eraan: we moeten de subdirectory /wp/ meegeven in onze link!) : www.tweetcashpro.com/wp/restore.php Onmiddellijk krijgen we een invulscherm voorgeschoteld waarop we de gegevens van onze website en onze nieuwe database moeten ingeven:
Als Previous URL moeten we de websitenaam geven waar de backup genomen is (in ons geval een subdomein van onze showcase www.perzischeKittens.be). De New URL is uiteraard de directory waar we WordPress willen installeren en waar we de files hebben opgeladen. Dan worden de database gegevens opgevraagd. Standaard zal 'localhost' moeten ingevuld worden
onder 'Database Host' en de namen van de database en user, gevolgd door het paswoord. Hier zie je waarom het zo belangrijk is deze gegevens ergens te noteren. Zodra dit ingevuld is en we op 'Restore' gedrukt hebben kunnen we de verwerking volgen:
Indien het programma hier een foutmelding geeft moet je terug gaan naar het vorige scherm en controleren of de gegevens wel correct zijn. Het zit soms in een klein hoekje : punt, letter, nummer... Als alles goed verlopen is kunnen we nu onze nieuwe WordPress installatie bekijken door de link opnieuw in te tikken zonder de /restore.php :
Het zou kunnen dat als je probeert om een bericht op te vragen je een error krijgt (onbestaande link) dan moet je in je dashboard onder 'Permalinks' gewoon nogmaals de 'Update' toets indrukken. Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request...
Er blijven echter nog een aantal problemen op te lossen ! Immers, WordPress is zodanig ingesteld dat een verhuis naar een andere plaats, zij het binnen hetzelfde domein, zij het naar een andere website, nooit voor 100% correct is. Er dienen dus nog een aantal bewerkingen gedaan te worden : – de links die verwijzen naar mediagegevens (foto's, video's, audio) aanpassen (plugin!). – de media terug inladen in de bibliotheek (plugin!). – de (text)widgets terug installeren (manueel!). 1. De linksettings wijzigen. Dit wil zeggen dat alle verwijzingen naar links van foto's en andere media dezelfde is als vroeger, wat in ONS geval problemen geeft. Zoals je nog wel weet hebben we een backup gemaakt van een WP installatie die in de ROOT map stond. Deze hebben we nu geplaatst in een subdirectory van een andere website (/wp/). Hierdoor verwijzen de links van de foto's die we in onze berichten geplaatst hebben nog naar de /wp-content/uploads/jjjj/mm/ directory van onze rootmap en krijgen we een blanco beeld te zien van al onze foto's. De reden hiervoor is dat bij het plaatsen van de foto in het bericht deze links als onderdeel van de (html)tekst worden geplaatst en dus vastliggen. Men kan deze dus niet dynamisch veranderen door een bepaalde setting in het WP-dashboard te veranderen. Eigenlijk moeten we dus in AL onze berichten stuk voor stuk alle foto's en andere media die we in onze mediabibliotheek hebben opgeladen manueel gaan veranderen door : – elk plaatje aan te klikken, – het linkse update icoontje aan te klikken, – naar Advanced Settings gaan (rechts boven), – onder 'Advanced Image Settings' de 'Source' aan te passen naar: /wp/wp-content.... – 'Update' te drukken. Je beseft dat dit een massa werk is, zeker als uw website veel berichten bevat met een arsenaal aan plaatjes. Niet getreurd echter, we werken hier met de WordPress Community en dus zal er wel een of andere gebruiker op het lumineuze idee zijn gekomen hiervoor een plugin te ontwikkelen. Inderdaad : de Update URLs plugin van VelvetBlues.com Daarom gaan we de plugin eerst downloaden (klik op de link hierboven) en installeren in onze website. Dashboard->Plugins->Add New->Upload->[selecteer plugin]->Install Now->Activate Plugin Ga naar de plugin, zoek de plugin in de lijst en druk op 'Update Urls' in de omschrijving:
We willen volgende links veranderen in onze berichten (gedeelte van een komplete URL) : '/wp-content/uploads' --->
'/wp/wp-content/uploads'
Het resultaat is dat er 65 links worden aangepast in één keer, dit zijn dus 65 afbeeldingen! Vanaf nu zal elke foto verschijnen op onze website in elke pagina en bericht. Opdracht volbracht! Aaaaaahr!! Toch nog een plobleem? De plaatjes zijn nog steeds niet zichtbaar! Blijkbaar heb ik een verkeerde nieuwe URL ingegeven. Bij nazicht blijkt inderdaad dat ik de '/' achteraan vergeten ben in de 'New URL', waardoor de linken nu zijn opgebouwd als volgt: '/wp/wp-content/uploads2011/11/plaatje.gif'. Deze link herkent hij natuurlijk niet. We veranderen dit door de plugin opnieuw te starten en volgende gegevens in te brengen: Van
'/wp/wp-content/uploads2011/'
naar
'/wp/wp-content/uploads/2011/'
Het is evengoed mogelijk een stuk hiervan te gebruiken, zoals '/uploads2011/' naar '/uploads/2011/' maar hoe kleiner je dit maakt hoe meer kans je loopt andere gegevens ook te wijzigen. Wees hier dus voorzichtig mee. Het resultaat van deze update is dat alle foto's eindelijk op scherm komen:
2. Updaten van de Media Bibliotheek Uiterlijk lijkt de website in orde nu. De foto's verschijnen dankzij het feit dat we de links aangepast hebben, maar indien we ze willen bekijken in de Media Bibliotheek van het Dashboard merken we tot onze verbazing dat die leeg is. Een snelle check met de File Manager stelt ons gerust dat de foto's inderdaad op de goede plaats staan ('wp-content/uploads/2011/11') maar toch blijft de bibliotheek leeg. De zogenaamde 'attachment' gegevens zijn blijkbaar niet mee overgedragen bij het maken van de backup. Maar ook hier is een plugin beschikbaar die deze situatie met een druk op de knop hersteld: Add From Server (klik om te downloaden). Installeer ze op de ondertussen vertrouwde wijze: Dashboard->Plugins->Add New->Upload->[selecteer plugin]->Install Now->Activate Plugin Ga naar de plugin module, zoek de plugin in de lijst en druk op 'Import Files' in het menu onderaan:
Nu gaan we afdalen naar de eerste map waar de afbeeldingen staan : (uploads/2011/11). Druk achtereenvolgens op: uploads->2011->11 Dit geeft een lijst met alle foto's die correct in onze map staan. Vink alle files aan voor 'Files' en druk op 'Import':
De bestanden worden nu een voor een ingeladen in de Mediabibliotheek en vanaf dan kunnen we ze ook gebruiken om in te voegen in onze berichten of pagina's. Doe hetzelfde voor alle 'maand'-mappen tot alle afbeeldingen verwerkt zijn.
3. TEKSTWIDGETS TERUG INSTALLEREN De reden waarom tekstwidgets niet mee overgedragen worden naar de nieuwe WP installatie is bijzonder technisch en heeft te maken met de lengte van de websitenaam en de manier waarop de widgets in de database worden bijgehouden. Veel te technisch dus en niet belangrijk om weten. Hoe verhelpen we dit? Simpelweg door de widgets opnieuw te installeren. Hier bestaat inderdaad (nog) geen plugin voor, dus zullen we zelf de handen uit de mouwen moeten doen! Zolang we nog toegang hebben tot de oude website die we gebackupt hebben, is het een kwestie van Copy&Paste. Log in in het dashboard van je oude WordPress platform en ga naar de widgets: Dashboard->Appearance->Widgets
Zoals je ziet bestaan de widgets hoofdzakelijk uit TEXT widgets. Deze moeten we copieren naar ons nieuw platform. Open de widget door op het pijltje rechts te klikken, selecteer de inhoud van de code, rightclick en copieer:
Ga terug naar de andere tab in je browser waar je ingelogd bent in het dashboard van de nieuwe WordPress installatie, ga naar de widgetsmodule en SLEEP van de zijde van de 'Available Widgets' onderaan de TEXTwidget naar de correcte Widget Area (Deze moet je wel eerst openen). Plaats deze op dezelfde plaats als waar het oorspronkelijk stond.
Hierdoor zal de lege widget openvouwen en kun je de inhoud van je prikbord copieëren (rightclick->plakken of paste).
Als je dan de widget 'Saved' kun je direct de aanpassing bekijken door de website op te roepen bovenaan in de zwarte menubalk. Open dit wel in een nieuw tabblad zodat je alle verdere aanpassingen ineens kan bekijken door gewoon deze pagina te refreshen met de F5 toets.
Doe dit nu stuk voor stuk met de inhoud van alle textwidgets. Om dit sneller te laten verlopen is het misschien interessant om vooraleer te beginnen copieëren, je eerst alle blanco textwidgets invoegt in de verschillende widgetarea's van de sidebars.
Dit is het resultaat:
Helaas worden we terug geconfronteerd met een bekend probleem: daar waar de foto's zouden moeten verschijnen is een lege plaats. We hebben dus weer te maken met URL's die niet naar de juiste plaats op onze server verwijzen. We moeten nu hier ook de links herstellen. Hiervoor moeten we helaas wel in de CODE zelf gaan graven want de eigenschap van een textwidget is dat je er kan insteken wat je zelf wil, maar dat je wel moet weten hoe je deze gegevens wil organiseren. Nemen we een voorbeeld van een html-code:
Het donkere gedeelte van de link is wat ons interesseert en wat we moeten aanpassen. Voor deze link moet de naam van ons subdomein komen waarin we WordPress geïnstalleerd hebben :
We kunnen dit dus gewoon invoegen in de tekst op ons widget en daarna 'Saven' (vergeet niet de '/' voor te voegen anders vindt hij de map /wp/ niet). Ga dan gewoon één voor één de textwidgets af en verander elke link die verwijst naar je map waar je foto's staan. Uiteraard hoef je niets te veranderen aan links van derden zoals reclame en affiliatie linken.
Vooraleer de website vrij te geven moeten we hem nu grondig inspecteren op de links. Ga gewoon met je muis over de links en zie of ze inderdaad verwijzen naar je nieuwe website. Is er nog een link die naar de oude website verwijst dan moeten we dit uiteraard veranderen. De meeste problemen zullen zich voordoen in de net geinstalleerde textwidgets omdat dit geen variabele gegevens zijn.
We veranderen gewoon de naam van de website (vergeet de '/wp/' niet) en drukken op 'Save':
Doe dit voor alle oude links. Het kan zijn dat je wat dieper moet graven in de verschillende settings van WordPress zoals de Footer die je kan veranderen met : Dashboard->Appearance->Footer:
Als dit allemaal gebeurd is dan hebben we onze website succesvol gemigreerd! Om onze inspanningen niet vergeefs gedaan te hebben maken we best onmiddellijk een backup van de nieuwe website met de Backup and Move plugin! BELANGRIJK! Nog één laatste actie: VERWIJDER de backupfile EN het 'restore.php' bestand van je systeem door middel van de File Manager. Hierdoor vermijd je dat een hacker toegang krijgt tot je backupfile (security!) en dat jij of iemand anders ongewild een restore doet door de naam van het restore.php bestand in te geven in de browser!
PROFICIAT ! VANAF NU IS UW NIEUWE WEBSITE EXACT GELIJK AAN DE OUDE VERSIE !
VERWIJDEREN WORDPRESS INSTALLATIE
Het zou kunnen dat je om een of andere reden beslist om terug te beginnen van nul. Dan moet je de installatie van WP ongedaan maken of 'deleten'. Dit doe je nu ook weer met het Cpanel en Fantastico De Luxe. Je selecteert weer WordPress maar in plaats van een installatie te doen, druk je op 'Verwijder'. Je krijgt dan volgende melding: Laatste waarschuwing! De installatie in de root van de map van jouwwebsite.be en de mySQL database en mySQL gebruiker username_wrdp1 worden verwijderd. Je kunt deze actie niet ongedaan maken! Klik op Verwijder WordPress om door te gaan. Verwijder WordPress
Nadat je hierop gedrukt hebt krijg je dit op je scherm: Verwijderen van de installatie De mySQL database username_wrdp1 is verwijderd. De mySQL gebruiker username_wrdp1 is verwijderd. De installatie in de root van de map van jouwwebsite.be is verwijderd. Terug naar WordPress overzicht
Het grote probleem is dat Fantastico niet ALLES verwijdert! Het beperkt zich tot die bestanden en folders waartoe hij volmacht heeft (read-write-delete) en de mySQL database. We moeten dus zelf nog de overblijvende files en folders verwijderen: – wp-admin – wp-content – wp-includes Dit doen we met behulp van de File Manager in Cpanel:
Zoals je ziet zijn deze mappen niet verwijderd door Fantastico. We zullen dit zelf moeten doen. Maar eerst moeten we de 'permissions' veranderen. Deze staan namelijk zo hoog dat het onmogelijk is deze mappen met hun inhoud te verwijderen. Ze staan enkel lezen toe. Om ze te kunnen deleten moeten we de 'perms' op 777 zetten, wat neerkomt dat iedereen alles kan doen (lezen, schrijven, verwijderen). Druk hiervoor op de 'Perms' tab in de hoofding:
Verander '1411' in '777' en druk op ok. Doe dit ook voor de andere 2 mappen. Opgelet! Het is mogelijk dat er nog andere bestanden in de public_html staan. Laat deze onaangeroerd. Vink vervolgens elke map aan die verwijderd moet worden en druk op de Delete toets. In een apart schermpje wordt bevestiging gevraagd en alles zal dan worden verwijderd. Het resultaat is terug een website zonder WP zodat je eventueel een nieuwe installatie kan doen van WordPress via Fantastico de Luxe in het Cpanel menu of door terugzetting van een backup platform zoals besproken in de MIGRATIE VAN WORDPRESS.