Ce billet est plus un aide mémoire pour moi même qu’autre chose, il vise à expliquer ce que fait l’Unified Installer de Plone et dans un second temps, d’aborder des problématiques de migrations d’instances non basées sur buildout vers des instances « buildoutisées ». Je dois dire que j’ai eu un peu de mal à me défaire des installations depuis les sources, à la mimine, j’aimais bien ça. Avec les nouvelles versions de Plone, ce n’est même plus possible, il est proposé sous forme d' »unified installer » qui compile tout bien comme il faut sans se prendre la tête, finit les galères en mode débug à tracké la librairie oubliée. L’installation et donc vos environnement de production s’affranchissent au plus possible du système pour proposer une sorte d’environnement virtualisé pour votre travail.
Ca part d’une bonne intention et les avantages de ce système sont évidents, soit, mais des fois, quand on a des instances Plone 3.xx pas forcément migrables en 3.2, c’est un peu lourd de trouver un source de produit installable simplement, en le décompressant dans le répertoire /Products de notre Plone.
On commence par récupérer notre installer qui fait le café :
$ wget http://launchpad.net/plone/3.2/3.2.2/+download/Plone-3.2.2-UnifiedInstaller.tgz
On le décompresse
$ tar -xvzf Plone-3.2.2-UnifiedInstaller.tgz
Pour notre exemple , on va faire un installation en mode non root (pas pour un environnement de production multi instances)
Je nomme dans cette exemple mon instance z35000, c’est le port sur lequel je vais la faire écouter.
$ cd Plone-3.2.2-UnifiedInstaller
$ ./install.sh standalone --instance=z35000
Si tout s’est passé correctement vous devez avoir un truc qui ressemble à ceci :
#####################################################################
###################### Installation Complete ######################
Plone successfully installed at /home/bluetouff/Plone
See /home/bluetouff/Plone/z35000/README.txt
for startup instructions
(...)
Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.
Username: admin
Password: votrepassword
Voici ce que l’on trouve dans notre répertoire d’installation Plone en plus de notre instance:
~/Plone$ ls
buildout-cache Python-2.4 z35000 Zope-2.10.7-final-py2.4
Et surtout voic ce que nous avons dasn notre instance :
buildout.cfg fake-eggs products src versions.cfg
bin develop-eggs parts README.txt var
Et ouai, un Plone « Buildout Ready » ! On va jeter un oeil sur le fichier buildout.cfg
$ emacs buildout.cfg
C’est dans ce fichier que lon configure notre port d’écoute du Zope, dans notre exemple on fait ecouter sur le 35000, on remplace donc la ligne :
http-address = 8080
par
http-address = 35000
On sauvegarde ce petit monde, mais je vous invite à lire ce fichier attentivement, c’est ici que l’on déclare les produits que l’on souhaite installer avant que buildout ne s’occupe du reste.
Une fois sorti, on lance une petite mise à jour de notre buildout qui ira chercher lui même les extensions qu’on lui demande.
On lance donc tout simplement un :
$ bin/buildout -n
Une fois les opérations achevées, on lance notre instance :
$ cd bin/
$ ./instance start
Il est recommandé au premier lancement de lancer l’instance en debug pour voir si tout va bien :
$ ./instance fg
Votre instance est maintenant disponible depuis votre navigateur sur :
http://vous:35000 (remplacez cette valeur au besoin par l’ip de votre machine de travail et le port d’écoute que vous lui avez affecté dans le buildout.cfg, ou 8080 pour celui par défaut).