Apportez votre aide…
Installer un serveur d'applications Zope sur Ubuntu
À propos
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).
Préambule
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) ( 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 :"
Installation
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
Création d'une instance Zope
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.
Démarrons notre instance Zope
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.
Zope is alive!
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/
Administration du serveur
À 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
.
Apache et Zope 2
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
- http://monsite.com/zope mènera à notre serveur Zope.
- http://monsite.com/zope/manage à l'interface d'administration de Zope (ZMI)
- http://localhost:8080/manage à la ZMI également
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
Apprendre Zope
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é !