« Wiki » : différence entre les versions
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 = | |||
== Le serveur web == | |||
1. Installation du conteneur | 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 | 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 <br>(sinon ça râle à l'installation...) | |||
# 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 ; | |||
$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 : | 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 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<br> | |||
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<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...) | |||
Sauvegarder le fichier LocalSettings.php puis le transférer sur raspberry (régler les droits si nécessaire...)<br> | |||
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<br> | |||
Sur l'ancien wiki, utiliser l'outil dumpbackup.php pour extraire les pages et les fichiers téléversés :<br> | |||
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 | |||
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 | |||
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 !) | (Reste figé un moment... patience !) | ||
Message de sortie : | Message de sortie : | ||
100 (0.81 pages/sec 2.62 revs/sec) | |||
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 | ||
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 : | |||
# 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 ! | **************** 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 | |||
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<br> | |||
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,... | ||
<br> | |||
******************************<br> | |||
<br> | |||
on reprend l'instal... | |||
Pour transférer les images :<br> | |||
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".<br> | |||
-> 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). | |||
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).