« Wiki » : différence entre les versions

De Documentation
Aller à la navigationAller à la recherche
Page créée avec « ************************************* * wiki (mediawiki) sur alpine léger * ************************************* 1. Installation du conteneur # lxc launch local:alpineLe wiki # lxc shell wiki # apk update && apk upgrade 2. Installation du serveur web : apache2 - php83 et extensions nécessaires # apk add apache2 php83 php83-apache2 apache2-ctl php83-intl php83-mbstring php83-bcmath php83-apcu php83-curl icu-data-full php83-cli php83-mysqli # apk add im... »
 
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
*************************************
= wiki (mediawiki) sur alpine léger =
* wiki (mediawiki) sur alpine léger *
*************************************


== Le serveur web ==
1. Installation du conteneur
1. Installation du conteneur


# lxc launch local:alpineLe wiki
  # lxc launch local:alpineLe wiki
# lxc shell wiki
  # lxc shell wiki
# apk update && apk upgrade
  # apk update && apk upgrade


2. Installation du serveur web : apache2 - php83 et extensions nécessaires
2. Installation du serveur web : apache2 - php83 et extensions nécessaires


# apk add apache2 php83 php83-apache2 apache2-ctl php83-intl php83-mbstring php83-bcmath php83-apcu php83-curl icu-data-full php83-cli php83-mysqli
  # apk add apache2 php83 php83-apache2 apache2-ctl php83-intl php83-mbstring php83-bcmath php83-apcu php83-curl icu-data-full php83-cli php83-mysqli
# apk add imagemagick (pour être sûr, ...-jpeg, -svg, -pdf, -tiff
  # apk add imagemagick (pour être sûr, ...-jpeg, -svg, -pdf, -tiff
# apk add php83-xml php83-ctype php83-fileinfo php83-iconv (sinon ça râle à l'installation...)
  # apk add php83-xml php83-ctype php83-fileinfo php83-iconv <br>(sinon ça râle à l'installation...)
# apk add php83-session php83-dom
  # apk add php83-session php83-dom
A ajouter après l'installation de mediawiki, dans LocalSettings.php :
A ajouter après l'installation de mediawiki, dans LocalSettings.php :
$wgUseImageMagick  =  true ;  
  $wgUseImageMagick  =  true ;  
$wgImageMagickConvertCommand  =  '/usr/bin/convert';  # pour Linux
  $wgImageMagickConvertCommand  =  '/usr/bin/convert';  # pour Linux
3. Installation de mediawiki
== mediawiki ==
Téléchargement de l'image dans /tmp/
Téléchargement de l'image dans /tmp/
# cd /tmp
  # cd /tmp
# wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.1.tar.gz
  # wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.1.tar.gz
Décompression dans le dossier racine :
Décompression dans le dossier racine :
# tar -xvzf /tmp/mediawiki-1.43.1.tar.gz -C /var/www/localhost/htdocs/
# tar -xvzf /tmp/mediawiki-1.43.1.tar.gz -C /var/www/localhost/htdocs/
Supprimer le ficier index.html d'origine (on n'en aura pas besoin...)
Supprimer le fichier index.html d'origine (on n'en aura pas besoin...)
# rm /var/www/localhost/htdocs/index.html
  # rm /var/www/localhost/htdocs/index.html
Mettre le contenu du dossier mediawiki à la racine et supprimer le dossier :
Mettre le contenu du dossier mediawiki à la racine et supprimer le dossier :
# mv /var/www/localhost/htdocs/mediawiki-1.43.1/* /var/www/localhost/htdocs/
  # mv /var/www/localhost/htdocs/mediawiki-1.43.1/* /var/www/localhost/htdocs/
# rm -R /var/www/localhots/htdocs/mediawiki-1.43.1
  # rm -R /var/www/localhots/htdocs/mediawiki-1.43.1
 
Préparer la base de données<br>
Sur le conteneur mariadb, à partir du conteneur phpma, créer un utilisateur (wiki + mdp) et une base de données (wiki)
Sur le conteneur mariadb, à partir du conteneur phpma, créer un utilisateur (wiki + mdp) et une base de données (wiki)
Configurer php : /etc/php83/php.ini
Configurer php : /etc/php83/php.ini
  upload_max_filesize = 20M (minimum... peut être augmenté en cas de téléchargement de fichier plus gros)
  memory_limit = 128M (ou plus...)
upload_max_filesize = 20M (minimum... peut être augmenté en cas de téléchargement de fichier plus gros)
Ajouter apache au démarrage automatique :
memory_limit = 128M (ou plus...)
  # rc-update add apache2
Ajouter apache au démarrage automatique :
Démarrer apache (!)
# rc-update add apache2  
  # rc-service apache2 start
Démarrer apache (!)
Indiquer à mediawiki où se trouve la base de données
# rc-service apache2 start
Indiquer à mediawiki où se trouve la base de données
4. Configuration<br>
À ce stade, on peut tranquilement se rendre sur la page du wiki à l'adresse wiki.lesitadom.fr (si le proxy veut bien, que le certificat a été mis à jour et que le sous-domaine est enregistré correctement...)
4. Configuration
Sauvegarder le fichier LocalSettings.php puis le transférer sur raspberry (régler les droits si nécessaire...)<br>
À ce stade, on peut tranquilement se rendre sur la page du wiki à l'adresse wiki.lesitadom.fr (si le proxy veut bien, que le certificat a été mis à jour et que le sous-domaine est enregistré correctement...)
Le copier dans le conteneur wiki à la racine du site puis entrer dans le conteneur :
  # lxc file push /tmp/wiki/LocalSettings.php wiki/tmp/
  # lxc shell wiki
Sauvegarder le fichier LocalSettings.php puis le transférer sur raspberry (régler les droits si nécessaire...)
Déplacer le fichier à la racine du site et régler les droits :
Le copier dans le conteneur wiki à la racine du site puis entrer dans le conteneur :
  # mv /tmp/LocalSettings.php /var/www/localhost/htdocs/
# lxc file push /tmp/wiki/LocalSettings.php wiki/tmp/
  # chown root:www-data /var/www/localhost/htdocs/Localsettings.php
# lxc shell wiki
Déplacer le fichier à la racine du site et régler les droits :
5. Transfert de l'ancien wiki<br>
# mv /tmp/LocalSettings.php /var/www/localhost/htdocs/
Sur l'ancien wiki, utiliser l'outil dumpbackup.php pour extraire les pages et les fichiers téléversés :<br>
# chown root:www-data /var/www/localhost/htdocs/Localsettings.php
Se placer dans le dossier 'racine du site'/maintenance/ et lancer la commande :
  # php dumpBackup.php --full --include-files --uploads > /tmp/transfert_wiki.xml
5. Transfert de l'ancien wiki
 
Sur l'ancien wiki, utiliser l'outil dumpbackup.php pour extraire les pages et les fichiers téléversés :
Transférer le fichier sur le serveur (filezip), puis dans le conteneur wiki (push)
Se placer dans le dossier 'racine du site'/maintenance/ et lancer la commande :
# php dumpBackup.php --full --include-files --uploads > /tmp/transfert_wiki.xml
Transférer le fichier sur le serveur (filezip), puis dans le conteneur wiki (push)
Sur le nouveau wiki, donner les droits d'écriture sur le dossier /tmp :
Sur le nouveau wiki, donner les droits d'écriture sur le dossier /tmp :
# chmod 777 /tmp
  # chmod 777 /tmp
se placer dans le dossier "chemin du wiki"/maintenance et lancer la commande :
se placer dans le dossier "chemin du wiki"/maintenance et lancer la commande :
# php importDump.php --conf ../LocalSettings.php /tmp/transfert_wiki.xml --username-prefix=""
  # php importDump.php --conf ../LocalSettings.php /tmp/transfert_wiki.xml --username-prefix=""
(Reste figé un moment... patience !)
(Reste figé un moment... patience !)
Message de sortie :
Message de sortie :
100 (0.81 pages/sec 2.62 revs/sec)
  100 (0.81 pages/sec 2.62 revs/sec)
Done!
  Done!
You might want to run rebuildrecentchanges.php to regenerate RecentChanges,
You might want to run rebuildrecentchanges.php to regenerate RecentChanges, and initSiteStats.php to update page and revision counts
and initSiteStats.php to update page and revision counts


Sur l'ancien wiki, utiliser mysqldump pour sauvegarder la balse de données et transférer le fichier dans le conteneur mariadb
Sur l'ancien wiki, utiliser mysqldump pour sauvegarder la base de données et transférer le fichier dans le conteneur mariadb.<br>
Sur mariadb :
Sur mariadb :
# mysqldump -u wiki -p --default-character-set=utf8mb4 wiki < /tmp/transfert_wiki.sql
  # mysqldump -u wiki -p --default-character-set=utf8mb4 wiki < /tmp/transfert_wiki.sql
(les changements ne sont pas visibles sur le site)
(les changements ne sont pas visibles sur le site)
Sur wiki (dans /var/www/localhost/htdocs/maintenance)
# php rebuildrecentchanges.php
Les pages sont là, mais pas la page d'accueil...
Sur wiki (dans /var/www/localhost/htdocs/maintenance)
  # php rebuildrecentchanges.php
Les pages sont là, mais pas la page d'accueil...
Vérifier les extension : voir https://wiki.lesitadom.fr/extensions/README
Vérifier les extension : voir https://wiki.lesitadom.fr/extensions/README
Différences : LocalisationUpdate, Renameuser
Différences : LocalisationUpdate, Renameuser
**************** trop le bordel !  
**************** trop le bordel !  


compression du dossier complet sur le serveur d'origine, transfert vers le conteneur wiki
compression du dossier complet sur le serveur d'origine, transfert vers le conteneur wiki
# tar -czf /tmp/transfert_mediawiki.tar.gz /var/www/html/mediawiki
  # tar -czf /tmp/transfert_mediawiki.tar.gz /var/www/html/mediawiki
Décompression :
# tar -xzf /tmp/transfert_mediawiki.tar.gz -C /var/www/localhost/htdocs/
Placer le fourbi à la racine :
Décompression :
# mv ...patata/mediawiki/* /var/www/localhost/htdocs/
  # tar -xzf /tmp/transfert_mediawiki.tar.gz -C /var/www/localhost/htdocs/
Sauvegarde de LocalSettings.php -> LocalSettings.old
Copie de LocalSettings.php d'origine
Règlage des droits d'après le serveur d'origine :
Placer le fourbi à la racine :
# chown -R root:root /var/www/localhost/htdocs/*
  # mv ...patata/mediawiki/* /var/www/localhost/htdocs/
# chown -R root:www-data /var/www/localhost/htdocs/image
Sauvegarde de LocalSettings.php -> LocalSettings.old<br>
Copie de LocalSettings.php d'origine
Cette méthode ne fonctionne pas : pas la même version de la bdd, php,...
Règlage des droits d'après le serveur d'origine :
  # chown -R root:root /var/www/localhost/htdocs/*
  # chown -R root:www-data /var/www/localhost/htdocs/image
******************************
Cette méthode ne fonctionne pas : pas la même version de la bdd, php,...
<br>
******************************<br>
<br>
on reprend l'instal...


on reprend l'instal...
Pour transférer les images :<br>
Sur le serveur d'origine :  
Pour transférer les images :
  # tar -czvf /tmp/transfert_images_wiki.tar.gz /var/www/html/mediawiki/images
Sur le serveur d'origine :  
# tar -czvf /tmp/transfert_images_wiki.tar.gz /var/www/html/mediawiki/images
Copier le fichier sur le serveur cible, puis le copier dans le conteneur.
Copier le fichier sur le serveur cible, puis le copier dans le conteneur.
Sur le conteneur, décompresser le fichier dans un dossier temporaire
Sur le conteneur, décompresser le fichier dans un dossier temporaire
Utiliser le script de maintenance pour les importer dans le wiki
Utiliser le script de maintenance pour les importer dans le wiki
wiki:/var/www/localhost/htdocs/maintenance# php run importImages /tmp/images --search-recursively
  wiki:/var/www/localhost/htdocs/maintenance# php run importImages /tmp/images --search-recursively
ImageMagick ne fonctionne pas (création de vignettes). Il ne parvient pas à écrire dans le "dossier temporaire".  
ImageMagick ne fonctionne pas (création de vignettes). Il ne parvient pas à écrire dans le "dossier temporaire".<br>
-> Désactivation dans le fichier LocalSettings.php (UseImageMagick = false). GD prend automatiquement le relais.
-> Désactivation dans le fichier LocalSettings.php (UseImageMagick = false). GD prend automatiquement le relais.
Il manque des images : celles contenant un espace dans le nom n'ont pas été importées. D'autres manquent, elles ont apparemment étées stockées ailleurs sur le serveur. Utiliser "pages avec des liens brisés".
Il manque des images : celles contenant un espace dans le nom n'ont pas été importées. D'autres manquent, elles ont apparemment étées stockées ailleurs sur le serveur. Utiliser "pages avec des liens brisés".
Reste à voir pour la page d'accueil : les modèles ne fonctionnent pas... Si ! Copie/collage de la page d'un site à l'autre en mode modification.
Reste à voir pour la page d'accueil : les modèles ne fonctionnent pas... Si ! Copie/collage de la page d'un site à l'autre en mode modification.
Lors de la seconde procédure, la base de données était peuplée lors de l'installation et le mécanisme de mise à jour s'est bien déroulé. il faut peut-être commencer par là (transfert de la base de donnée puis installation et récupération des données).
Lors de la seconde procédure, la base de données était peuplée lors de l'installation et le mécanisme de mise à jour s'est bien déroulé. il faut peut-être commencer par là (transfert de la base de donnée puis installation et récupération des données).

Dernière version du 25 avril 2025 à 21:37

wiki (mediawiki) sur alpine léger

Le serveur web

1. Installation du conteneur

 # lxc launch local:alpineLe wiki
 # lxc shell wiki
 # apk update && apk upgrade

2. Installation du serveur web : apache2 - php83 et extensions nécessaires

 # apk add apache2 php83 php83-apache2 apache2-ctl php83-intl php83-mbstring php83-bcmath php83-apcu php83-curl icu-data-full php83-cli php83-mysqli
 # apk add imagemagick (pour être sûr, ...-jpeg, -svg, -pdf, -tiff
 # apk add php83-xml php83-ctype php83-fileinfo php83-iconv		
(sinon ça râle à l'installation...) # apk add php83-session php83-dom

A ajouter après l'installation de mediawiki, dans LocalSettings.php :

 $wgUseImageMagick  =  true ; 
 $wgImageMagickConvertCommand  =  '/usr/bin/convert';  # pour Linux

mediawiki

Téléchargement de l'image dans /tmp/

 # cd /tmp
 # wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.1.tar.gz

Décompression dans le dossier racine : # tar -xvzf /tmp/mediawiki-1.43.1.tar.gz -C /var/www/localhost/htdocs/

Supprimer le fichier index.html d'origine (on n'en aura pas besoin...)

 # rm /var/www/localhost/htdocs/index.html

Mettre le contenu du dossier mediawiki à la racine et supprimer le dossier :

 # mv /var/www/localhost/htdocs/mediawiki-1.43.1/* /var/www/localhost/htdocs/
 # rm -R /var/www/localhots/htdocs/mediawiki-1.43.1

Préparer la base de données
Sur le conteneur mariadb, à partir du conteneur phpma, créer un utilisateur (wiki + mdp) et une base de données (wiki)

Configurer php : /etc/php83/php.ini

 upload_max_filesize = 20M	(minimum... peut être augmenté en cas de téléchargement de fichier plus gros)
 memory_limit = 128M		(ou plus...)

Ajouter apache au démarrage automatique :

 # rc-update add apache2 

Démarrer apache (!)

 # rc-service apache2 start

Indiquer à mediawiki où se trouve la base de données

4. Configuration
À ce stade, on peut tranquilement se rendre sur la page du wiki à l'adresse wiki.lesitadom.fr (si le proxy veut bien, que le certificat a été mis à jour et que le sous-domaine est enregistré correctement...)

Sauvegarder le fichier LocalSettings.php puis le transférer sur raspberry (régler les droits si nécessaire...)
Le copier dans le conteneur wiki à la racine du site puis entrer dans le conteneur :

 # lxc file push /tmp/wiki/LocalSettings.php wiki/tmp/
 # lxc shell wiki

Déplacer le fichier à la racine du site et régler les droits :

 # mv /tmp/LocalSettings.php /var/www/localhost/htdocs/
 # chown root:www-data /var/www/localhost/htdocs/Localsettings.php

5. Transfert de l'ancien wiki
Sur l'ancien wiki, utiliser l'outil dumpbackup.php pour extraire les pages et les fichiers téléversés :
Se placer dans le dossier 'racine du site'/maintenance/ et lancer la commande :

 # php dumpBackup.php --full --include-files --uploads > /tmp/transfert_wiki.xml

Transférer le fichier sur le serveur (filezip), puis dans le conteneur wiki (push)

Sur le nouveau wiki, donner les droits d'écriture sur le dossier /tmp :

 # chmod 777 /tmp

se placer dans le dossier "chemin du wiki"/maintenance et lancer la commande :

 # php importDump.php --conf ../LocalSettings.php /tmp/transfert_wiki.xml --username-prefix=""

(Reste figé un moment... patience !)

Message de sortie :

 100 (0.81 pages/sec 2.62 revs/sec)
 Done!

You might want to run rebuildrecentchanges.php to regenerate RecentChanges, and initSiteStats.php to update page and revision counts

Sur l'ancien wiki, utiliser mysqldump pour sauvegarder la base de données et transférer le fichier dans le conteneur mariadb.
Sur mariadb :

 # mysqldump -u wiki -p --default-character-set=utf8mb4 wiki < /tmp/transfert_wiki.sql

(les changements ne sont pas visibles sur le site)

Sur wiki (dans /var/www/localhost/htdocs/maintenance)

 # php rebuildrecentchanges.php

Les pages sont là, mais pas la page d'accueil...

Vérifier les extension : voir https://wiki.lesitadom.fr/extensions/README

Différences : LocalisationUpdate, Renameuser

                                • trop le bordel !

compression du dossier complet sur le serveur d'origine, transfert vers le conteneur wiki

 # tar -czf /tmp/transfert_mediawiki.tar.gz /var/www/html/mediawiki

Décompression :

 # tar -xzf /tmp/transfert_mediawiki.tar.gz -C /var/www/localhost/htdocs/

Placer le fourbi à la racine :

 # mv ...patata/mediawiki/* /var/www/localhost/htdocs/

Sauvegarde de LocalSettings.php -> LocalSettings.old
Copie de LocalSettings.php d'origine

Règlage des droits d'après le serveur d'origine :

 # chown -R root:root /var/www/localhost/htdocs/*
 # chown -R root:www-data /var/www/localhost/htdocs/image

Cette méthode ne fonctionne pas : pas la même version de la bdd, php,...



on reprend l'instal...

Pour transférer les images :
Sur le serveur d'origine :

 # tar -czvf /tmp/transfert_images_wiki.tar.gz /var/www/html/mediawiki/images

Copier le fichier sur le serveur cible, puis le copier dans le conteneur.

Sur le conteneur, décompresser le fichier dans un dossier temporaire

Utiliser le script de maintenance pour les importer dans le wiki

 wiki:/var/www/localhost/htdocs/maintenance# php run importImages /tmp/images --search-recursively

ImageMagick ne fonctionne pas (création de vignettes). Il ne parvient pas à écrire dans le "dossier temporaire".
-> Désactivation dans le fichier LocalSettings.php (UseImageMagick = false). GD prend automatiquement le relais.

Il manque des images : celles contenant un espace dans le nom n'ont pas été importées. D'autres manquent, elles ont apparemment étées stockées ailleurs sur le serveur. Utiliser "pages avec des liens brisés".

Reste à voir pour la page d'accueil : les modèles ne fonctionnent pas... Si ! Copie/collage de la page d'un site à l'autre en mode modification.

Lors de la seconde procédure, la base de données était peuplée lors de l'installation et le mécanisme de mise à jour s'est bien déroulé. il faut peut-être commencer par là (transfert de la base de donnée puis installation et récupération des données).