Accueil › Forums › Gestion d’un serveur WIMS › Installation d’un serveur WIMS › Création d'un paquet Wims pour Debian Stretch, quelques questions
- Ce sujet contient 11 réponses, 3 participants et a été mis à jour pour la dernière fois par François Lafont, le il y a 7 années et 1 mois.
-
AuteurMessages
-
-
27 octobre 2017 à 17:08 #4033François LafontParticipant::
Bonjour à tous,
Je suis administrateur système pour l’Éducation Nationale et pour l’académie de Versailles en particulier, où il est question de remplacer notre serveur « d’exerciseur » de maths (qui s’appelle Euler) par Wims. Pour l’instant, le projet n’est qu’à ses débuts.
Je me suis lancé dans l’installation de Wims (que je connais fort mal en tant qu’utilisateur d’ailleurs, pour l’instant je me place côté système forcément ;)) et en fait nous avons besoin d’une version assez proche de la version upstream. C’est pourquoi la version packagée de Debian Stretch (c’est l’OS utilisé ici) ne me convient pas. Mais pour faciliter les mises à jour sur le (futur) serveur de production, je voulais disposer d’un package Debian à partir des sources.
C’est chose fait avec ceci (sur une Debian Stretch donc) :
echo ‘deb http://apt.flaf.fr/ misc main’ >/etc/apt/sources.list.d/wims.list
wget http://apt.flaf.fr/pub-key.gpg -O – | apt-key add –
apt-get update && apt-get install wimsAttention, l’url du dépôt est provisoire, à terme je devrais déplacer le dépôt sur un nom de domaine en ac-versailles.fr.
Normalement, après le apt-get, on a un Wims UP avec Apache2 (l’envoi de mails n’est pas configuré et le fichier wims.conf n’est pas managé par le package, il m’a semblé que ce n’est pas le rôle du package). Tout est installé dans /opt/wims/.
Déjà, pour commencer, je serais très intéressé par de retours car, comme je le disais, je connais assez mal Wims et en vérité je ne suis pas très à même de vérifier que l’installation est valide à 100%. En fait, en faisant ce package, cela m’a conduit à plusieurs questions qui sont l’objet de ce message.
1. Je me suis inspiré de cette page http://wiki.wimsedu.info/doku.php?id=installation:debian:manual pour le build. Mais ne manque-t-il pas l’installation de Java (openjdk-8-jdk sur Debian Stretch) ? Sauf erreur, javac est nécessaire pour builder certaines choses, même si, sans lui, la compilation globale se termine sans erreur malgré tout. Du coup, j’ai un doute… 😉
2. Java est-il nécessaire pour l’exécution de Wims (pas pour le build qui concerne le point 1 dessus mais bien pour l’utilisateur de Wims). Autrement dit, faut-il que openjdk-8-jdk soit une dépendance de mon paquet wims ?
3. J’ai un aussi doute sur les fichiers/répertoires à inclure (et à ne pas inclure) dans le package. Une fois le
./compile
terminé, on est d’accord que je n’ai pas besoin d’inclure ./src/ dans le package, n’est-ce pas ? Et ./tmp/, doit-il être inclus ? On dirait que oui car j’ai vu un fichier /opt/wims/tmp/log/wimslogd.new qui semble important pour wims. Du coup, j’ai inclus dans le package tous les fichiers/répertoires sauf ./src/, j’ai bon ?4. Le point le plus important pour moi. Après la compilation, j’ai donc inclus dans le package tous les fichiers/répertoires qui se trouvent à la racine, sauf /src/. Est-ce que j’ai la garantie qu’aucun de ces fichiers ne sera modifié par l’application Wims ? En effet, l’idée de ce package pour moi est de faciliter les mises à jours. Or par défaut, lors d’un upgrade, le traitement d’un fichier du package c’est (en général) :
a) d’être écrasé
b) puis remplacé par sa nouvelle version.Je ne donc voudrais pas que le package efface des données utilisateur ou de configuration lors des mises jour, bien évidemment. Le but est au contraire de pouvoir faire des mises à jour les plus transparentes possibles.
5. À quoi correspond le lien wimsdev-latest.zip sur cette page https://sourcesup.renater.fr/frs/?group_id=379 ? Est-ce la dernière release, ie la version 4.15b au moment où ces lignes sont écrites ? Ou bien est-ce un tar.gz de l’état du dépôt SVN suite au dernier commit effectué ?
6. J’ai constaté que
bin/true
etbin/false
du dépôt SVN plantent sur ma VM 64 bit. Du coup, je les virés et j’ai mis à la place les binaires true et false de mon OS, j’imagine que ce ‘est pas un souci, n’est-ce pas ?7. Juste après la compilation, il y a un répertoire __MACOSX/ dans tmp/. On est d’accord que ce n’est pas quelque chose à garder et que c’est juste un résidu qui traîne ?
8. J’ai constaté un fonctionnement étrange pour le fichier wimslogd. Il est présent juste après l’installation dans tmp/log/wimslogd.new mais dès la première requête Apache, le fichier disparaît de tmp/log/ et semble être déplacé dans bin/. Du coup, est-ce que a) b) c) ci-dessous sont corrects lors d’une mise à jour de Wims (via le package) ?
a) rm de bin/wimslogd
b) installation du package nouvelle version de wims avec un « nouveau » tmp/log/wimslogd.new,
c) restart de apache2.9. Par ailleurs, est-ce possible de savoir à quoi sert ce fichier… en gros. Je constate dès la première requête Apache que le fichier bin/wimslogd semble tourner en mode daemon. C’est normal ?
10. Quand c’est possible, j’aime bien désactiver la prise en charge des .htaccess pour Apache pour améliorer les performances (via AllowOverride None). Mais il semble que wims fait un usage important des .htaccess. Vous me confirmez que mettre
AllowOverride None
est impossible au niveau du Apache dans le cas de Wims ?Voilà. 🙂
Désolé pour ce message un peu fleuve et merci d’avance pour votre aide.
François Lafont -
27 octobre 2017 à 17:12 #4034OlivierMaître des clés::
1. Je me suis inspiré de cette page http://wiki.wimsedu.info/doku.php?id=installation:debian:manual pour le build. Mais ne manque-t-il pas l’installation de Java (openjdk-8-jdk sur Debian Stretch) ? Sauf erreur, javac est nécessaire pour builder certaines choses, même si, sans lui, la compilation globale se termine sans erreur malgré tout. Du coup, j’ai un doute… 😉
En fait, java n’est necessaire que pour la version « développeur » de WIMS. (celle qu’on obtient via SVN)
Dans la version standard (le tgz), toutes les classes java sont précompilées et incluses dans l’archive.2. Java est-il nécessaire pour l’exécution de Wims (pas pour le build qui concerne le point 1 dessus mais bien pour l’utilisateur de Wims). Autrement dit, faut-il que openjdk-8-jdk soit une dépendance de mon paquet wims ?
Non : pas besoin de Java. seuls certains modules (et de moins en moins) incluent des applets, qui ne seront exécutées que dans le navigateur des utilisateurs
- Cette réponse a été modifiée le il y a 7 années et 2 mois par Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
27 octobre 2017 à 17:21 #4036OlivierMaître des clés::
4. Le point le plus important pour moi. Après la compilation, j’ai donc inclus dans le package tous les fichiers/répertoires qui se trouvent à la racine, sauf /src/. Est-ce que j’ai la garantie qu’aucun de ces fichiers ne sera modifié par l’application Wims ? En effet, l’idée de ce package pour moi est de faciliter les mises à jours. Or par défaut, lors d’un upgrade, le traitement d’un fichier du package c’est (en général) :
a) d’être écrasé
b) puis remplacé par sa nouvelle version.Je ne donc voudrais pas que le package efface des données utilisateur ou de configuration lors des mises jour, bien évidemment. Le but est au contraire de pouvoir faire des mises à jour les plus transparentes possibles.
Les données utilisateur seront essentiellement stockées dans le répertoire « log ». (oui je sais ca peut sembler étrange 😉 c’est d’ailleurs également ici qu’on retrouve le fichier wims.conf
Les sessions utilisateurs seront dans les dossiers « sessions » et « s2 »
et en effet le dossier « tmp » est un dossier de travail.Pour ma part, je ne suis pas certain que la construction d’un paquet debian comme vous le décrivez soit une bonne idée. Surtout si la raison est de « faciliter » les mises à jour. En effet : ces dernières sont assez simple :
http://wiki.wimsedu.info/doku.php?id=installation:debian:debian_upgrade
Olivier Bado-Faustin / Université Côte d’Azur
-
30 octobre 2017 à 00:00 #4040François LafontParticipant
-
30 octobre 2017 à 09:44 #4041OlivierMaître des clés::
En fait, je pense que vous devriez vous rapprocher de Georges Khaznadar. C’est lui qui maintient le paquet WIMS pour Debian.
Je pense qu’ensemble vous devriez pouvoir rapprocher le paquet de la version « upstream », ce qui me semble préférable à maintenir un dépôt parallèle.Olivier Bado-Faustin / Université Côte d’Azur
-
30 octobre 2017 à 10:57 #4042François LafontParticipant::
Hello,
En fait, je l’avais déjà fait mais c’est ce n’est pas si simple car le package de Georges est respectueux de la Debian Policy ce qui engendre beaucoup de contraintes, de complexités et donc de travail. Le package que j’ai fait est beaucoup simple mais, du coup, pas respectueux pour un sou de la Debian Policy (c’est un paquet qui n’aurait aucune chance d’être accepté dans les dépôts officiels Debian en l’état). C’est vraiment deux mondes différents. Je le sais bien parce que j’ai moi-même déjà eu l’occasion de proposer un package sur les dépôts officiels Debian, package qui a été sponsorisé par Georges justement. 😉
Je pense qu’en l’état j’ai quelque chose qui fonctionne et, à moins que la méthode de compilation évolue, je ne devrais plus avoir grand chose à changer de ce côté là.
Juste une chose qui aurait été pratique pour moi, c’est qu’il existe une url « constante » qui pointe toujours faire un .zip ou un .tar.gz du dépôt tel qu’il se se trouve après le dernier commit en date. Github par exemple propose ce genre de chose par défaut et pour faire du packaging upstream c’est assez commode.
À+
-
30 octobre 2017 à 12:16 #4043bernadetteMaître des clés::
C’est presque le cas pour les versions release
https://sourcesup.renater.fr/frs/download.php/latestfile/531/wims-4.15b.tgz
Il n’y a que le numéro de version à changer (le 531 est stable !)
Pour le svn, on ne préfère pas, il peut vraiment y avoir des versions boguées
et c’est déconseillé sur un serveur en production (même si les versions stables
ne le sont pas toujours !!). Si vous voulez vraiment la version svn pour un serveur de développement, autant faire un svn update tous les matins dans un crontab. Enfin, c’est ce que je fais.Bernadette
- Cette réponse a été modifiée le il y a 7 années et 1 mois par bernadette.
-
30 octobre 2017 à 13:42 #4045François LafontParticipant::
Hello.
Merci Bernadette pour ta réponse. Pour les releases, j’utilise cette page :
https://sourcesup.renater.fr/frs/?group_id=379
dans laquelle, la dernière release (4.15b) est accessible via ce lien là :
https://sourcesup.renater.fr/frs/download.php/file/5344/wims-4.15b.tgz
Mais j’imagine que ça revient au même que le lien que tu as indiqué.
Sinon, ok pour SVN, je me limiterai à la dernière release c’est plus prudent, et ce sera déjà très bien comme ça. Merci pour l’aide.
-
30 octobre 2017 à 16:56 #4046bernadetteMaître des clés
-
30 octobre 2017 à 22:14 #4047François LafontParticipant::
Pour les liens qui se trouvent sur la « page de releases » (https://sourcesup.renater.fr/frs/?group_id=379), ce n’est pas pas un souci s’ils ne sont pas constants. En effet, pour aller chercher le bon tgz (en fonction du numéro de version), Debian fournit un outil qui s’appelle watch et qui parse le code html de la page de releases afin de trouver automatiquement le lien vers le tgz du code source. Il faut juste fournir à watch une petit regex pour l’aider à trouver le lien. Sur ce point, je ne me suis pas trop cassé la tête, j’ai globalement repris le fichier watch du paquet Debian officiel fait par Georges Khaznadar. 😉
Sinon, pour la liste, non, je ne suis pas inscrit mais effectivement ça m’intéresserait de l’être afin de savoir quand une nouvelle release est disponible. Où puis-je procéder à l’inscription ?
-
31 octobre 2017 à 08:59 #4048OlivierMaître des clés::
Sinon, pour la liste, non, je ne suis pas inscrit mais effectivement ça m’intéresserait de l’être afin de savoir quand une nouvelle release est disponible. Où puis-je procéder à l’inscription ?
Sur la page des releases; il y a une petite enveloppe : c’est un lien qui permet de « surveiller ce paquet » :
https://sourcesup.renater.fr/frs/?group_id=379
(il faut être connecté avant de cliquer sur l’enveloppe)- Cette réponse a été modifiée le il y a 7 années et 1 mois par Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
31 octobre 2017 à 10:43 #4050François LafontParticipant
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.