I think after that comment I'm slowly getting it but I still need to
go back and learn more. Regardless of the the horrible security holes
in my application, this still wouldn't do anything as far as *not*
making this django app run, would it? In other words, I know it's
insecure as hell to do what I'm doing but that is *not* the reason my
django app is not running, correct?

thanks again,
j.

On Dec 11, 7:09 pm, Mike Dewhirst <mi...@dewhirst.com.au> wrote:
> On 12/12/2010 10:35am, jc wrote:
>
> > You definitely lost me in some places but you've also cleared some
> > things up in the process. I also noticed that I had "<Directory /srv/
> > www/wsgi-scripts>", which is lacking a directory for the
> > WSGIScriptAlias. I've fixed that now. *Now*, I no longer get my
> > listing of my files in my project when I go to my address *but* I now
> > get 500 Internal Server Error. I'm not sure if I should trust the logs
>
> Always trust the logs. If you know enough about Apache to mistrust the
> logs then you wouldn't be here.
>
> > or maybe I've misconfigured something else (either in Apache or in my
> > django.wsgi file)...I had this same issue yesterday 500 error...
>
> > Also, when you said "Somewhere in your Apache config you have denied
> > access to the entire filesystem", do  you mean *Apache* has done this
> > so that it will keep others out of my project (not that I've actually
> > done this somewhere, right?)
>
> Somewhere in your Apache config there will be something like this ...
>
> # forbid access to the entire filesystem by default
> <Directory />
>      Options None
>      AllowOverride None
>      Order deny,allow
>      Deny from all
> </Directory>
>
> ... which - as the comment says - locks the public out of everything on
> the server. <Directory /> actually means the root of the server itself.
> In other words /. The '/>' is not an XML closing tag even though it
> might look like it.
>
> This is why you need to specifically open up public access to htdocs and
> your wsgi script directory. Incidentally, it is also why your Django
> code should not be in your your wsgi script directory. If it was Apache
> could reveal it to the public - which is what I think you were
> describing earlier.
>
>
>
> > After these changes, the project is still not running and I'm still
> > not sure if it's my django app that's the issue or wsgi and my Apache
> > configs. :/
>
> 1. In WSGIScriptAlias you map your wsgi script (django.wsgi itself) to
> the root of your duckling website. In other words your wsgi script
> becomes the / which is the slash at the end ofhttp://1.2.3.4/
>
> 2. Your Apache config opens up access to the directory in which that
> script lives - in other words you create a hole in the entire filesystem
> lockdown.
>
> To gain more info on wsgi scripts try ...
>
> http://code.google.com/p/modwsgi/wiki/DebuggingTechniques
>
> Good luck
>
> Mike
>
>
>
>
>
>
>
>
>
> > thanks for the reply back, I do appreciate it...
>
> > j.
>
> > On Dec 11, 5:29 pm, Mike Dewhirst<mi...@dewhirst.com.au>  wrote:
> >> On 12/12/2010 7:14am, jc wrote:
>
> >>> Apache&    mod_wsgi are configured correctly (I've created a hello
> >>> world .html apache file and a hello world mod_wsgi application with
> >>> no
> >>> problems). I know need my Django app to recognize my django.wsgi
> >>> file.
> >>> What makes me think that it's not recognizing my wsgi file is that I
> >>> went into my django.wsgi file I created and completely deleted all of
> >>> the code in the file and restarted Apache and it still gives me the
> >>> same page (a listing of the files from Django app, not my actual
> >>> Django application. Configuring Apache and mod_wsgi went really well
> >>> but I'm at a loss of how to fix this. Here are some details instead of
> >>> "it's
> >>> not working":
>
> >> You are correct. Apache is not looking at the wsgi script. Have a look
> >> at the suggestions below ... before playing with django.wsgi.
>
> >>> Here is my current django.wsgi file:
>
> >>> import os
> >>> import sys
> >>> sys.path.append('/srv/www/duckling.org/store/')
> >>> os.environ['PYTHON_EGG_CACHE'] = '/srv/www/duckling.org/
> >>> store/.python-
> >>> egg'
> >>> os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
> >>> import django.core.handlers.wsgi
> >>> application = django.core.handlers.wsgi.WSGIHandler()
>
> >>> I've tried a few different versions of the django.wsgi file
> >>> (including
> >>> a version like the one over athttp://www.djangoproject.com/).
> >>> This version of my wsgi is from here:
> >>>http://library.linode.com/frameworks/django-apache-mod-wsgi/ubuntu-10...
>
> >>> Also, here is my vhost apache configuration file below. I think these
> >>> are
> >>> the main files that are suppose to do the job for me. Let me know if
> >>> you see any errors in what I'm doing and what else I might do to fix
> >>> this. The django app runs fine on the django's built-in development
> >>> server so I'm thinking it *might have* something with my paths.
> >>> No errors in my apache error.log file as well. It's acting as there's
> >>> no problem at all, which is not the case...the project isn't loading,
> >>> like I said just a listing of my files and directories of my Django
> >>> project. Here is my apache config file:
>
> >>> <VirtualHost 1.2.3.4:80>
> >>>       ServerAdmin h...@duckling.org
> >>>       ServerName duckling.org
> >>>       ServerAliaswww.duckling.org
>
> >>>       DocumentRoot /srv/www/duckling.org/store/
>
> >> # DocumentRoot is where you keep non-django stuff eg., static files
> >> # which is served by Apache without needing your Django code
> >> DocumentRoot /srv/www/duckling.org/htdocs/
>
> >>>       <Directory /srv/www/duckling.org/store/>
> >>>       Order Allow,Deny
> >>>       Allow from all
> >>>       </Directory>
>
> >> # now let the public access anything here
> >>    <Directory /srv/www/duckling.org/htdocs/>
> >>     AllowOverride None
> >>     Order deny,allow
> >>     Allow from all
> >>    </Directory>
>
> >>>       WSGIScriptAlias /django /srv/www/duckling.org/store/wsgi-scripts/
> >>> django.wsgi
> >>>       <Directory /srv/www/wsgi-scripts>
> >>>       Order allow,deny
> >>>       Allow from all
> >>>       </Directory>
> >>> </VirtualHost>
>
> >> Somewhere in your Apache config you have denied access to the entire
> >> filesystem to prevent outsiders from hacking in. Your Django code must
> >> also be hidden from outsiders so it will live safely in
> >> /srv/www/duckling.org/store because you haven't allowed anyone except
> >> Apache to see it.
>
> >> Now you need to provide an allowed conduit to your Django code. So make
> >> an Apache script alias to map the website root (ie '/') to your Django
> >> code. Because you are using mod_wsgi the entry point is your django.wsgi
> >> script. So map / to the script:
> >>    WSGIScriptAlias / /srv/www/duckling.org/store/wsgi-scripts/django.wsgi
>
> >> # and give the public full access - but only to the entry point
> >>    <Directory /srv/www/duckling.org/store/wsgi-scripts/>
> >>     Order deny,allow
> >>     Allow from all
> >>    </Directory>
>
> >> hth
> >> Mike
>
> >>> And here are versions of the stack that I'm using, I saw over at the
> >>> mod_wsgi site that you all would like the versions of what I'm using
> >>> on the server:
> >>> Apache/2.2.14 (Ubuntu) PHP/5.3.2-1ubuntu4.5 with Suhosin-Patch
> >>> mod_python/3.3.1 Python/2.6.5 mod_wsgi/2.8
>
> >> I would remove mod_python if possible
>
> >>> thanks,
> >>> j.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to