|
|
Ligne 64 : |
Ligne 64 : |
| # run runJobs.php every 5 minutes | | # run runJobs.php every 5 minutes |
| */5 * * * * php /var/www/mediawiki/maintenance/runJobs.php | | */5 * * * * php /var/www/mediawiki/maintenance/runJobs.php |
| | # --conf /var/www/mediawiki/LocalSettings-xxx.php to target a specific LocalSettings |
| </kode> | | </kode> |
|
| |
|
Version du 1 décembre 2019 à 16:41
Liens utiles
Mise à jour
Backup
Faire un backup complet: fichiers + base de données
Migration de la bdd
|
# définir le SERVER_NAME dans le cas où plusieurs instances de mediawiki sont sur le même serveur
export SERVER_NAME=wiki1.domaine.fr
# mise à jour de la bdd
cd /usr/share/webapps/mediawiki
php maintenance/update.php
|
Custom skin
skins/MonoBook/includes/SkinMonoBook.php
|
function setupSkinUserCss( OutputPage $out ) {
// ajouter le css custom
$out->addStyle( $this->stylename . '/resources/custom.css', 'screen' );
}
|
WikiEditor
LocalSettings.php
|
$wgShowExceptionDetails = true;
error_reporting( -1 );
ini_set( 'display_errors', 1 );
|
|
php maintenance/eval.php
> print $wgLocaltimezone
Europe/Paris
|
Reporter un bug
https://bugzilla.wikimedia.org/
À chaque requête 1 tâche est prise dans la pile pour être exécutée.
- $wgJobRunRate permet de changer le nombre de tâches à exécuter à chaque requête.
- runJobs.php permet d’exécuter directement les taches de la pile.
|
# execute all jobs manually
cd /usr/share/webapps/mediawiki
php maintenance/runJobs.php
# add a cron task to run all jobs periodically
# edit crontab for user www-data
sudo crontab -u www-data -e
# run runJobs.php every 5 minutes
*/5 * * * * php /var/www/mediawiki/maintenance/runJobs.php
# --conf /var/www/mediawiki/LocalSettings-xxx.php to target a specific LocalSettings
|
LocalSettings.php
|
# if sets to 0, jobs will not be done during ordinary apache requests.
# In this case, maintenance/runJobs.php should be run periodically.
$wgJobRunRate = 0;
|
|
php maintenance/refreshLinks.php
|
Backup
Avant de réaliser un backup il faut geler le site afin que le backup soit cohérent.
Ensuite il faut réaliser un backup de la base de données et des fichiers.
Stopper les modifications du site
|
# Fichier LocalSettings.php
# Verrouille la base de données et affiche le message sur les pages d'édition
$wgReadOnly = 'Backup in progress, access will be restored shortly.';
|
Base de données
En ligne de commande
|
mysqldump -u utilisateur -pmot_de_passe -rfichier.sql base_de_données
|
phpMyAdmin
Se connecter à la base de données via phpMyAdmin.
Aller dans le menu Export. Vérifier que Add DROP TABLE est bien coché, puis lancer l'export.
Script
backup_mediawiki.sh
|
#!/bin/bash
set -u
set -e
set -o pipefail
# configuration
wiki_path='/var/www/wiki'
backup_path='/root/backup/wiki'
# functions
freeze_website() {
sed '2i\$wgReadOnly = "Backup in progress, access will be restored shortly.";' -i ${wiki_path}/LocalSettings.php
}
backup_files() {
cd ${wiki_path%/*}
tar cf - $(basename ${wiki_path}) | pigz > ${backup_path}/$(date +%Y-%m-%d-%H-%M-%S).tar.gz
cd
}
backup_databases() {
mysqldump mediawiki | pigz > ${backup_path}/$(date +%Y-%m-%d-%H-%M-%S)_wiki.sql.gz
}
unfreeze_websites() {
sed '2d' -i ${wiki_path}/LocalSettings.php
}
rotate_backups() {
find ${backup_path} -type f -mtime +7 -name '*.gz' -delete
}
##################################################
freeze_websites
backup_files
backup_databases
unfreeze_websites
rotate_backups
|
Réduire la taille de la base de données
Delete old revisions
Reduce size of the database
|
# Supprimer l'historique des pages supprimées
php maintenance/deleteArchivedRevisions.php --delete
# Supprimer l'historique des pages
# php maintenance/rebuildall.php
php maintenance/deleteOldRevisions.php --delete
|
- Supprimer les fichiers de langue inutiles
- languages/i18n/*.json
- languages/i18n/exif/*.json
- languages/messages/*.php
- Supprimer les extensions inutiles extensions
- CategoryTree
- Cite
- CiteThisPage
- ConfirmEdit
- Gadgets
- InputBox
- LocalisationUpdate
- Poem
- SpamBlacklist
- TitleBlacklist
- Supprimer la documentation docs
- Supprimer les skins inutiles skins
- Supprimer les fichiers de test tests
Erreurs
Plus de suggestions de recherche
RuntimeException from line 628 of /usr/share/webapps/mediawiki/includes/utils/UIDGenerator.php: bcmath or gmp extension required for 32 bit machines.
/etc/php/php.ini
|
extension=gmp
|
Votre session de connexion semble avoir des problèmes (MW 1.27)
Votre session de connexion semble avoir des problèmes ; cette action a été annulée en prévention d'un piratage de session. Veuillez cliquer sur « Précédent », rechargez la page d'où vous venez, puis réessayez.
There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Go back to the previous page, reload that page and then try again.
LocalSettings.php
|
# Se produit lorsque CACHE_ACCEL est utilisé
$wgMainCacheType = CACHE_ACCEL;
# Il faut forcer le SessionCacheType à CACHE_DB, par défaut il hérite de MainCacheType
$wgSessionCacheType = CACHE_DB;
|
Fatal exception of type MWException
Afficher plus de détails:
LocalSettings.php
|
$wgShowExceptionDetails = true;
|
PHP Parse error
Le dossier mediawiki semble contenir des fichiers corrompus. Il faut retelecharger l'archive et réinstaller le dossier mediawiki.
Impossible de créer le dossier « mwstore://local-backend/local-public/... ».
Le compte du serveur Apache (http) n'a pas les droits d'écriture sur le dossier images et ses sous-dossiers.
Table searchindex is marked as crashed and should be repaired
Se connecter au serveur SQL via PhpMyAdmin et executer la requete
|
REPAIR TABLE searchindex;
|
Invalid argument supplied for foreach in geshi.php
Warning: Invalid argument supplied for foreach() in /home/users/bananeatomic/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php on line 4362
|
/* Ligne 4362 du fichier geshi.php : */
foreach ($this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles)
|
|
/* Ne pas commenter/supprimer de sous section de STYLES. */
'STYLES' => array(
...
/*'ESCAPE_CHAR' => array(
...
),*/
...
|
Warning: file_exists(): open_basedir restriction in effect. File ... is not within the allowed path(s)
Problème lors de l'upload d'un fichier.
Les fichiers sont uploadés dans upload_tmp_dir (/home/tmp), ce dossier doit être dans open_basedir (/home/users/bananeatomic:/tmp) ou un de ses sous-dossiers.
Correction : (re)définir « upload_tmp_dir » ou « open_basedir »
/etc/php/php.ini
|
; Temporary directory for HTTP uploaded files (will use system default if not specified).
upload_tmp_dir = "/home/users/bananeatomic/images/temp"
open_basedir = "/home/users/bananeatomic:/tmp"
|
Warning: file_exists(): open_basedir restriction in effect. File(/home/users/mywiki/skins/monobook/headbg.jpg) is not within the allowed path(s)
Problème avec une copie du skin monobook.
Le fichier « /home/users/mywiki/skins/monobook/headbg.jpg » est utilisé au lieu de « /srv/http/mywiki/skins/monobook/headbg.jpg »
Utiliser monobook ou modifier directement monobook corrige le problème.
PHP Warning: is_executable(): open_basedir restriction in effect.
File(/usr/bin/php) is not within the allowed path(s): (...) in /srv/http/bananeatomic/includes/Wiki.php on line 655
Mediawiki tente de faire lancer des actions en arrière-plan.
C'est juste un warning spécifiant que non, il n'est pas possible de lancer des actions en arrière-plan via l’exécutable php car il n'est pas dans les chemins des exécutables autorisés.
|
Bug corrigé dans la version 1.23.x |
Call to undefined function mysql_error() in DatabaseMysql.php
PHP Fatal error: Call to undefined function mysql_error() in .../includes/db/DatabaseMysql.php on line 326
La bibliothèque mysql pour php n'est pas chargée. Commentez mysqli.so et décommentez mysql.so:
/etc/php/php.ini
|
;extension=mysqli.so
extension=mysql.so
|
|
Mediawiki ne supporte pas mysqli ni pdo_mysql |
Can't contact the database server: Access denied for user ...
Créer l'utilisateur et lui accorder les droits nécessaire.
DatabaseBase::factory no viable database extension found for type 'mysql'
/etc/php/php.ini
|
extension=mysql.so
extension=pdo_mysql.so
|
Erreur lors de la création de la miniature : Impossible d'enregistrer la vignette sur la destination
Error creating thumbnail: Unable to save thumbnail to destination
LocalSettings.php
|
$wgTmpDirectory = "$IP/images/temp";
|
Erreur lors de la création de la miniature : /bin/bash: /usr/bin/convert: No such file or directory
|
# installer ImageMagick
sudo pacman -S imagemagic
|