Apache and mod_wsgi

If you are using the Apache webserver, you can use it to run Supysonic with the help of mod_wsgi.

Installing mod_wsgi

If you don’t have mod_wsgi installed yet you have to install it and enable it first as follows:

# apt install libapache2-mod-wsgi-py3
# a2enmod wsgi

Creating a .wsgi file

To run Supysonic within Apache you need a supysonic.wsgi file. Create one somewhere and fill it with the following content:

from supysonic.web import create_application
application = create_application()

Store that file somewhere that you will find it again (e.g.: /var/www/supysonic/supysonic.wsgi).

Configuring Apache

The last thing you have to do is to edit the Apache configuration to tell it to load the application. Here’s a basic example of what it looks like:

WSGIScriptAlias /supysonic /var/www/supysonic/supysonic.wsgi
<Directory /var/www/supysonic>
   WSGIApplicationGroup %{GLOBAL}
   WSGIPassAuthorization On
   Require all granted
</Directory>

With that kind of configuration, the server address will look like http://server/supysonic/.

For more information consult the mod_wsgi documentation. Note that the WSGIPassAuthorization directive is required for some clients as they provide their credentials using the basic access authentification mechanism rather than as URL query parameters.