>
## page was renamed from modwsgi
= modwsgi =
Python WSGI adapter module for Apache.
* http://code.google.com/p/modwsgi/
* https://github.com/GrahamDumpleton/mod_wsgi
== Ubuntu installation 12.04 ==
{{{#!highlight sh
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
{{{#!highlight sh
WSGIScriptAlias /test /var/www/test.wsgi
}}}
== Slackware 14 installation ==
{{{#!highlight sh
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
{{{#!highlight sh
Include /etc/httpd/mod_wsgi.conf
Include /etc/httpd/vhosts.conf
}}}
Edit file '''/etc/httpd/mod_wsgi.conf''' and add
{{{#!highlight sh
LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so
}}}
Restart apache with
{{{#!highlight sh
/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 'Test WSGI
'
}}}
Create virtual host in /etc/httpd/vhosts.conf
{{{#!highlight xml
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
Require local
}}}
Add host to '''/etc/hosts'''
{{{#!highlight sh
127.0.0.1 localhosttestwsgi
}}}
Restart apache
{{{#!highlight sh
/etc/rc.d/rc.httpd restart
}}}
Open url http://localhosttestwsgi/ and see if the string '''Test WSGI''' appears.