OVH Cloud OVH Cloud

projets en mod_python

19 réponses
Avatar
onizuka
Salut,
il existe un module python pour apache2, mais existe t il des projets
l'utilisant?
Les rares projets que j'ai trouvé utilisaient python en cgi.

Est ce que qq1 connaitrait un projet en python utilisant mod_python?
A++

9 réponses

1 2
Avatar
guiphh

Apache a-t-il bien les droits en écriture dans le répertoire où se trouve le
fichier dirlist.txt ?


Comment est-ce qu'on peut savoir si Apache a les droits ?

En tout cas pour ce qui est de la permission sur le fichier j'ai fait
chmod 777 (c'est pas conseillé je sais mais je ne trouve pas le
problème :/ ) mais ça ne change rien.

Avatar
Amand Tihon
guiphh wrote:

Comment est-ce qu'on peut savoir si Apache a les droits ?
Sous debian, apache tourne sous l'utilisateur www-data, groupe www-data


Tu dois donc t'assurer que l'utilisateur ou le groupe www-data a les dr oits
d'exécution sur le répertoire /var/www/site_v2/tests : cela lui per met d'y
accéder.

Pour créer tout nouveau fichier dans ce répertoire, il doit aussi a voir les
droits d'écriture sur le répertoire.

Pour écrire dans un fichier existant, il doit avoir les droits en é criture
sur ledit fichier.

Une solution typique (si on est admin), est de changer le groupe du
répertoire pour www-data, et donner les droits en écriture au group e :

:~/sites$ ls -ld stats
drwxrwxr-x 19 allergy www-data 4096 2005-12-14 19:08 stats
^^ ^^^^^^^^
écriture et le groupe auquel
exécution pour appartient le répertoire
le groupe

Plus d'infos dans "man ls", "man chmod" et "man chown" :)
--
Amand Tihon

Avatar
Bruno Desthuilliers
Salut,
il existe un module python pour apache2, mais existe t il des projets
l'utilisant?


Oui.

Les rares projets que j'ai trouvé utilisaient python en cgi.


Ah bon ? Tu n'a rien vu basé sur un serveur embarqué... Comme Zope ou
CherryPy ou (... il y en a un certain nombre).

Est ce que qq1 connaitrait un projet en python utilisant mod_python?


Django, Trac, Mighty,... Et probablement pas mal de développements
spécifiques.

Avatar
Bruno Desthuilliers
Salut,

http://www.djangoproject.com/


c'est pas vraiment ce à quoi je m'attendais. Il s'agit plutot d'une
surcouche pour faire des sites.(d'après ce que j'en ai compris)


On appelle ça un framework, et c'est pour faire des applications web
(pas seulement des "sites").

ce que je voudrais trouver c'est plutot un blog,


Il y en a un dans les contribs de Django

un cms, une gallerie,ou
autres...



Avatar
Bruno Desthuilliers
A propos de Mod_python, je l'ai installer sur ma Debian avec Apache2.
Les pages web crées en Python s'affiche parfaitement.

Seulement j'ai un petit soucis c'est que je n'arrive pas à executer de
scripts python.
Plus précisément, j'ai un script Python qui doit écrire dans un
fichier txt et je veux l'executer depuis l'interface web.

Le probleme, Apache me renvoie une erreur de permissions. Pourtant j'ai
bien laisser les droits sur le dossier (Chmod).

Est-ce que quelqu'un aurait une petite idée ?


C'est l'utilisateur apache (quelque soit son nom sur ton système) qui
doit avoir la permission.

Avatar
jean-michel bain-cornu
guiphh wrote:
En tout cas pour ce qui est de la permission sur le fichier j'ai fait
chmod 777 (c'est pas conseillé je sais mais je ne trouve pas le
problème :/ ) mais ça ne change rien.
Si ton serveur est privé c'est déjà pas terrible, mais s'il est public,

il faut retirer ça le plus vite possible.
Pour faire tes tests d'accès à un fichier, tu n'as *jamais* besoin de
mettre des droits en exécution sur un *fichier*, mais tu en as besoin
sur le *répertoire* qui contient le fichier.
Interdit : chmod -R 777 *
Conseillés :
chmod u+x,u+w,u+r répertoire
chmod u-x,u+w,u+r fichier
A+
jm

Avatar
guiphh
Ca y est le problème est résolu.
Tout d'abord merci à vous tous pour votre aide :)

En fait le problème ne venait pas du fait que l'utilisateur apache
n'avait pas les droits sur le fichier.

L'erreur provenait tout simplement de l'adressage du fichier.
En effet, la commande fs=open('dirlist.txt' ,'w') qui fonctionne très
bien sous le terminal ne fonctionne pas ici.
Il semble que l'adressage relatif ne fonctionne pas dans ce cas.

Le simple remplacement par fs=open('/var/www/site_v2/tests/dirlist.txt'
,'w') a débloqué la situation.

Je peux donc à présent remettre les droits correctement suivant vos
conseils.

Encore merci,
à bientot.
Avatar
bruno at modulix
guiphh wrote:
Ca y est le problème est résolu.
Tout d'abord merci à vous tous pour votre aide :)

En fait le problème ne venait pas du fait que l'utilisateur apache
n'avait pas les droits sur le fichier.

L'erreur provenait tout simplement de l'adressage du fichier.
En effet, la commande fs=open('dirlist.txt' ,'w') qui fonctionne très
bien sous le terminal ne fonctionne pas ici.


A tu essayé "depuis le terminal", mais en n'étant pas positionné dans le
répertoire contenant le script ?

Il semble que l'adressage relatif ne fonctionne pas dans ce cas.


Si, mais le répertoire courant n'est pas celui que tu crois... Tu peux
utiliser os.getcwd() pour connaître le répertoire courant.

Le simple remplacement par fs=open('/var/www/site_v2/tests/dirlist.txt'
,'w') a débloqué la situation.


Oui, mais tu a maintenant codé en dur quelque chose qui ne devrait pas
l'être. Deux solutions:
- passer dans la conf Apache (avec PythonOption) le chemin du répertoire
qui va bien
- se baser sur le répertoire du script, cf:
http://wikipython.flibuste.net/moin.py/CodesDivers#head-5bb8a57c414434ae18e9358140436bc986dc99c2


--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
blukbluk
l'excellent wiki moinmoin (http://moinmoin.wikiwikiweb.de/) peut etre
parametre pour utiliser mod_python et ca marche vraiment bien
1 2