Installation de Zope et Plone 3
Mise sur pied du serveur DEV et PROD
Aussi disponible en mode diaporama…
Cette page aborde l'installation "classique" de zope et Plone => Une nouvelle documentation est à disposition pour les installations par "buildout"
Apache
Configuration d'apache2 sur DEV (160.53.186.116)
Étape à reproduire :
- Installation des modules: modification du fichier /etc/sysconfig/apache2
- Création du fichier de configuration: /etc/apache2/conf.d/edutonic.conf
Configuration d'apache2 sur PROD
Pour PROD, un fichier de configuration est à passer au secteur Com (sécurité?) du CTI (Ineichen), pour cela on peut faire référence au script apache sous /home/administrator/bin (configuration similaire à celle du fichier /etc/apache2/conf.d/edutonic.conf sous DEV)
Installation de plone 3 et des autres produits
Ajouté par Serge Renfer le 13/09/2007 13:17
Librairies et dépendances
Il faut que python2.4.4 soit installé avec les librairies de développement
en tant qu'utilisateur "administrator":
sudo /sbin/yast --install libxml2-devel sudo /sbin/yast --install python-imaging #ligne non testee, mais cela devrait le faire cd /data/exp tar -xzf products/libxml2-python-2.6.21.tar.gz ls cd libxml2-python-2.6.21/ sudo python setup.py build sudo python setup.py install cd .. tar -xzf products/elementtree-1.2.6-20050316.tar.gz cd elementtree-1.2.6-20050316/ ls sudo python setup.py build sudo python setup.py install cd .. tar -xjf products/freetype-2.3.4.tar.bz2 ls cd freetype-2.3.4/ ls ./configure make sudo make install
Politique choisie
La politique choisie est :
- de créer un utilisateur (dans YAST) par instance zope
- chaque utilisateur est responsable de son instance
- administrator fournit des scripts de mise à jour (qui peuvent être lancé par "administrator" avec un "sudo") dans "/home/administrator/bin"
- "/data/exp/personal" est le chemin de base pour toutes les instances personnelles
- "/data/exp/products" est le chemin de base de tous les produits installables (sous forme d'archive, le plus souvent ".tgz" ou ".tar.gz", et parfois ".zip"), et un script d'installation permet de faire des installations de produits en batch (voir scripts)
- le produit "Plone" est traité un peu différemment que les autres (installation plus complexe, voir les scripts)
- les instances "modèle" (chacune propre à une version de Zope) sont placées dans "/data/exp" => les classes (SOFTWARE_HOME) sont nommées "Zx" et l'instance "modèle" (INSTANCE_HOME) est nommée "zx" (où "x" est le numéro de version, ex: "Z2.10.4", "z2.10.4")
EN PROD: toutes les instances peuvent tourner sous un même utilisateur (ex: administrator)
Création d'une instance zope "modèle"
Marche à suivre:
- télécharger zope sur zope.org (version 2.10.x pour Plone 3)
- décompresser et installer l'archive zope => création d'une instance modèle (cela permet de créer un utilisateur "admin" dans la base de données "Data.fs" qui sera le même pour toutes les copies futures pour des questions de maintenance)
- télécharger Plone 3.x.x
- décompresser et installer l'archive dans l'instance zope "modèle"
Versions de Zope et Plone stables (à mettre en production)
- Zope 2.10.4
- Plone 3.0.5
On trouve une archive de ces produits sous /data/exp/products
Téléchargement de zope
Téléchargement avec wget : il faut que http_proxy soit renseigné, lorsqu'on est derrière un pare-feu, sinon l'alternative est de télécharger en local sur un PC et de faire des scp depuis un terminal (ex: putty)
Dans notre cas, une archive de zope est disponible sous /data/exp/products (pas nécessaire de la télécharger ;-)
cd /data/exp/products wget http://www.zope.org/Products/Zope/2.10.4/Zope-2.10.4-final.tgz
Installation de zope (SOFTWARE_HOME):
cd .. tar -xzf products/Zope-2.10.4-final.tgz cd Zope-2.10.4-final ./configure --prefix=/data/exp/Z2.10.4 make make install
Installation de l'instance modèle (INSTANCE_HOME):
Cette instance va permettre d'installer les produits de base, dont Plone et de devenir un modèle à copier pour la création de nouvelles instances
/data/exp/Z2.10.4/bin/mkzopeinstance.py => demande du "Directory : /data/exp/z2.10.4" => login d'administration "admin" => mot de passe "*******" => re-mot de passe "*******"
Installation des produits de base sur l'instance modèle
Liste des produits de base à installer sur l'instance "modèle"
On trouve les archives de ces produits sous /data/exp/products
Dans notre cas on va utiliser un script python fait pour l'occasion : /home/administrator/bin/productUpdate.py
Pour ce faire il faut:
- se déplacer dans le répertoire bin de administrator cd /home/administrator/bin
- créer un fichier texte contenant quelques infos sur l'instance modèle
- lancer le script pour chaque produit
Ce qui donne:
cd /home/administrator/bin echo administrator,10080,/data/exp/z2.10.4 >> adm.csv sudo python productUpdate.py /data/exp/products/Plone-3.0.5.tar.gz admin.csv ... même chose pour tous les produits (on change que le troisième terme de la ligne) ... cela prend un peu de temps, mais c'est du temps gagné sur toutes les installations futures ;-)
Attention: le script "productUpdate.py" relance l'instance
Il faut arrêter l'instance pour la tester avant de passer aux installations des autres instances à partir de ce modèle:
cd /data/exp/z2.10.4/bin
./zopectl stop
./zopectl fg
Cette dernière commande lance zope en mode "debug" et affiche tous les avertissements et erreurs. En cas d'erreur, le processus s'arrête.
Par exemple, si un produit ne fonctionne pas car il contient une erreur, le processus lancé par ./zopectl fg est arrêté (alors que quand on le lance avec ./zopectl start, le produit qui produit l'erreur est considéré comme "cassé" mais zope se lance quand même)
Test de zope
/data/exp/z2.10.4/bin/zopectl fg # => si pas d'erreur on peut lancer zope, sinon on avise! /data/exp/personal/renfer/z2.10.4/bin/zopectl start #démarrage de l'instance zope
Quand toutes les erreurs ont été résolues on peut passer au point suivant:
Installation "batch" d'instances personnelles:
- créer un fichier "csv" contenant des enregistrements pour chaque instance (nom utilisateur, port de l'instance zope, chemin de création)
- lancer le script (après avoir créé les utilisateurs dans YAST) /home/administrator/createzopeinst.py avec deux arguments (le chemin de l'instance modèle, le chemin du fichier csv)
)
EN PROD: toutes les instances peuvent tourner sous un même utilisateur (ex: administrator), le fichier "csv" aura alors "administrator" comme premier mot de chaque ligne!
renfer,16001,/data/exp/personal/renfer/z2.10.4 muttner,16002,/data/exp/personal/muttner/z2.10.4 cairoli,16003,/data/exp/personal/cairoli/z2.10.4 sismondi,17001,/data/exp/personal/sismondi/z2.10.4 chavanne,17002,/data/exp/personal/chavanne/z2.10.4 cepta,17003,/data/exp/personal/cepta/z2.10.4 saussure,17004,/data/exp/personal/saussure/z2.10.4 sem,17005,/data/exp/personal/sem/z2.10.4 copad,17006,/data/exp/personal/copad/z2.10.4 ecoleinf,17007,/data/exp/personal/ecoleinf/z2.10.4
Il suffit de lancer le script createzopeinst.py pour générer les instances personnelles
cd /home/administrator/bin sudo python createzopeinst.py /data/exp/z2.10.4 zopeinst.csv
Mise à jour de Plone ou d'un autre produit
L'utilisation du script /home/administrator/bin/productUpdate.pypermet cette mise à jour.
Il suffit de reprendre la marche à suivre d'installation de produits
en appliquant un fichier "csv" qui contient les instances à modifier (une par ligne).
Une fois installé, il faut tester le produit en allant sur l'instance (la ZMI, "manage") et voir sous le chemin Control_panel/Products si le produit est bien mis à jour.
Si Plone est mis à jour, il faut migrer toutes les instances Plone (dans la ZMI: portal_migration)
Pour les produits installés dans des instances Plone, il faut les mettre à jour dans le tableau de bord (Configuration du site) de chaque Plone (ou dans la ZMI sous portal_quickinstaller)


