Skip to content

Instantly share code, notes, and snippets.

@rcrowley
Created November 16, 2010 00:14

Revisions

  1. rcrowley revised this gist Nov 17, 2010. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions deps.pp
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    stage { "pre": before => Stage["main"] }
    class pre {
    class python {
    package {
    "build-essential": ensure => latest;
    "python": ensure => "2.6.6-2ubuntu1";
    @@ -13,7 +13,7 @@
    subscribe => Package["python-setuptools"],
    }
    }
    class { "pre": stage => "pre" }
    class { "python": stage => "pre" }

    package {
    "django":
  2. rcrowley created this gist Nov 16, 2010.
    76 changes: 76 additions & 0 deletions deps.pp
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,76 @@
    stage { "pre": before => Stage["main"] }
    class pre {
    package {
    "build-essential": ensure => latest;
    "python": ensure => "2.6.6-2ubuntu1";
    "python-dev": ensure => "2.6.6-2ubuntu1";
    "python-setuptools": ensure => "latest";
    }
    exec { "easy_install pip":
    path => "/usr/local/bin:/usr/bin:/bin",
    refreshonly => true,
    require => Package["python-setuptools"],
    subscribe => Package["python-setuptools"],
    }
    }
    class { "pre": stage => "pre" }

    package {
    "django":
    ensure => "1.2.3",
    provider => pip;
    "libmysqlclient-dev":
    ensure => "5.1.49-1ubuntu8.1";
    "mysql-python":
    ensure => "1.2.3",
    provider => pip,
    require => Package["libmysqlclient-dev"];
    }

    package { "fabric":
    ensure => "0.9.3",
    provider => pip,
    }

    package { "south":
    ensure => "0.7.2",
    provider => pip,
    }

    package {
    "apache2-mpm-worker":
    ensure => "2.2.16-1ubuntu3";
    "libapache2-mod-wsgi":
    ensure => "3.2-2";
    }

    file {
    "/etc/apache2/sites-available/mysite":
    content => template("mysite.erb"),
    ensure => file,
    require => Package["apache2-mpm-worker"];
    "/etc/apache2/sites-enabled/001-mysite":
    ensure => "/etc/apache2/sites-available/mysite",
    require => Package["apache2-mpm-worker"];
    "/etc/apache2/sites-enabled/000-default":
    ensure => absent,
    require => Package["apache2-mpm-worker"];
    "/usr/local/share/wsgi/mysite/mysite.wsgi":
    content => template("mysite.wsgi.erb"),
    ensure => file;
    }

    service { "apache2":
    enable => true,
    ensure => running,
    require => Package["apache2-mpm-worker"],
    subscribe => [
    Package[
    "apache2-mpm-worker",
    "libapache2-mod-wsgi"],
    File[
    "/etc/apache2/sites-available/mysite",
    "/etc/apache2/sites-enabled/001-mysite",
    "/etc/apache2/sites-enabled/000-default",
    "/usr/local/share/wsgi/mysite/mysite.wsgi"]],
    }
    7 changes: 7 additions & 0 deletions mysite.erb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    <VirtualHost *:80>
    DocumentRoot /usr/local/share/wsgi/mysite/media
    Alias /media /usr/local/share/wsgi/mysite/media
    WSGIScriptAlias / /usr/local/share/wsgi/mysite/mysite.wsgi
    WSGIDaemonProcess mysite processes=<%= processorcount %>
    WSGIProcessGroup mysite
    </VirtualHost>
    8 changes: 8 additions & 0 deletions mysite.wsgi
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    import os
    import sys.path

    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
    sys.path.append('/usr/local/share/wsgi')

    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()