Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
zope [Le 12/09/2009, 22:35] – tag développement --> programmation draco31.frzope [Le 28/04/2017, 17:29] (Version actuelle) – tags L'Africain
Ligne 1: Ligne 1:
 +{{tag>serveur programmation VÉTUSTE}}
  
 +----
 +
 +====== 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é ([[http://zope2.zope.org/releases|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) (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__ :"
 +
 +===== Installation =====
 +
 +Assurez-vous d'avoir pris en compte les dépôts "Universe" dans vos sources de mises à jour. Pour notre grand confort, les [[https://wiki.ubuntu.com/MOTU|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.
 +
 +[[:tutoriel:comment_installer_un_paquet|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 [[http://pypi.python.org/packages/source/Z/Zope2/Zope2-2.12.1.tar.gz|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 [[http://forum.ubuntu-fr.org/viewtopic.php?id=367104|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 =====
 +
 +<note important>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é
 +</note>
 +
 +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-feu]]x 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 :<code>
 +a2enmod proxy
 +a2enmod proxy_http
 +a2enmod rewrite
 +</code>
 +  * [[:tutoriel:comment_editer_un_fichier|Éditer votre fichier]] de configuration Apache, **/etc/apache2/sites-available/default**
 +  * Ajouter les lignes suivantes dans un vhost ou en général :<code apacheconf>
 +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
 +</code>
 +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.
 +<code>
 +ProxyRequests Off
 +ProxyVia On
 +<Proxy *>
 +        Order deny,allow
 +        Allow from votreurl.com
 +        Allow from localhost
 +</Proxy>
 +</code>
 +
 +  * Enfin, recharger la config d'apache
 +<code>
 +$ /etc/init.d/apache2 force-reload
 +</code>
 +
 +
 +===== Apprendre Zope =====
 +Voici un lien vers la [[http://www.zope.org/Documentation/ZopeBook/|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é !
 +
 +{{serveur:zope2_admin_01.png|}}
 +
 +
 +
 +
 +===== Liens =====
 +
 +  * [[http://www.zope.org|Le site du projet Zope]]
 +  * [[http://zope2.zope.org|Le nouveau site du projet Zope]]
 +  * [[http://www.plope.com/Books/2_7Edition|Zope 2.9 Documentation]] [EN]
 +  * [[http://www.zopera.org/|Le portail Zope francophone]]
 +  * [[http://www.plone.org|Le site de Plone]]
 +
 +----
 +
 +//Contributeurs : [[:utilisateurs:tbonacco|Thomas]] ([[https://wiki.ubuntu.com/ZopeOnUbuntu|traduction originale]]), [[:utilisateurs:sunwukong|SunWukong]], [[:utilisateurs:rorist|Rorist]], senacle.//