Handleiding:Een wiki met een back-up herstellen
Men moet regelmatig een back-up maken van zijn wiki, zelfs als men het nooit hoeft terug te zetten: het hebben van back-ups geeft gemoedsrust. Een back-up is echter nutteloos als men niet kan herstellen door het terug te zetten, en oefenen met het gebruiken van een back-up voorkomt later leed. Daarom deze instructies.
Versies en upgraden
De instructies op deze pagina moeten min of meer gelijk zijn voor elke versie van MediaWiki. U kunt de database herstellen naar een meer recente versie van MediaWiki, maar zorg ervoor dat u het updatescript uitvoert. Het gebruiken van een back-up van een database van een nieuwere versie in een oudere versie van de software wordt niet ondersteund.
File transfer
Tenzij u rechtstreeks toegang heeft tot de server die de wiki host, (en zelfs dan) moet u een methode kiezen voor het overzetten van bestanden:
- Kopieer veilig met putty of WinSCP
- SSH-protocol voor bestandsoverdracht (SFTP)
- Met behulp van een FTP client.
- Het hostingbedrijf kan een interface voor bestandsbeheer bieden via de webbrowser, neem contact op met uw provider.
- Een andere methode, er is een lijst protocollen hiervoor op deze pagina
Overzicht
- Opnieuw aanmaken van de database, gebruikers en rechten
- Importeren van de database back-up
- Importeren de MediaWiki-bestanden
- Het configuratiebestand controleren
- Testen
Opnieuw aanmaken van de database, gebruikers en rechten
Op de server waarop u MediaWiki herstelt, zorg ervoor dat u
- een correct werkende instantie van MySQL heeft
- een MySQL-gebruiker heeft met passende rechten, als u MySQL-user root niet kunt gebruiken
Als u vanwege databasecorruptie een back-up wilt herstellen, overweeg dan MySQL opnieuw te installeren! Zodra MySQL goed werkt, maak een nieuwe MySQL-database aan en geef uw gebruikersaccount rechten op de onderstaande database. Mogelijk moet u de MySQL-documentatie, de documentatie van het configuratiescherm van uw hostingprovider of de documentatie van andere hulpprogramma's die u gebruikt raadplegen voor informatie over hoe u dit kunt doen. Vanuit de MySQL-prompt als MySQL-gebruikersroot kunt u:
CREATE DATABASE wikidb; CREATE USER wikidb_user IDENTIFIED BY 'wikidb_userpassword'; USE wikidb; GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, INDEX, DROP, LOCK TABLES, USAGE ON wikidb.* TO wikidb_user;
LocalSettings.php
op de nieuwe locatie dienovereenkomstig moeten aanpassen.
Een back-up van de database importeren
See also Manual:Importing XML dumps
Importeer vervolgens uw database back-up. Hiermee worden de tabellen in de database gemaakt en gevuld met gegevens. Het importeren neemt een hoeveelheid tijd in beslag, die afhankelijk is van het aantal pagina's, gebruikers, bewerkingen, enz. in uw wiki.
Methoden
Vanaf de opdrachtregel met behulp van mysqladmin
Als er een database bestaat en u deze volledig wilt vervangen door de back-up. Om de oude database te verwijderen:
mysqladmin -u wikidb_user -p drop wikidb
Aanpassen van wikidb_user
en wikidb
.
De parameter -p
vraagt u om het wachtwoord.
Om een nieuwe database te maken:
mysqladmin -u wikidb_user -p create wikidb
Bijvoorbeeld na het maken van een back-up met mysqldump:
# Doe dit niet nu: zo had u eerder een back-up kunnen maken. mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidb > dump_of_wikidb.sql # De wikidatabase wikidb waarvan u een back-up heeft gemaakt, kan een andere naam hebben # dan de wikidatabase wikidb die u hierboven hebt aangemaakt. Natuurlijk kunnen wikidb_user en # wikidb_userpassword ook anders zijn.
Zorg ervoor dat u de juiste karakterset vermeld of het restoren kan mislukken, controleer LocalSettings.php
om te weten te komen welke karakterset het is.
Om dump_of_wikidb.sql
te importeren via de commandolijn doet u gewoon:
mysql -u wikidb_user -p wikidb < dump_of_wikidb.sql
en doe daarna, indien nodig:
php wikifolder/maintenance/update.php # De meeste mensen noemen hun wikimap gewoon "w", waardoor deze padnaam ontstaat # iets als "htdocs/w/maintenance/update.php"
dump
, moet u niet mysqlimport
gebruiken om uw wikidatabase te restoren, u moet sql
gebruiken. Omdat mysqlimport
vereist dat de gegevens worden geladen in een bepaald gedelimiteerd tekstformaat, bijvoorbeeld. CSV, terwijl de uitvoer van mysqldump
een aantal SQL-statements is.LocalSettings.php
niet naar een nieuwe installatie kopieert, zorg er dan voor dat de databaseprefix is ingesteld op de vorige installatie in de nieuwe installatie voordat u php update.php
uitvoertZie ook Executing SQL Statements from a Text File
Met de browser voor phpMyAdmin
Open de browser naar uw phpMyAdmin, log in, kies de wiki database. (Controleer LocalSettings.php als u de database niet zeker weet). Volg de instructies in de phpMyAdmin documentatie.
Met een XML-dump
Hoofdartikel: Manual:Importing XML dumps
Om een XML-dump in een wiki te importeren, gebruikt u het hulpmiddel importDump.php . Doe:
php wikifolder/maintenance/importDump.php --dbpass wikidb_userpassword --quiet --wiki wikidb path-to-dumpfile/dumpfile.xml php wikifolder/maintenance/rebuildrecentchanges.php
Vervang wikidb_userpassword
, wikidb
en path-to-dumpfile/dumpfile.xml
door de juiste waarden.
Gebruik daarna ImportImages.php om de afbeeldingen te importeren:
php wikifolder/maintenance/importImages.php wikifolder_backup/images
De MediaWiki-bestanden importeren
See also Manual:importImages.php
Herstel vervolgens uw back-up van het MediaWiki bestandssysteem: dit is de laatste "grote" stap in het herstelproces.
- Als u de instructies uit de back-up manual heeft gevolgd en een back-up hebt gemaakt van de hele map, dan is dat inclusief de mappen images en extensions, plus aangepaste skins, etc. en het configuratiebestand.
- Als u alleen van delen van de map een back-up heeft gemaakt, bijvoorbeeld images, extensions, etc., dan moet u eerst een nieuwe installatie van de MediaWiki-bestanden uploaden / kopiëren, en vervolgens de back-up-mappen en bestanden overbrengen naar de juiste locaties in het nieuwe bestandssysteem.
Om het bestandssysteem van Wiki te wissen en te herstellen
Vergeet niet om ook de bestandssysteemcomponenten van de wiki te herstellen die nodig zijn, bijvoorbeeld afbeeldingen, logo's en extensies.
Vooral om LocalSettings.php
te bewerken om te controleren of alles correct is.
Een aantal Linux-commando's om het wiki-bestandssysteem te wissen en te herstellen zou er als volgt uit kunnen zien:
wget http://download.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz tar -xvzf mediawiki-1.43.0.tar.gz rm mediawiki-1.43.0.tar.gz rm -fR wikifolder/ mv mediawiki-1.43.0 wikifolder rm -fR wikifolder/extensions/ cp -R wikifolder_backup/extensions wikifolder/extensions
Open de wiki vanuit de browser en klik op de link Stel eerst de wiki in.
Zie Handleiding:Configuratie script voor details.
Als het nodig is, kunt u de command-line installer php wikifolder/maintenance/install.php
uitvoeren.
Nadat dit gedaan is, bewerken we LocalSettings.php
om de nieuwe installatie aan te passen, het herstellen van regels voor extensies, enz.
Herstel uit back-up van alle andere bestanden, zoals een aangepast logo en favicon met de juiste paden.
Als u niet als root Linux/Unix-gebruiker heeft geïnstalleerd en de afbeeldingen en miniaturen niet werken, moet u de eigenaar of machtigingen recursief corrigeren in de map met de geüploade afbeeldingen, meestal in wikifolder/images.
Opmerkingen
- Als u dit laatste proces volgt, zorg er dan voor dat uw "nieuwe installatie" bestaat uit dezelfde versie van MediaWiki als de oude
- Controleer of de uploadmap (bijv. afbeeldingen in versie 13) de juiste machtigingen heeft ingesteld als u uploads gebruikt; Het moet beschrijfbaar zijn door de webserver.
- Zorg ervoor dat alle mappen voor extensies ook de juiste rechten hebben (bijv. voor linux:
chmod -R o=rx extensions
ofchmod -R o=rx includes
) - De beste methode om te gebruiken bij het handmatig overzetten van een wiki van een Windows-platform naar een Linux-platform is:
- Het handmatig installeren van MediaWiki op het Linux-platform vanuit een tar-bestand zoals hier beschreven: Handmatige installatie van Wiki (d.w.z. probeer geen installatie te gebruiken vanuit een geautomatiseerd pakket)
- Het vervangen van de nieuw geïnstalleerde MediaWiki-map (bijv.
/var/www/mediawiki
...) op uw Linux-computer door de MediaWiki-basismap van uw Windows-computer - Update de MySQL Database van uw Linux-computer (bijv. wikidb) met de wiki-database van uw Windows-computer. (d.w.z. gebruik de back-up- en herstelfuncties van MySQL zoals hierboven beschreven)
- Na het importeren van een wiki-database kunnen er enkele kleine problemen ontstaan, zelfs als de database lijkt te werken:
- Searchindex moet mogelijk worden gerepareerd: Voer in phpMyAdmin
REPAIR TABLE wikidb.searchindex;
in voor het opnieuw opbouwen van de zoekindex. wikidb is de naam van uw database. - De 'collation' van sommige rijen kunnen zijn gewijzigd. Controleer het met de originele database.
- Searchindex moet mogelijk worden gerepareerd: Voer in phpMyAdmin
Configuratie-bestand controleren
De laatste taak is de verificatie van en eventueel het wijzigen van het bestand LocalSettings.php
.
- Als u herstelt op dezelfde server waarvan u een back-up heeft gemaakt, hoeft u waarschijnlijk niets te wijzigen.
- Als u herstelt naar een nieuwe server (d.w.z. als u de MediaWiki verplaatst of dupliceert), zullen bepaalde items vrijwel zeker moeten worden gewijzigd, en het kan zijn dat u ook de informatie over de databaseverbinding moet wijzigen.
Controleer de volgende configuratieopties:
Configuratieoptie | Actie vereist | Standaard/Voorbeeld |
---|---|---|
$IP | Moet correct zijn voor de paden op de nieuwe server
(Blijft meestal het hetzelfde, dus geen wijziging nodig) |
Standaardwaarde:
if( defined( 'MW_INSTALL_PATH' ) ) { $IP = MW_INSTALL_PATH; } else { $IP = dirname( __FILE__ ); } |
$wgScriptPath | Moet correct zijn voor het pad op de nieuwe server |
|
$wgArticlePath | Moet correct zijn voor het pad op de nieuwe server |
Voorbeelden: |
$wgDBserver | Controleer of de naam van de database-server correct is |
Voorbeeld: |
$wgDBname | Dit kan veranderd zijn in een gedeelde hosting omgeving |
|
$wgDBuser | Dit kan veranderd zijn in een gedeelde hosting omgeving |
|
$wgDBpassword | Controleer of dit correct is voor de nieuwe gebruiker |
|
Mogelijk moet u ook de paden controleren naar diff3, ImageMagick, enz.
Test
Probeer nu de wiki op de nieuwe server te gebruiken. Log in als beheerder en als een gewone gebruiker en controleer of het bekijken, maken en bewerken van pagina's en het uploaden van bestanden nog steeds werkt. U moet alle problemen oplossen die worden gemeld door PHP of MediaWiki.
Veel voorkomende problemen
Na het verhuizen ziet u mogelijk PHP-waarschuwingen waarin staat dat bepaalde bestanden niet toegankelijk zijn. Dit wordt waarschijnlijk veroorzaakt door phabricator:T37472: De kolom md_deps in de tabel module-deps bevat absolute paden, die worden gebruikt om de afbeeldingen en LESS-bestanden te lokaliseren waarvan CSS van afhankelijk is. Deze paden kloppen niet meer wanneer de wiki bijvoorbeeld wordt verplaatst naar een andere map of naar een andere server.
Totdat dit probleem is opgelost, kunt u dit opvangen door handmatig de verkeerde records in de tabel module_deps
aan te passen:
SET @old='wiki.old-domain.org';
SET @new='wiki.new-domain.org';
UPDATE `module_deps` SET `md_deps` = REPLACE( `md_deps`, @old, @new );
Dit kan worden gebruikt om verkeerde delen van het pad te herstellen en daarmee het probleem te verhelpen.
Zie ook
- Handleiding:Back-up maken van een wiki
- Handleiding:Een wiki verplaatsen
- Manual:Restoring wiki code from cached HTML (als u geen back-up heeft)
- Handleiding:Upgraden
- Handleiding:MediaWiki installeren
- Script: Fullsiterestore
- Manual:importImages.php