SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Administration > Mutualisation > Archives Mutualisation

Spip-Clône : Gestion de sites en quantité

dimanche 31 juillet 2005, par mathieu, Perline. Dernier ajout vendredi 8 décembre 2006


Spip-Clône est un outil pour simplifier l’installation, la configuration et la mise à jour de sites SPIP en grandes quantités sur un serveur aux ressources modestes.


Spip-Clône est un outil pour simplifier l’installation, la configuration et la mise à jour de sites Spip en grandes quantités sur un serveur aux ressources modestes (techniques et humaines).

- Public : Administrateurs de nombreux sites sous Spip sur un même serveur (faut l’admettre, c’est d’un usage plutôt précis!).

Pour le moment, c’est encore au stade plutôt expérimental, mais c’est utilisé en « production » depuis quelques mois. En plus de permettre les mises à jour rapides, chaque site Spip utilise que 2-3 mo pour l’antémémoire (cache) et environs 1 mo pour la base de données (économisant ainsi environs 10 mo de code php et d’images).

L’outil utilise le terme "clône" car une copie centrale (non-utilisée) de Spip est installée et chaque site n’est qu’un clône des fichiers, grâce à des liens symboliques (unix/linux/macosx : commande ln -s).

JPEG - 63.6 ko
Écran principal
Écran affiché suite à l’authentification de l’administrateur par Spip.

Nous vous invitons à tester/commenter l’outil en téléchargeant le code suivant. L’installation a été largement simplifée, mais l’outil exige quand même quelques connaissances techniques, telles que la manipulation de chemin d’accès Unix et une certaine compréhension entre le chemin d’accès sur disque d’un site web et son adresse web.

JPEG - 35.6 ko
Création d’un nouveau site

Fonctionalités disponibles

- Création d’un site à partir d’une copie centrale de Spip
- Propagation de mots-clés (et groupes) à partir d’un site de référence
- Modification par le web à mes_fonctions.php3 et mes_options.php3

L’outil vise à offrir un plus haut niveau d’automatisation, mais pour le moment, c’est où nous en sommes.

Installation

- Décompacter SPIP dans un répertoire quelconque (idéalement dans un répertoire qui n’est pas accessible par le web et dont les fichiers sont en lecture seules). On peut donc imaginer la hiérarchie de fichiers qui suit :

(...)/public_html/
(...)/spip_core/
(...)/spip_core/ecrire/
... etc ...

où "public_html" est le répertoire qui héberge votre site web.

- Télécharger le code (ci-dessous) vers le serveur.
- Décompresser si nécessaire ($ tar zxfv spip_clone-0.x.x.tar.gz) afin que le répertoire spip_clone soit dans le répertoire du Spip (i.e. au même niveau que le répertoire "écrire"). On obtient donc le résultat suivant :

(...)/public_html/
(...)/public_html/admin/spip_clone/
(...)/public_html/admin/spip_clone/spip_clone.php (etc.)
(...)/spip_core/
(...)/spip_core/ecrire/
... etc ...

On peut se passer du site "admin", mais en installant un SPIP admin, spip-clône pourra propager des mots-clés entre sites et gérer l’accès à l’interface. Sans SPIP admin, il faudra créer un .htaccess dans le répertoire spip-clône pour restreindre l’accès.

- À l’aide d’un navigateur web, visiter spip_clone.php (www.votre-site.net/spip_clone/spip_clone.php) pour démarrer sa configuration.

  • Ce script demandera où est situé le SPIP "source". Dans l’exemple de cet article, la source est "../spip_core/" ou "/chemin/complet/vers/admin/spip_core/" (préférable).
  • Quant au répertoire de squelettes, il s’agit de créer un répertoire parallèle à spip_core où chaque sous-répertoire est un choix de squelette. Par exemple :

(...)/public_html/
(...)/public_html/admin/spip_clone/
(...)/spip_core/
(...)/spip_squels/
(...)/spip_squels/1er_squelette/
(...)/spip_squels/2e_squelette/
(...)/spip_squels/ ... etc ...

Voilà, c’est prêt. Maintenant, l’étape recommandée est de créer pour premier clône le SPIP administratif, c’est à dire, de créer un clône dans le répertoire (...)/public_html/admin/. Quand c’est prêt, configurer le site via ecrire comme avec n’importe quel site SPIP, et une fois prêt, les administrateurs de ce site seront les seuls qui pourront créer de nouveaux clônes.

C’est aussi la raison pour laquelle il est recommandé de créer un site "admin" et non d’utiliser un site actif pour référence, à moins que ce site ait un seul administrateur.

Développements futurs

Consulter le Spikini de Spip-Contrib :
- http://www.spip-contrib.net/spikini...

Code source

- Licence : GPL
- Auteur : Mathieu Lutfy (www.bidon.ca)
- Système d’exploitation : Unix, Linux, MacOSX

Documents joints


Répondre à cet article

  • Spip-Clône : Gestion de sites en quantité

    6 décembre 2005 15:09, par asso.bachant

    Bonjour a vous ...........

    je cherche a installer votre contrib pour des test perso.......

    ceux ci est un pas a pas pour vous aider a améliorer votre contrib , voir lever des bugs ou dire simplement superbe ça marche.


    Allez on y va :

    - hebergeur free :

    - Création des repertoires

    Spip-Clone ; celui ci reçoit la contrib.

    a l’interieur : admin installer un Spip sur un site quelconque accessible par le Web, disons : /admin/.

    spip_clone écompacter Spip-Clône dans le répertoire de ce site. Il sera donc accessible par /admin/spip_clone/.

    spip_core Décompacter, mais ne pas installer, un Spip sur un répertoire quelconque.

    spip_squels Optionnellement, créer un répertoire de squelettes qui peuvent être fournis par défaut. Par exemple,

    Ensuite lancement de : http://bachant.free.fr/Spip-Clone/ puis http://bachant.free.fr/Spip-Clone/admin/ puis http://bachant.free.fr/Spip-Clone/a... puis http://bachant.free.fr/Spip-Clone/a...

    Tout d’abord : j’ai les erreurs suivantes : Notice : Undefined index : conf_spipcore in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 42

    Notice : Undefined index : conf_spipsquels in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 43

    Notice : Undefined index : conf_mes_fonctions in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 44

    Notice : Undefined index : conf_mes_options in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 45

    Notice : Undefined index : conf_vhostsbase in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 46


    puis lorsque Créer un nouveau site sous SPIP

    celles-ci :

    arning : opendir(../spip_squels/) : failed to open dir : No such file or directory in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 54

    Warning : readdir() : supplied argument is not a valid Directory resource in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 55

    Warning : closedir() : supplied argument is not a valid Directory resource in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 66


    et je me retrouve la :

    Notice : Undefined index : select_squelettes in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/spip_clone.php on line 181 Spip-Clone / Création d’un nouveau clône, étape 2

    Warning : file_exists() : Unable to access / in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 623

    Warning : mkdir() : Unable to access / in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 624

    Erreur : Le répertoire cible n’existe pas et je n’ai pas le droit de le créer.


    EN BREF / AU SECOURS..............

    Voir en ligne : spip-clone

    Répondre à ce message

    Retour au début des forums

  • Spip-Clône sur serveur mutualisé

    26 septembre 2005 18:13, par Stéphane Santon G.

    Problèmes d’installation 0.3.2 sur le serveur mutualisé de ClaraNet.
    Je suis un utilisateur Windows qui connais très peu sur Linux.
    Mon phpinfo me dit que safe_mode est on (je ne sais pas ce que ça induit).

    Organisation :

    • /LeCheminPerso/public/ Mon espace perso
      • tice Un de mes sites publics (source du clone)
        • spip_clone Installation de spip_clone
      • clone Un de mes sites publics (cible du clone)

    En lançant l’install, j’ai les messages :

    Je lance quand même le paramétrage.
    Même Warning en ligne 54, mais Configuration enregistrée.

    Dans l’administration, je crée le clone dans /public/clone/spip/. Ca a l’air OK. Dans FileZilla, je vois tous les fichiers “liens” de 1k.

    Mais à l’exécution du nouveau SPIP, impossible d’accèder aux scripts php. Toute url du style clone.mondomaine.com/spip/article.php?id_article=1 donne :

    Aucun .htaccess dans le dossier.

    Répondre à ce message

    Retour au début des forums

  • > Spip-Clône : Gestion de sites en quantité

    11 août 2005 22:03, par Jac

    L’idée est très séduisante, mais les explications relatives à l’installation ne sont pas claires et ne semblent pas cohérentes.

    Comment est-il possible que "le répertoire spip_clone soit dans le répertoire du Spip" alors que spip_clone doit être accessible sur le web, tandis que spip_core est "idéalement dans un répertoire qui n’est pas accessible par le web".

    En tous cas, malgré de nombreux essais, je n’obtiens aucun résultat.

    J’en arrive à me demander si l’auteur n’a pas amélioré son code en oubliant d’adapter les explications (ou bien le contraire) ...

    D’avance merci, si quelqu’un a pu utiliser ce sytème et peut donner des explications un peu plus claires et plus précises. Jac

    Voir en ligne : Spip-Clône : Gestion de sites en quantité

    Répondre à ce message

    • > Spip-Clône : Gestion de sites en quantité 13 août 2005 15:58, par Mathieu Lutfy

      En effet, il y a un léger problème d’oeuf et la poule avec cette contrib.. voici ce que je conseille :

      1. Installer un Spip sur un site quelconque accessible par le Web, disons : /admin/.
      2. Décompacter Spip-Clône dans le répertoire de ce site. Il sera donc accessible par /admin/spip_clone/.
      3. Décompacter, mais ne pas installer, un Spip sur un répertoire quelconque. Ce dernier doit être sous l’arborescence de « admin » uniquement si PHP roule en « safe-mode » (mais dans ce cas, je pense que le script aura quelques problèmes..). Chez moi, c’est /home/mathieu/scripts/spip_core/.
      4. Optionnellement, créer un répertoire de squelettes qui peuvent être fournis par défaut. Par exemple, /home/mathieu/scripts/spip_squels/. Chaque entrée dans ce répertoire est un répertoire de squelettes. On peut donc avoir spip_squels/10_premier, spip_squels/15_second et ainsi de suite..
      5. Lancer la configuration de spip-clône : accéder à http://.../admin/spip_clone/spip_clone.php
        1. L’authentification à spip-clône utilise celui du Spip « admin ».
        2. Dans la conf, la « source Spip » et le « core » mentionné ci-haut. C’est le Spip qui servira de référence aux autres sites Spip, et c’est pourquoi ce spip ne devrait pas être utilisé. De plus, pour le moment je conseille d’installer avec l’option « un seul utilisateur pour tous les sites ».

      Du côté de l’admin du serveur Web, je conseille que soit :
      - les clônes soient tous dans un sous-répertoire d’un site, tel que foo.net/site1, foo.net/site2, etc.
      - ou les clônes soient dans une arborescense utilisant une configuration semblable à :

      <VirtualHost .......>
        <Directory /var/www/vhosts>
          Options Indexes Includes FollowSymLinks
          AllowOverride All
        </Directory>

        UseCanonicalName        Off
        VirtualDocumentRoot     /var/www/vhosts/%-2.1/%0
      </VirtualHost>

      Pour en revenir au problème d’oeuf et de la poule, c’est que l’on peut re-installer le site « admin » avec spip-clône, pour éviter toute redondance.

      mathieu

      Répondre à ce message

      • > Spip-Clône : Gestion de sites en quantité 16 août 2005 15:28, par Jac

        Merci Mathieu, Ces explications un peu plus précises m’ont permis de réussir mes premiers clones, que tu peux trouver ici :

        - le début d’un sous-site d’un site de centre culturel ;

        - un sous-site de support technique du même site.

        Dans ce dernier, j’ai repris, dans deux articles, la méthode que j’ai appliquée pour l’installation de spip-clone et la création des premiers clones. J’y mentionne un petit bug que j’ai dû corriger.

        Au moment de créer du contenu, je remarque qu’il me manque les icônes des raccourcis typographiques. Sans doute ai-je oublié de mettre ecrire/IMG en 777.

        J’aurai sans doute encore des questions. Pour commencer :

        1. en attendant que tu ajoutes la fonctionnalité de suppression d’un clone, comment puis-je en supprimer manuellement ? Je n’y réussis pas avec mon client ftp.
        2. j’ai commencé par essayer de créer des clones de spip-agora, sans y parvenir. Serait-ce une simple fausse manoeuvre de ma part ou bien y vois-tu une autre raison.

        En tous cas, bravo et merci pour ton excellent travail. Avec un bon tutoriel, je suis certain qu’il fera beaucoup d’heureux.

        Jac

        Voir en ligne : espace de gestion de notre site

        Répondre à ce message

        • > Spip-Clône : Gestion de sites en quantité 16 août 2005 19:36, par mathieu

          Génial la doc, merci.

          - J’ai ajouté la suppression des clônes dans la contrib (version 0.3.2). Par précaution, puisque c’est une opération récursive (i.e. qui s’applique sur tous les sous-répertoires), le script supprime uniquement les fichiers qui sont des liens symboliques et les répertoires vides.

          Par conséquent, les documents joints aux articles d’un site ne sont pas supprimés, de même que les fichiers de configuration. Par contre, les permissions sont modifiées de façon à ce que l’on puisse plus facilement les supprimer/télécharger par FTP.

          - Au sujet de Spip-Agora : je ne suis pas très familier. Si quelqu’un réussit à modifier Spip-Clône pour que ça fonctionne, je peux toujours inclure les modifications si l’on m’envoie un diff.

          mathieu

          Répondre à ce message

          • > Spip-Clône : Gestion de sites en quantité 16 août 2005 19:39, par mathieu

            Ah, j’oubliais : pour faire la mise à jour de la contrib, il suffit d’écraser les anciens fichires. Le script détectera qu’il a été mis à jour et demandera de confirmer la configuration.

            Entre la version 0.3.1 et 0.3.2 il n’y a pas eu modification au système de configuration, il faut seulement cliquer sur le bouton valider.

            mathieu

            Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net