Gestion:Infrastructure
Cette page donne les détails des procédures de l'administration de l'infrastructure informatique de Wikimedica. Les administrateurs système sont:
Pour de plus amples informations concernant la configuration logicielle de ce wiki, veuillez vous référer à la page Spécial:Version.
1 Description[modifier | w]
Wikimedica esthébergé sur un Koozali SME Server 9.2, basé sur Centos 6, dans une machine virtuelle dédiée au projet par Jean-Philippe Pialasse . Le serveur matériel (64GB Ram, 4 x 2TO SATA (RAID 1 x 2), Intel Xeon ES-1630 3.70 Ghz 2 core) est hébergé à Beauharnois (Québec) par la société OVH via leurs offres soyoustart.
Il existe deux versions de Wikimedica:
- La version de production, disponible à wikimedi.ca.
- La version mirroir de développement/test, disponible à test.wikimedi.ca et protégée par un .htpasswd (test / testtest) afin d'éviter son indexage.
Les services en place sont les suivants:
- Une base de données MariaDB.
- Un serveur ElasticSearch.
- Un serveur mw-serve pour la génération de livres PDF.
1.1 Historique[modifier | w]
Ce wiki a été initialement hébergé par Utilisateur:Antoine Mercier-Linteau sur un serveur partagé CentOS 7.3 fourni par Webfaction à Amsterdam aux Pays-Bas.
2 Tâches[modifier | w]
À faire | 6 / 12 | |
---|---|---|
En cours | 5 / 11 | |
En test | 1 / 12 | |
Terminées | 37 / 49 |
3 Courriel organisationnel[modifier | w]
Pour obtenir un courriel organisationnel, en faire la demande auprès des administrateurs système. L'adresse courriel qui vous sera assignée sera de la forme prénom.nom@wikimedi.ca. Le mot de passe initial vous sera fourni par un administrateur. Vous serez ensuite invités à aller le changer en vous rendant à https://wikimedi.ca/user-password.
Protocole | Adresse | Sécurité | Port | Utilisateur | Mot de passe | |
---|---|---|---|---|---|---|
Courriel entrant | IMAP | wikimedi.ca | SSL / TLS | 993 | prénom.nom | Votre mot de passe. |
Courriel sortant | SMTP | wikimedi.ca | SSL / TLS | 465 | prénom.nom | Votre mot de passe. |
4 Statistiques[modifier | w]
Des statistiques de traffic sont compilées pour la plateforme avec Matomo, elles sont disponibles à stats.wikimedi.ca.
5 Outils[modifier | w]
- Bannière pour annoncer une maintenance sur la plateforme: MediaWiki:Sitenotice
5.1 Procédures[modifier | w]
6 Mise à jour logicielle[modifier | w]
Cette section explique la procédure de mise à jour de l'infrastructure informatique de Wikimedica. Idéalement, il est préférable de faire la mise à jour sur le serveur de test, de tester les fonctionnalités clés, puis d'appliquer les changements sur le serveur de production.
6.1 Changement de version majeure[modifier | w]
Lors d'un changement de version majeur de MediaWiki, il est indiqué de suivre ces étapes:
Au préalable, faire un dump de la base de donnée:
sudo mysqldump --socket=/var/lib/mysql/mysql57.sock wikimedica > wikimedica.dump
Puis:
git fetch
git checkout <branchname> --force # REL1_34 par exemple, pour suivre la nomenclature de nommage des version de MediaWiki
git submodule foreach 'git fetch origin' # Mise à jour de tous les sous modules git (extensions de base, skins, etc.)
git submodule foreach 'git checkout <branchname> --force' # Changement à la version choisie pour les sous-modules
find extensions -maxdepth 1 -type d -exec sh -c '(cd {} && git fetch)' ';' # Mise à jour du dépôt des extensions ajoutées
find extensions -maxdepth 1 -type d -exec sh -c '(cd {} && git checkout <branchname> --force)' ';' # Changement à la version choisie pour les extensions ajoutées
/usr/bin/php73 -d allow_url_fopen=1 composer.phar update --no-dev #--no-plugins peut être ajouté si composer se plaint d'un problème de compatibilité
/usr/bin/php73 -d allow_url_fopen=1 composer.phar require mediawiki/semantic-media-wiki # Réinstallation de SMW (supprimé lors de la mise à jour initiale)
/usr/bin/php73 composer.phar require geoip2/geoip2 # Pour WikimedicaAccount
/usr/bin/php73 composer.phar require google/cloud-translate:^1.2 # Pour ContentImporter
S'assurer que les identifiants sont les bons
/extensions/LocalSettings/db.php
si c'est le serveur de test qui est mis à jour./usr/bin/php73 maintenance/update.php[note 1]
/home/e-smith/files/ibays/Primary/html/.well-known/acme-challenge
6.1.1 VisualEditor[modifier | w]
L'extension VisualEditor a aussi besoin que l'on mette à jour ses sous-modules:
cd extensions/VisualEditor
git submodule update
6.2 Mise à jour des services satellites[modifier | w]
6.2.1 Elasticsearch[modifier | w]
Il se peut qu'après un changement de version d'Elastisearch, il faille forcer le réindexage des pages de Wikimedica en raison d'un bogue avec l'indexation des pages Scribunto (voir Wikimedica:Tâches/Liste/140).
/user/bin/php71 extensions/CirrusSearch/maintenance/forceSearchIndex.php
7 Resynchronisation du serveur de test[modifier | w]
7.1 Images[modifier | w]
sudo rm -rf /home/e-smith/files/ibays/test/html/images/*
sudo cp -a /home/e-smith/files/ibays/Primary/html/images/. images/
7.2 Extensions[modifier | w]
sudo rm -rf /home/e-smith/files/ibays/test/html/extensions/*
sudo cp -a /home/e-smith/files/ibays/Primary/html/extensions/. extensions/
S'assurer de restituer les bonnes informations dans
/extensions/LocalSettings/db.php
.7.3 Base de données[modifier | w]
mysqldump --socket=/var/lib/mysql/mysql57.sock -u wikimedica -p wikimedica > wikimedica.dump
mysql --socket=/var/lib/mysql/mysql57.sock -u wikimedicatest -p wikimedicatest < wikimedica.dump
rm wikimedica.dump
7.4 LocalSettings.php[modifier | w]
Le fichier LocalSettings.php est conservé dans un dépôt git.
cd extensions/LocalSettings git pull
7.5 Fonctionnalités à tester[modifier | w]
Durant les tests, la console de déboggage du navigateur doit être ouverte afin d'attraper les erreurs javascript.
- Édition d'article avec l'ÉditeurVisuel
- Téléversement d'images avec l'ÉditeurVisuel
- Affichage d'une page avec des fonctionnalités sémantiques (ex: Wikimedica:Tâches)
- Création d'une page avec un formulaire (ex: création d'une tâche)
- Génération de livres PDF
- Tours guidés
8 Déploiement d'une version locale vers le serveur[modifier | w]
- Rétablir le
.htaccess
à la racine (et s'assurer que l'URL/extensions
donne un 403)
9 Débogage du générateur de PDF[modifier | w]
Le générateur de PDF plante souvent, voici des commandes utiles pour le déboguer.
Contrôle scripts | sudo systemctl stop nslave; sudo systemctl stop nserve; sudo systemctl stop mw-qserve
|
---|---|
Script des services | /etc/systemd/system/nserve|nslave|mw-qserve.service
|
Logs | /var/log/mediawiki/
|
Quel process utilise un port ? | sudo lsof -i :20361
|
Affichage des logs | journalctl -u nslave.service -u nserve.service -u mw-qserve.service -f
|
Tester le rendu en commandline | mw-render -w rl --output py.pdf -c https://sme10.wikimedi.ca/ --collectionpage=Externat/Livre/Chirurgie
|
10 Gérer les jails de fail2ban[modifier | w]
Se fait avec la commande sfail2ban
.
11 Notes[modifier | w]
- ↑ Si
update.php
donne des erreurs de version de paquet incongrues, utiliser--skip-external-dependencies