Posts Tagged “Apache”

Introduction et configuration d’Apache

Dans cette deuxième partie, on va essayer de faire pareil que dans les langages de scripts coté serveur tel PHP, c’est à dire inclure des scripts python dans les balises html alors voici comment procéder:

Article de base ==> http://www.onlamp.com/

il faut commencer par ajouter ce bloc dans le fichier de configuration d’Apache

<Directory /var/www/ici_votre_repertoire/ >
     AddHandler mod_python .psp
     PythonHandler mod_python.psp
     PythonDebug On
</Directory>

AAlors il suffit de redémarrer Apache, mettre vos fichiers avec l’extension .psp dans le repertoire corespondant et c’est bon !

 

Exemple

Créer un fichier par exemple index.psp qui contient dans le répertoire psp sur la racine de mon serveur Web

<html>
<%
if form.has_key(’name’):
   greet = ‘Hello, %s!’ % form['name'].capitalize()
else:
   greet = ‘Hello there!’
# end
%>
  <h1><%= greet %></h1>
</html>

Maintenant appeler votre fichier dans votre navigateur http://localhost/psp/index.psp et voilà ce qu’il doit afficher

Hello there!

et si on passe en paramètre  le nom comme  http://localhost/psp/index.psp?name=nidhal  alors le résultat sera plutôt:

Hello, Nidhal!

Conclusion:

  Pour d’autres exemples, veuillez visiter le site http://www.onlamp.com/

Bonne Lecture et je pense que maintenant vous n’avez plus d’excuses pour ne pas utiliser Python :)

Tags: ,

Comments Pas de commentaire »

Mod_python

Python est un langage de script qui fonctionne à l’aide d’un interpréteur. Il est donc facilement utilisable pour réaliser des scripts qui seront intégrés à un site WEB par le biais d’un module Apache. Mod_python est un module pour Apache qui permet d’interpréter des scripts python qui se trouvent directement sur le serveur Web. Ce qui permet de créer des pages Web dyanmiques et mêmes des applications Web sans passer par les scripts CGI ou d’autres framework. En utilisant mod-python on a accès à tout les modules de python et sans oublier la portabilité du code puisque Python lui même est portable :) Mais, et pour des raisons de sécurité il faut bien encadrer son application.

http://en.wikipedia.org/wiki/Mod_python

"Trop d’ouverture nuit à l’efficacité"

 

Utilisation

Mod_Python propose deux types de fonctionnement :

  • Le mode standard CGI
  • Le mode cgihandler
  • Le mode PSP – Python Server Pages – propose le même mode de fonctionnement que PHP, ASP ou JSP. Du code python est inséré entre des balises <% et %>, pour générer une page contenant du texte HTML. (cette partie sera traité dans la parie 2 de l’article)
  • Le mode Publisher propose une méthode totalement différente, et plutôt sympathique à utiliser :)

 

Performances

  • Standard CGI: 23 requests/s
  • Mod_python cgihandler:     385 requests/s
  • Mod_python publisher:      476 requests/s
  • Mod_python handler:       1203 requests/s

source: http://www.modpython.org/

 

Installation

mod_python  il faut avoir Python 1.5.2  ou supérieure

Sur les machines linux à base de Debian/Ubuntu/Kubuntu il suffit d’installer le module par cette commande

sudo apt-get install libapache2-mod-python

 

Configuration d’Apache

Le modules est prêt, il ne reste plus qu’à configurer Apache pour qu’il le charge au démarrage. Pour cela, il suffit d’éditer le fichier httpd.conf ou apache2.conf et de placer la ligne suivante dans la bonne section :

LoadModule python_module libexec/mod_python.so

Redémarrons Apache :

/etc/init.d/httpd restart
ou
/etc/init.d/apache2 restart

Et vérifions tout de suite que mod_python a bien été chargé :

tail -f /var/log/apache2/error.log  

Si tout est bon alors une ligne comme celle ci s’affiche à l’écran

[Thu Jul 26 12:33:17 2007] [notice] Apache/2.2.3 (Ubuntu) mod_python/3.2.10 Python/2.5.1 PHP/4.4.4-8+etch4

 

Hello World!

Nous allons indiquer à Apache un répertoire dans lequel il devra exécuter les scripts Python qui y seront demandés. Pour cela, éditons le fichier httpd.conf  ou apache2.conf  pour y ajouter la section suivante :

<Directory /var/www/python/>
AddHandler python-program .py
PythonHandler index
PythonDebug On
</Directory>

Pour prendre en compte cette configuration, il faut bien sûr redémarrer Apache. Il faut ensuite créer le script /var/www/python/index.py

from mod_python import apache
def handler(req):
req.content_type="text/html"
req.send_http_header()
req.write("<h1>Hello World!</h1>")
return apache.OK

Enfin, il ne reste que de vérifier les droits d’accès et de lancer pour la première fois un fichier .py directement dans le navigateur :)

http://localhost/python/index.py

Ressources:

 

Conclusion

Bonne Lecture et je pense que maintenant vous n’avez plus d’excuses pour ne pas utiliser Python :)

Tags: ,

Comments Un commentaire »