## page was renamed from modwsgi
= modwsgi =
Python WSGI adapter module for Apache.

http://code.google.com/p/modwsgi/

== Ubuntu installation 12.04 ==
 * apt-get install libapache2-mod-wsgi
 * service apache2 restart

Create file /var/www/test.wsgi

{{{#!highlight python
def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World! Mod WSGI running'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]
}}}

Add to file /etc/apache2/sites-available/default inside the Virtual host the following 

{{{
WSGIScriptAlias /test /var/www/test.wsgi
}}}


== Slackware 14 installation ==
 * wget http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.4.tar.gz&can=1&q=
 * cp mod_wsgi-3.4.tar.gz /tmp
 * cd /tmp
 * tar xvzf mod_wsgi-3.4.tar.gz
 * cd mod_wsgi-3.4
 * ./configure
 * make clean
 * make 
 * make install
 * ldconfig
 * ls /usr/lib/httpd/modules #should appear file mod_wsgi.so
 * touch /etc/httpd/mod_wsgi.conf
 
Edit file '''/etc/httpd/httpd.conf''' and add
{{{
Include /etc/httpd/mod_wsgi.conf
Include /etc/httpd/vhosts.conf
}}} 

Edit file '''/etc/httpd/mod_wsgi.conf''' and add
{{{
LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so
}}}

Restart apache with  
 * /etc/rc.d/rc.httpd restart

Check if mod_wsgi module is loaded with 
 * tail /var/log/httpd/error_log | grep wsgi
 * Should appear '''mod_wsgi/3.4'''

=== Create test wsgi app ===
Create file '''/var/www/htdocs/test/test.wsgi'''
{{{#!highlight python
def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    yield '<html><body><h1>Test WSGI</h1></body></html>'
}}}

Create virtual host in /etc/httpd/vhosts.conf
{{{#!highlight xml
<VirtualHost *:80>
    ServerName localhosttestwsgi
    DocumentRoot "/var/www/htdocs/test"
    WSGIScriptAlias / /var/www/htdocs/test/test.wsgi
    ErrorLog /var/log/localhosttestwsgi-error_log
    CustomLog /var/log/localhosttestwsgi-access_log common
    <Directory "/var/www/htdocs/test">
      Require local
    </Directory>
</VirtualHost>
}}}

Add host to '''/etc/hosts'''
{{{
127.0.0.1 localhosttestwsgi
}}}

Restart apache
 * /etc/rc.d/rc.httpd restart

Open url http://localhosttestwsgi/ and see if the string '''Test WSGI''' appears.