[Mageia-sysadm] [182] - add django support with wsgi

root at mageia.org root at mageia.org
Sat Nov 6 18:50:15 CET 2010


Revision: 182
Author:   misc
Date:     2010-11-06 18:50:14 +0100 (Sat, 06 Nov 2010)
Log Message:
-----------
- add django support with wsgi

Modified Paths:
--------------
    puppet/modules/apache/manifests/init.pp

Added Paths:
-----------
    puppet/modules/apache/templates/django.wsgi
    puppet/modules/apache/templates/vhost_django_app.conf

Modified: puppet/modules/apache/manifests/init.pp
===================================================================
--- puppet/modules/apache/manifests/init.pp	2010-11-06 17:39:16 UTC (rev 181)
+++ puppet/modules/apache/manifests/init.pp	2010-11-06 17:50:14 UTC (rev 182)
@@ -1,6 +1,7 @@
 class apache {
 
     $vhost_dir = "/etc/httpd/conf/vhosts.d"
+    $wsgi_dir = "/usr/local/lib/wsgi"
  
     class base {
         package { "apache-mpm-prefork":
@@ -54,6 +55,13 @@
         package { "apache-mod_wsgi":
             ensure => installed
         }
+
+        file { $wsgi_dir:
+            ensure => directory,
+            owner => root,
+            group => root,
+            mode => 644,
+        }
     }
 
     define vhost_redirect_ssl() {
@@ -82,4 +90,29 @@
             content => template("apache/vhost_catalyst_app.conf")
         }
     }
+
+    define vhost_django_app($module, $module_path = '/usr/share') {
+        include apache::mod_wsgi
+
+        file { "$name.conf":
+            path => "$vhost_dir/$name.conf",
+            ensure => "present",
+            owner => root,
+            group => root,
+            mode => 644,
+            notify => Service['apache'],
+            content => template("apache/vhost_django_app.conf")
+        }
+
+        # fichier django wsgi
+        file { "$name.wsgi":
+            path => "$wsgi_dir/$name.wsgi",
+            ensure => "present",
+            owner => root,
+            group => root,
+            mode => 755,
+            notify => Service['apache'],
+            content => template("apache/django.wsgi")
+        }
+    }
 }

Added: puppet/modules/apache/templates/django.wsgi
===================================================================
--- puppet/modules/apache/templates/django.wsgi	                        (rev 0)
+++ puppet/modules/apache/templates/django.wsgi	2010-11-06 17:50:14 UTC (rev 182)
@@ -0,0 +1,9 @@
+#!/usr/bin/python
+import os, sys
+sys.path.append('<%= module_path  %>')
+os.environ['DJANGO_SETTINGS_MODULE'] = '<%= module =%>.settings'
+
+import django.core.handlers.wsgi
+
+application = django.core.handlers.wsgi.WSGIHandler()
+

Added: puppet/modules/apache/templates/vhost_django_app.conf
===================================================================
--- puppet/modules/apache/templates/vhost_django_app.conf	                        (rev 0)
+++ puppet/modules/apache/templates/vhost_django_app.conf	2010-11-06 17:50:14 UTC (rev 182)
@@ -0,0 +1,12 @@
+<VirtualHost *:80>
+        ServerName <%= name %>
+        # Serve static content directly
+        DocumentRoot  /dev/null
+
+        WSGIScriptAlias / <%= wsgi_dir%>/<%= name %>.wsgi
+
+        <Location />
+            Allow from all
+        </Location>
+</VirtualHost>
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20101106/08460f1b/attachment.html>


More information about the Mageia-sysadm mailing list