<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Setup mod_wsgi for Django and Shared Hosting</title>
	<atom:link href="http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html</link>
	<description>A blog about Django, JavaScript, CSS, and general web development.</description>
	<lastBuildDate>Fri, 12 Mar 2010 19:46:01 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: hagan</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-20783</link>
		<dc:creator>hagan</dc:creator>
		<pubDate>Thu, 23 Apr 2009 18:28:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-20783</guid>
		<description>This may or may not be a problem in this example or even for most people but while I was setting up mod_wsgi and following along this example I noticed something that might be pitfall.  

If your django boilerplate code is stored under &quot;/home/username/project_name&quot;, as mine was, this configuration will allow apache to post any file in that directory.  If this had been on the web and some script kiddie had found it, they&#039;d have been able to read my settings.py file.</description>
		<content:encoded><![CDATA[<p>This may or may not be a problem in this example or even for most people but while I was setting up mod_wsgi and following along this example I noticed something that might be pitfall.  </p>
<p>If your django boilerplate code is stored under &#8220;/home/username/project_name&#8221;, as mine was, this configuration will allow apache to post any file in that directory.  If this had been on the web and some script kiddie had found it, they&#8217;d have been able to read my settings.py file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: thebattle</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-20481</link>
		<dc:creator>thebattle</dc:creator>
		<pubDate>Fri, 28 Nov 2008 07:07:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-20481</guid>
		<description>Looks interesting!&lt;br&gt;Thanks for letting us know about it.I really love your blog well done , congrats&lt;br&gt;regards,&lt;br&gt;&lt;a href=&quot;http://xtupload.com&quot; title=&quot;share picture online&quot; rel=&quot;nofollow&quot;&gt;share picture online&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Looks interesting!<br />Thanks for letting us know about it.I really love your blog well done , congrats<br />regards,<br /><a href="http://xtupload.com" title="share picture online" rel="nofollow">share picture online</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jobscry</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19893</link>
		<dc:creator>jobscry</dc:creator>
		<pubDate>Sun, 01 Jun 2008 01:01:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19893</guid>
		<description>dude, you rock.  good info.  had some problem with the admin media but turned out to be a permissions error.</description>
		<content:encoded><![CDATA[<p>dude, you rock.  good info.  had some problem with the admin media but turned out to be a permissions error.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19584</link>
		<dc:creator>David</dc:creator>
		<pubDate>Tue, 25 Mar 2008 18:15:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19584</guid>
		<description>Arne, sounds like your method would work great for hosting multiple projects under the same domain.</description>
		<content:encoded><![CDATA[<p>Arne, sounds like your method would work great for hosting multiple projects under the same domain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arne Brodowski</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19558</link>
		<dc:creator>Arne Brodowski</dc:creator>
		<pubDate>Mon, 24 Mar 2008 14:59:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19558</guid>
		<description>I use a combination of mod_wsgi and mod_vhost_alias to reduce apache config changes to a minimum for each new site.
Per-site configuration (except for WSGIDaemonProcess directives) are written in a .htaccess file.

I&#039;ve documented the setup here (in german, but the listings should be readable) http://django-hosting.de/wiki/ApacheModWsgi/</description>
		<content:encoded><![CDATA[<p>I use a combination of mod_wsgi and mod_vhost_alias to reduce apache config changes to a minimum for each new site.<br />
Per-site configuration (except for WSGIDaemonProcess directives) are written in a .htaccess file.</p>
<p>I&#8217;ve documented the setup here (in german, but the listings should be readable) <a href="http://django-hosting.de/wiki/ApacheModWsgi/" rel="nofollow">http://django-hosting.de/wiki/ApacheModWsgi/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19534</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sun, 23 Mar 2008 21:49:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19534</guid>
		<description>Thanks for the reply Graham. I&#039;ll be changing the process count and the process name for sure :)</description>
		<content:encoded><![CDATA[<p>Thanks for the reply Graham. I&#8217;ll be changing the process count and the process name for sure <img src='http://www.davidcramer.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graham Dumpleton</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19529</link>
		<dc:creator>Graham Dumpleton</dc:creator>
		<pubDate>Sun, 23 Mar 2008 09:25:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19529</guid>
		<description>It is best not to include &#039;processes=1&#039; option to WSGIDaemonProcess but let it apply its default of 1. This is because there is a subtle little difference between each. When it defaults to 1, wsgi.multiprocess is False, where as setting &#039;processes=1&#039; results in wsgi.multiprocess is True. This distinction exists for where one may use a means of mapping across multiple process groups in same server, or requests are handled across multiple servers in a cluster. In other words, one needs a way of saying the application is logically hosted in a multiprocess setup even though only one process in that particular process group. I know it may be a bit non obvious, but best I could could up with at the time.

Where does this matter? It matters if you want to use an in browser application debugger such as Paste EvalException or the one from Werkzeug. This will not work in a multiprocess setup as it relies on requests going back to the same process. In your setup the requests will go back to the same process, but debuggers such as EvalException think it is multiprocess setup and will not allow you to run it.

So check out the ConfigurationDirectives document on mod_wsgi wiki as well as the DebuggingTechniques document.

BTW, you might also look at the display-name option for WSGIDaemonProcess for mod_wsgi 2.0. Use that and &#039;ps&#039; can be used to distinguish each users processes rather than them all appearing as being named &#039;httpd&#039;. Finally, you might also look at VirtualEnvironments document on wiki and setup things so that each user is working out of a Python virtual environment constructed using &#039;virtualenv&#039;. That way it is a lot easier for them to install their own Python packages.</description>
		<content:encoded><![CDATA[<p>It is best not to include &#8216;processes=1&#8242; option to WSGIDaemonProcess but let it apply its default of 1. This is because there is a subtle little difference between each. When it defaults to 1, wsgi.multiprocess is False, where as setting &#8216;processes=1&#8242; results in wsgi.multiprocess is True. This distinction exists for where one may use a means of mapping across multiple process groups in same server, or requests are handled across multiple servers in a cluster. In other words, one needs a way of saying the application is logically hosted in a multiprocess setup even though only one process in that particular process group. I know it may be a bit non obvious, but best I could could up with at the time.</p>
<p>Where does this matter? It matters if you want to use an in browser application debugger such as Paste EvalException or the one from Werkzeug. This will not work in a multiprocess setup as it relies on requests going back to the same process. In your setup the requests will go back to the same process, but debuggers such as EvalException think it is multiprocess setup and will not allow you to run it.</p>
<p>So check out the ConfigurationDirectives document on mod_wsgi wiki as well as the DebuggingTechniques document.</p>
<p>BTW, you might also look at the display-name option for WSGIDaemonProcess for mod_wsgi 2.0. Use that and &#8216;ps&#8217; can be used to distinguish each users processes rather than them all appearing as being named &#8216;httpd&#8217;. Finally, you might also look at VirtualEnvironments document on wiki and setup things so that each user is working out of a Python virtual environment constructed using &#8216;virtualenv&#8217;. That way it is a lot easier for them to install their own Python packages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deploying Django &#124; David Cramer's Blog</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/comment-page-1#comment-19519</link>
		<dc:creator>Deploying Django &#124; David Cramer's Blog</dc:creator>
		<pubDate>Sun, 23 Mar 2008 01:35:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19519</guid>
		<description>[...] Apache 2.x + mod_wsgiYou can see my configuration example. [...]</description>
		<content:encoded><![CDATA[<p>[...] Apache 2.x + mod_wsgiYou can see my configuration example. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
