Empaquetage Debian

ElessarElessar Member
août 2013 modifié dans Discussions générales
Bonjour,

Comme j'en avais parlé il y a un ou deux ans, j'ai finalement préparé un paquet Debian de PluXml. Pour les non initiés :
[list=*]
[*]Debian est une distribution GNU/Linux, c'est à dire un système d'exploitation basé sur le noyau Linux — également utilisé pour les systèmes Android et Ubuntu par exemple — et sur les outils du projet GNU. La distribution Debian GNU/Linux est notamment connue pour être très utilisée sur les serveurs, en particulier les serveurs web, et la distribution populaire Ubuntu est basée sur Debian.[/*]
[*]Un paquet est une archive contenant l'ensemble des fichiers constituant un logiciel donné et les procédures nécessaires à son installation, à sa configuration initiale et à sa désinstallation. Dans le cas de Debian, l'ensemble des paquets disponibles — des dizaines de milliers — sont disponibles dans des dépôts centraux, de façon à être installables directement par tous les utilisateurs, sans avoir à chercher où trouver chaque logiciel. Cette conception centralisée, conçue il y a une quinzaine d'années pour la distribution Debian, a été reprise plus récemment pour les systèmes d'exploitation mobiles comme Android et iOS sous le nom de store ou de market, où les paquets sont nommés des applications.[/*]
[/list]

Bref, j'ai préparé un paquet nommé « pluxml », qui devrait arriver dans Debian dans quelques jours ou semaines, dès que les responsables des dépôts centraux l'auront validé. En attendant, il est disponible sur mon site personnel. Une fois arrivé dans Debian, il sera disponible pour tous les utilisateurs de la version de test de Debian, puis une fois cette version publiée, pour tous les utilisateurs de la version stable. La distribution Ubuntu étant dérivée de Debian, il devrait également être disponible dans la prochaine version de cette dernière.

L'installation de ce paquet Debian entraîne par dépendance l'installation automatique d'un serveur web Apache 2 avec le mod_php5 — par défaut, mais l'utilisateur peut choisir à la place lighttpd et php5-fpm —, et pose quelques questions de façon à prendre en charge la configuration initiale de PluXml : langue, nom et mot de passe de l'administrateur, titre… Il configure également le serveur web pour que le blog soit rendu accessible à l'adresse http://serveur/pluxml.

J'espère que ce paquet pourra contribuer à la diffusion de PluXml, qui est un logiciel très intéressant dans la mesure où il existe assez peu de moteurs de blog ou de CMS sans base de données. Je vous tiendrai au courant de l'évolution du paquet, notamment de son intégration effective dans Debian. J'aurai également quelques petites suggestions qui pourraient faciliter ce genre d'intégration, mais ça fera l'objet d'un autre message.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Elessar
    Merci pour cette initiative qui va grandement faciliter le déploiement de PluXml sur debian.
    Quand tu jugeras que tout sera au point, nous sortirons l'info du forum pour qu'elle ait une meilleure visibilité et non pas noyé dans les sujets du forum car cela vaut la pein d'être mis en avant.
    N'hésite pas à contacter P3ter ou Amaury de l'équipe de PluXml si besoin, ils connaissent bien le monde linux
    Merci pour ton travail

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonjour Elessar.

    Excellent, oui excellent. Merci à toi pour l'initiative et le travail.


    Amicalement Steph ;)
  • ZgemaZgema Member
    Bravo à toi pour ce travail.
    Comme dit Stéphane, non seulement il faudra diffuser l'information clairement sur ce site mais aussi mettre à jour les sites où on parle de PluXml (je pense à Wikipédia, Framasoft, etc)
    Encore bravo !
  • Alors, j'avais promis quelques suggestions techniques, les voici. Mais le contexte d'abord : pour un logiciel empaqueté, proprement empaqueté en tout cas, les données qui constitue le logiciel lui-même, ses fichiers de configuration et les données qu'il manipule doivent être séparées. Dans ce cas précis, ça donne ça :

    [list=*]
    [*]les fichiers constituant PluXml, soit *.php, version, core et update, vont dans /usr/share/pluxml ;[/*]
    [*]les fichiers de configuration de PluXml, soit data/configuration/*, sont créés dans /etc/pluxml ;[/*]
    [*]les fichiers manipulés par PluXml ou par l'utilisateur, soit data, plugins et themes, vont dans /var/lib/pluxml.[/*]
    [/list]

    Cette séparation nécessite évidemment des manipulations pour que PluXml puisse continuer à fonctionner. La première manipulation se fait dans le fichier config.php :
    define('PLX_CONFIG_PATH', '/etc/pluxml/');
    

    L'essentiel se fait dans le fichier de configuration parametres.xml, qui est généré par l'installateur du paquet :
    <parametre name="images"><![CDATA[/var/lib/pluxml/data/images/]]></parametre>
    <parametre name="documents"><![CDATA[/var/lib/pluxml/data/documents/]]></parametre>
    <parametre name="racine_articles"><![CDATA[/var/lib/pluxml/data/articles/]]></parametre>
    <parametre name="racine_commentaires"><![CDATA[/var/lib/pluxml/data/commentaires/]]></parametre>
    <parametre name="racine_statiques"><![CDATA[/var/lib/pluxml/data/statiques/]]></parametre>
    <parametre name="racine_themes"><![CDATA[/var/lib/pluxml/data/themes/]]></parametre>
    <parametre name="racine_plugins"><![CDATA[/var/lib/pluxml/data/plugins/]]></parametre>
    

    Sauf que ça ne marche pas, pour plusieurs raisons :

    [list=*]
    [*]tous ces paramètres sont interprétés relativement à PLX_ROOT ;[/*]
    [*]certains fichiers sont utilisés non seulement de l'intérieur, par PluXml, mais également directement par les visiteurs, depuis le web, dans les URL des images par exemple.[/*]
    [/list]

    J'ai contourné cela en utilisant des chemins relatifs, et en plaçant des liens symboliques quand c'était nécessaire, mais cette solution reste un contournement, d'où ces suggestions :

    [list=*]
    [*]pouvoir utiliser des chemins relatifs ou absolus, ce qui devrait pouvoir se faire avec un chdir(PLX_ROOT) — pas nécessaire si la définition de PXL_ROOT est ./ évidemment — puis en utilisant directement les chemins précisés dans les paramètres ;[/*]
    [*]identifier clairement, et séparer, les fichiers qui sont utilisés de l'intérieur en PHP, et ceux qui sont accédés directement depuis le web, et fournir des paramètres de configuration séparés pour les deux : dans un cas ce sont des chemins de fichiers et dans l'autre des URL.[/*]
    [/list]
  • JosJos Member
    Je prend cette discussion un peu en retard, mais juste pour te dire que c'est une très bonne initiative.
  • ElessarElessar Member
    septembre 2013 modifié
    Voilà, le paquet pluxml vient d'être accepté dans Debian, et est maintenant disponible pour la version unstable de Debian, et bientôt pour la version testing si aucun bug critique n'est découvert dans ce paquet.

    Il faudra attendre la publication des prochaines versions de Debian stable et d'Ubuntu pour que PluXml y soit disponible. Si la demande le justifie, je préparerai peut-être un rétroportage pour que les utilisateurs de Debian stable puissent facilement installer PluXml même s'il n'est pas directement disponible pour cette version.

    Si vous voulez faire une annonce officielle ou indiquer cela sur la page de téléchargement, je peux vous aider à rédiger quelque chose.
  • HarukaHaruka PluXml Project Manager
    Super bravo ! Je ferai un petit test et ensuite un article sur notre blog.
    Mais pour les prochaines versions de PluXml comment ça va se passer ? Tu mettras à jour le paquet ?
  • Exactement. Les utilisateurs de Debian unstable verront arriver ces mises à jour automatiquement, et n'auront rien de plus à faire que de les accepter et laisser le gestionnaire de paquets faire le remplacement du moteur de blog sans toucher aux données du blog. Les utilisateurs de Debian testing verront arriver ces mises à jour un peu plus tard — dix jour, si aucun bug critique n'est découvert entre-temps dans la nouvelle version. Et quand la prochaine Debian stable sera publiée, elle gardera la version présente dans la Debian testing au jour de sa publication, jusqu'à la prochaine Debian stable.
  • HarukaHaruka PluXml Project Manager
    Ok, merci beaucoup pour ton aide et ces explications.
  • HarukaHaruka PluXml Project Manager
    Bonjour,

    J'ai installé une Debian avec l'option "Serveur web" coché (apache2).
    Ensuite j'ai passé Debian en Sid (unstable). Et après un "apt-get update" j'ai pu installé le paquet "pluxml" par la commande : apt-get install pluxml. la commande a installé les dépendances PHP ! :)

    Résultat j'ai un dossier /etc/pluxml avec tout le contenu de PluXml et une conf dédiée à PluXml dans /etc/apache2/conf.d.

    Si on test directement après l'installe, avec un navigateur depuis un autre PC en interrogeant l'IP de la Debian sur le port 80, on arrive toujours sur la page par défaut d'Apache avec le fameux "It's work !".

    Je me suis arrêté là pour l'instant.

    Pour la suite, Elessar qu'est-ce que tu préconises de faire pour accéder au site ? Créer un virtualhost sur la racine /etc/pluxml ? Créer un lien symbolique de /var/www vers /etc/pluxml ? autre chose ? Sachant qu'un "apt-get upgrade", qui mettrais à jour le paquet pluxml, ne devrait pas casser l'accès au site (on arriverait juste sur la page d'installation de la nouvelle version et pas sur le "It's work !",une erreur 404 ou autre).


    On mettra à jour la documentation utilisateur et le wiki avec cette nouvelle façon d'installer PluXml :-)
  • Il me semble que c'est plus un problème apache que pluxml. Est-ce que tu arrives à pinguer ta debian depuis l'autre pc ?
  • ElessarElessar Member
    septembre 2013 modifié
    P3ter a écrit:
    J'ai installé une Debian avec l'option "Serveur web" coché (apache2).
    Ensuite j'ai passé Debian en Sid (unstable). Et après un "apt-get update" j'ai pu installé le paquet "pluxml" par la commande : apt-get install pluxml. la commande a installé les dépendances PHP ! :)

    C'est le but !
    P3ter a écrit:
    Si on test directement après l'installe, avec un navigateur depuis un autre PC en interrogeant l'IP de la Debian sur le port 80, on arrive toujours sur la page par défaut d'Apache avec le fameux "It's work !".

    Tu essaies bien d'accéder à http://IP/pluxml ? L'intérêt de cette configuration par défaut, qui rend PluXml accessible sous l'URL /pluxml, c'est qu'elle fonctionne partout et est relativement adaptée pour commencer à utiliser PluXml, même si elle ne correspond pas forcément à ce que tout le monde voudra faire in fine.
    P3ter a écrit:
    Pour la suite, Elessar qu'est-ce que tu préconises de faire pour accéder au site ? Créer un virtualhost sur la racine /etc/pluxml ?

    Attention, la racine de PluXml, c'est /usr/share/pluxml, cf. le fichier de configuration généré pour Apache /etc/apache2/conf-available/pluxml.conf. La plupart des gens voudront définir un hôte virtuel en effet, avec /usr/share/pluxml comme ServerRoot du coup.
    P3ter a écrit:
    Sachant qu'un "apt-get upgrade", qui mettrais à jour le paquet pluxml, ne devrait pas casser l'accès au site

    …ne devrait rien casser du tout si tout va bien !
  • Petite note concernant ce paquet : à l'installation, il pose des questions sur le serveur web à configurer — Apache ou lighttpd —, la possibilité de modifier la configuration par l'interface web, la langue, le titre, la description, le nom, l'identifiant et le mot de passe de l'administrateur. Bref, deux debiannerie — le choix du serveur web à configurer et la configuration modifiable par le web — puis ce que l'install.php demanderait sinon. Ensuite, il génère les fichiers de configuration à partir des réponses.

    Il est important de noter que toutes ces questions n'ont pas la même priorité. La plupart sont de priorité moyenne parce qu'il y a une réponse par défaut raisonnable : serveur Apache, configuration non modifiable par le web, langue anglais, identifiant « admin »… Une est de priorité haute parce qu'il n'y a pas de réponse par défaut raisonnable, le mot de passe d'administration.

    La configuration par défaut de l'interface de configuration, debconf, est il me semble de n'afficher que les questions de priorité haute. L'essentiel des questions sera donc omis et prendra les valeurs par défaut. Certains font le choix de n'afficher que les questions de priorité critique — aucune pour PluXml — ou carrément aucune question du tout. Dans ce cas, aucune question ne sera posée, et même le mot de passe prendra une valeur par défaut, insensée, qui est la chaîne vide.

    Pour ceux donc, qui n'auraient eu aucune question à l'installation, ou seulement le mot de passe, vous pouvez relancer manuellement la configuration du paquet :
    # dpkg-reconfigure pluxml
    

    Et, si vous êtes dans ce cas, pensez à modifier la configuration de l'interface de configuration, debconf, qui ne correspond manifestement pas à ce que vous voulez généralement puisqu'elle passe des questions concernant des choses vous voudriez pouvoir régler :
    # dpkg-reconfigure debconf
    
  • HarukaHaruka PluXml Project Manager
    C'est parfait tout fonctionne il manquait le "/pluxml" dans l'URL que je testais.

    Merci pour les infos, j'ai même appris des choses sur Debian.
    Je prépare un article et il faudrait un tuto pour le wiki, Elessar si tu as le temps et la motivation peux-tu rédiger quelque chose ? Sinon je m'y collerai.

    En tout cas c'est du beau boulot, un grand merci à toi ;-)
  • HarukaHaruka PluXml Project Manager
    Parfait ! Un grand merci.
  • ElessarElessar Member
    septembre 2013 modifié
    Au fait, une info qui est plutôt anecdotique pour nous mais qui a son intérêt pour le reste du monde : le choix de la langue est proposé sous la forme d'une question d'installation, qui sera elle-même traduite en plusieurs langues de façon à être affichée dans la langue de l'utilisateur, avec cette même langue comme choix par défaut si elle est prise en charge.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    novembre 2017 modifié
    Attention que ce paquet Debian casse toute l'arborescence des fichiers de PluXml.

    Bon courage pour faire une sauvegarde de votre site ]:D

    Et pour dupliquer le site sur Internet, t'oublies !

    Pour faire une installation plus classique, suivre ce fil de discussion :
    http://forum.pluxml.org/viewtopic.php?pid=55841
Connectez-vous ou Inscrivez-vous pour répondre.