Toi aussi fais ton 'Yeah' et deviens une popstar!
Eek Aak Ook ! mardi 06 janvier 2009
mardi 22 juillet 2008
20:50  » Installer CherryPy derrière Apache - informatique
Comme vous le savez (ou pas), CherryPy intègre un serveur web, ce qui lui permet de servir lui-même ses sites web sans avoir à recourir aux services d'un Apache ou d'un IIS. Cette fonctionnalité, qui ressemble au départ à un atout, se transforme en problème dès qu'on aborde la question de l'hébergement : sur un hébergement mutualisé, à moins que celui-ci ne soit dédié à l'hébergement de sites CherryPy, vous ne pourrez pas l'installer. Sur un serveur dédié, ça vous ennuiera probablement de sacrifier votre port 80 sur l'autel de CherryPy alors qu'un bon vieux Apache pourrait très bien s'occuper de ça, sans pour autant empêcher que des sites utilisant d'autres technologies soient hébergés sur la même machine.

Si, à ma connaissance, aucune solution n'existe pour l'hébergement mutualisé, on peut en revanche assez facilement héberger des sites CherryPy derrière Apache sur un serveur dédié. L'astuce consiste à utiliser les possibilités d'url rewriting d'Apache pour qu'il envoie les requêtes à CherryPy (il existe d'autres façons de le faire, mais celle-là me plait bien :) ).

Je vais vous décrire ici comment j'ai réalisé ça sur mon serveur sous Debian 4.0 (Etch).

1./ Installer Apache
apt-get install apache2


2./ Faire en sorte que mod_rewrite, mod_proxy et mod_proxy_http soient chargés au démarrage d'Apache
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf
ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load


3./ Mettre les règles de redirection qui vont bien dans le fichier de configuration (ici, on redirige tout ce qui arrive sur /cherrypy/, /var/www/ étant le DocumentRoot du serveur)
(pour tester, vous pouvez mettre ça dans /etc/apache2/sites-available/default, juste avant le </VirtualHost>)
ProxyPreserveHost On
 
&lt;Directory /var/www/cherrypy/&gt;
    RewriteEngine On
    RewriteRule ^(.*)$ http://localhost:8080/$1 [proxy]
&lt;/Directory&gt;


4./ Redémarrer Apache
/etc/init.d/apache2 restart


Et voilà :-)

Si vous voulez des informations sur les autres méthodes :
http://tools.cherrypy.org/wiki/BehindApache
mercredi 23 juillet 2008 - 10:34

Alors question, cherrypy ca fait quoi comment et en combien de temps ? Et surtout, est ce que ca démoule ?
mat
mercredi 23 juillet 2008 - 12:06

cherrypy, ça fait des sites web à feu doux pendant 45 minutes.
Bien graisser le plat avant cuisson, sinon pour démouler ça sera l'enfer.

Pour être franc, j'ai pas encore fait grand-chose avec cherrypy, juste une petite page. Le concept de mapper des urls à des méthodes est assez confortable, je dois avouer, et ça a l'air très très pythonique (comprendre "simple et efficace").
Par exemple, pour récupérer une variable de formulaire : imagine que dans l'action de ta balise form, tu mettes 'toto'. Dans la classe qui représente ta page, tu crées une méthode 'toto', qui sera appelée automatiquement sur validation du formulaire. Si tu as un élément du formulaire qui s'appelle 'Georges' et que ta méthode 'toto' accepte un paramètre appelé 'Georges', tu as terminé. Le paramètre 'Georges' contiendra la valeur de l'élément 'Georges' du formulaire.

Voilà, donc pour l'instant ça me plait bien :)
nop
(http://www.peuw.net)
jeudi 24 juillet 2008 - 14:18

ok, je vois le genre.

Python c'est bien, enfin ca a l'air, mais j'ai jamais réussi à me lancer dans autre chose que des scripts utilitaiers de 150-200 lignes maxi. En fait je l'utilise qd bash est trop limité pour ce que je veux faire. :-/
mat
jeudi 24 juillet 2008 - 14:33

I see.
De mon coté je suis en train de tomber amoureux :-)

Sous Windows, vu que tu n'as presque rien en ligne de commande et que de toutes façon l'interpréteur est très limité, ça le fait bien d'avoir python (cela dit avec PowerShell on doit pouvoir faire plein de choses aussi).
En 20 lignes et 30 minutes, en connaissant à peine le langage, j'ai fait un script qui zippait un répertoire et l'envoyait sur un ftp.
Je trouve ça surpuissant.
nop
(http://www.peuw.net)
Réagir :

Texte: *
Nom: *
Site web:
Email: (pour être tenu au courant des autres réponses à ce post - ne sera pas affiché - gravatar)
Mot à la con: * (si vous ne le connaissez pas, voir cette page)
RisoliVillard: (mais qu'est-ce que c'est ? - télécharger)
Si un autre perdu comme moi poste ici, me prévenir:
Enregistrer tout ça dans un gâteau pendant un an: (ou mettre à jour le gâteau)
* : champs obligatoires
 


Le html n'est pas autorisé, pour mettre en forme vos textes, utilisez les codes suivants:
* [b]gras[/b]
* [u]souligné[/u]
* [i]italique[/i]
* [s]barré[/s]
* [sup]exposant[/sup]
* [url=http://www.monlien.com]texte du lien[/url] (pour les feignants, sachez que tout texte de la forme http://quelquechose sera automatiquement transformé en lien)
* [img]http://www.monlien.com/monimage.jpg[/img]
* [center]texte centré[/center]
* [quote]citation[/quote]
* Toute ligne commençant par "/me" sera remplacée à la sauce IRC. Si votre pseudo est Martine et que vous inscrivez :
  /me va à la plage
Le résultat sera :
  * Martine va à la plage
* [mp3]http://www.monlien.com/mamusique.mp3[/mp3]
* [code language="C#|php|vb.net|etc..."]public void DuCode() { }[/code]
back!