Aller au contenu. | Aller à la navigation

Sections
Outils personnels
Vous êtes ici : Accueil Le pool Plone-DIP ICP-ZOPE (technique) Installation de Zope et Plone 3

Installation de Zope et Plone 3

— Mots-clés associés : ,

Mise sur pied du serveur DEV et PROD

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)

pour un accès extérieur du réseau de l'Etat

É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

Installation de libxml(2)Devel et libxml elementtree et freetype:
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 :

  1. de créer un utilisateur (dans YAST) par instance zope
  2. chaque utilisateur est responsable de son instance
  3. administrator fournit des scripts de mise à jour (qui peuvent être lancé par "administrator" avec un "sudo") dans "/home/administrator/bin"
  4. "/data/exp/personal" est le chemin de base pour toutes les instances personnelles
  5. "/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)
  6. le produit "Plone" est traité un peu différemment que les autres (installation plus complexe, voir les scripts)
  7. 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:

  1. télécharger zope sur zope.org (version 2.10.x pour Plone 3)
  2. 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)
  3. télécharger Plone 3.x.x
  4. 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:

  1. se déplacer dans le répertoire bin de administrator cd /home/administrator/bin
  2. créer un fichier texte contenant quelques infos sur l'instance modèle
  3. 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:

  1. créer un fichier "csv" contenant des enregistrements pour chaque instance (nom utilisateur, port de l'instance zope, chemin de création)
  2. 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)
le contenu d'un fichier csv : (celui d'ICP-DEV: zopeinst.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.py

permet 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)

  

 

Actions sur le document