Cette page est considérée comme vétuste et ne contient plus d'informations utiles.
Apportez votre aide…

Installer un serveur d'applications Zope sur Ubuntu

Actuellement, il existe deux « branches » majeures de Zope : la 2.9.x et la 3.x. L'idée étant qu'à la base, Zope 3 devait être une réécriture de zéro de Zope 2 : nouveaux concepts, abandon de certaines lourdeurs de Zope 2, volonté d'être plus « pythonic », etc.

Le projet Zope 3 a commencé il y a plusieurs années déjà et est arrivé à maturité il y a un peu plus d'un an, mais sans compatibilité avec Zope 2. Or Zope 2 possède beaucoup d'extensions : CMS (Plone, CPS), produits de forum, wiki, etc. Le développement de Zope 2 se poursuit donc et la technologie de Zope 3 est petit à petit rétro-intégrée dans Zope 2. La version 2.10.0-final est sortie le 3 octobre 2006.

Bref aujourd'hui, AMHA, il faut plus voir Zope 3 comme une sorte de laboratoire d'idées de la communauté Zope. Et Zope 2 la version de référence dans laquelle est intégré petit à petit le code de Zope 3 pour une migration en douceur de toutes les extensions déjà développées pour Zope 2.

Le 21/12/09 La version Zope 2.9 n'est plus maintenue, sauf pour les bugs de sécurité (Versions Zope).

La présente procédure permet d'installer le serveur d'application Zope sur les distributions Ubuntu 7.04 (Feisty Fawn) et Ubuntu 7.10 (Gutsy Gibbon). Peut-être fonctionne-t-elle aussi sous Uubntu 6.06 LTS (Dapper Drake) (FIXME merci de faire un retour d'expérience ici).

La procédure fonctionne aussi pour Ubuntu 8.04.

Pour Ubuntu 9.04, voir les points qui commencent par "Le 21/12/09 :"

Assurez-vous d'avoir pris en compte les dépôts "Universe" dans vos sources de mises à jour. Pour notre grand confort, les MotU nous ont préparé un méta-paquet qui permettra d'installer tout le nécessaire à l'aide d'un seul paquet et du jeu des inter-dépendances entre les paquets.

Installez les paquets zope et python-zodb.

À la fin de l'installation en mode console, on peut voir un message apparaitre :

Zope2.10: no instances found.

Le 21/12/09 : Pour installer la version Zope2.12.1, télécharger le fichier Zope2-2.12.1.tar.gz sur http://pypi.python.org. Procéder à l'installation comme précisé dans le fichier doc/INSTALL.rst, qui explique très bien comment installer cette version et comment créer une instance qui va bien.

J'ai installé la version de zope dans le répertoire /usr/lib/zope2.12.1 avec la méthode virtualenv.

Pour pouvoir connecter Zope2.12.1 à une base MySQL, voir dans le forum mysqldb sous Ubuntu 9.04

Exécuter la commande suivante pour créer une instance de Zope.

La commande vous demandera le nom d'un répertoire pour y stocker l'instance de Zope (constituée des ces données, fichiers de configuration, journaux, etc.). Personnellement, je l'ai placée dans /var/local/zope. Si d'aventure un lecteur propose un endroit plus judicieux…

La commande réclame aussi un couple d'authentification utilisateur/motdepasse.

$ cd /usr/lib/zope2.10/bin
$ sudo python mkzopeinstance.py
Please choose a directory in which you'd like to install
Zope "instance home" files such as database files, configuration
files, etc.

Directory: /var/local/zope/
Please choose a username and password for the initial user.
These will be the credentials you use to initially manage
your new Zope instance.

Username: Dupont
Password: ****************
Verify password: ****************

Notre instance est alors créée comme on peut le constater :

$ cd /var/local/zope/
$ ls -l
total 40
drwxr-xr-x 2 zope zope  4096 2007-02-26 16:38 bin
drwxr-xr-x 2 zope zope  4096 2007-02-26 16:38 etc
drwxr-xr-x 2 zope zope  4096 2007-02-26 16:38 Extensions
drwxr-xr-x 2 zope zope  4096 2007-02-26 16:38 import
-rw-r--r-- 1 root staff   42 2007-02-26 16:38 inituser
drwxr-xr-x 3 zope zope  4096 2007-02-26 16:38 lib
drwxr-xr-x 2 zope zope  4096 2007-02-26 17:01 log
drwxr-xr-x 2 zope zope  4096 2007-02-26 16:38 Products
-rw-r--r-- 1 zope zope   481 2007-02-26 16:38 README.txt
drwxr-xr-x 2 zope zope  4096 2007-02-26 17:01 var

Le 21/12/09 : pour la version Zope2.12.1, voir le fichier doc/INSTALL.rst qui explique très bien comment créer une instance.

Gutsy et Hardy: Afin que zope utilise python 2.4, il faut le lui spécifier en editant les fichiers /var/local/zope/bin/runzope et /var/local/zope/bin/zopectl à la ligne 2 comme ceci PYTHON="/usr/bin/python2.4"

Pour Jaunty (Ubuntu 9.04) et Zope 2.12.1, il n'y a pas de modification à apporter, c'est python 2.6 qui est utilisé

Nous ajoutons un lien de notre instance dans le dossier instance de zope pour le script de démarrage

sudo ln -s /var/local/zope/ /var/lib/zope2.10/instance/.

Nous pouvons lancer Zope

sudo /etc/init.d/zope2.10 start

Le 21/12/09 : voir le fichier doc/INSTALL.rst qui explique plusieurs méthodes pour lancer l'instance.

Comme on peut le voir dans un navigateur, notre serveur Zope est opérationnel : http://localhost:9673/ Comme on peut le remarquer dans l'URL ci-dessus, le port par défaut est 9673 (pensez à ajuster vos pare-feux et autres routeurs si vous travaillez sur un serveur distant).

Le 21/12/09 : Zope2.12.1 est sur le port 8080 par défaut http://localhost:8080/

À l'aide des identifiants d'authentification indiqués à la création de l'instance, on peut administrer le serveur à partir de l'URL suivante : http://localhost:9673/manage

D'autres commandes sont disponibles dans /var/local/zope/bin.

Des journaux sont disponibles dans /var/local/zope/log.

Le 21/12/09 : pour Zope2.12.1

À l'aide des identifiants d'authentification indiqués à la création de l'instance, on peut administrer le serveur à partir de l'URL suivante : http://localhost:8080/manage

Des journaux sont disponibles dans /mon/instance/zope/log.

Le 21/12/09 : je n'ai pas encore fait de test de redirection pour Zope 2.12.1 sous Ubuntu 9.04.

Nous considérons Apache 2.x installé et fonctionnel, ainsi que Zope 2.

  • Activer les modules :
    a2enmod proxy
    a2enmod proxy_http
    a2enmod rewrite
  • Éditer votre fichier de configuration Apache, /etc/apache2/sites-available/default
  • Ajouter les lignes suivantes dans un vhost ou en général :
    UseCanonicalName On # permet d'eviter de taper les / finaux
    RewriteEngine On
    RewriteRule ^/adressederedirection(.*) http://localhost:9673/VirtualHostBase/http/votreurl.com:80/VirtualHostRoot/_vh_adressederedirection/$1 [L,P]
     
    RewriteLog "/var/log/apache2/rewrite.log"
    RewriteLogLevel 3

Cette règle peut paraître abject, mais tous ces paramètres sont utiles à Zope pour bien nous servir. Voici quelques détails:

  • 9673 est le port du serveur Zope.
  • votreurl.com est l'adresse de votre site sans le http
  • 80 est le port du serveur apache
  • _vh_adressederedirection est propre a Zope et de renvoyer un URL correct, remplacer adressederedirection par le dossier par lequel vous voulez accéder à votre site depuis le web.

Exemple: http://localhost:8080/VirtualHostBase/http/monsite.com:80/VirtualHostRoot/_vh_zope/$1

Si vous passez par SSL et https vous devez p.ex. le spécifier comme ceci: https/votreurl.com:443

  • Continuons la configuration, avec le proxy d'apache
  • Editer le fichier /etc/apache2/mods-available/proxy.conf
  • Tout effacer et remplacer par ceci, toujours en adaptant les valeurs.
ProxyRequests Off
ProxyVia On
<Proxy *>
        Order deny,allow
        Allow from votreurl.com
        Allow from localhost
</Proxy>
  • Enfin, recharger la config d'apache
$ /etc/init.d/apache2 force-reload

Voici un lien vers la documentation de Zope

Un tutoriel est disponible dans l'instance nouvellement créée et permet de découvrir quelques fonctionnalités de Zope dans son interface d'administration. Pour le débutant, c'est un excellent point de départ, chaudement recommandé !

  • zope.txt
  • Dernière modification: Le 11/09/2022, 11:59
  • par moths-art