Deploy A2Billing-Flask-API¶
There are many ways to deploy a Flask application, here we will focus on deploying on Apache2 webserver using mod_wsgi. This should be the easiest way for A2Billing users without installing too many applications on their server.
Installing mod_wsgi¶
If you don’t have mod_wsgi installed yet you have to either install it using a package manager or compile it yourself.
If you are using Ubuntu/Debian you can apt-get it and activate it as follows:
apt-get install libapache2-mod-wsgi
WSGI Application¶
To run your application you need an app.wsgi file. Mod_wsgi is executing this file on startup to get the application object.
The a2billing_flask_app.wsgi is located at the root of this repository.
Configuring Apache¶
The last thing to do is to create an Apache configuration file for your application.
Apache config:
<VirtualHost *>
ServerName example.com
WSGIDaemonProcess a2billing_flask_app user=user1 group=group1 threads=5
WSGIScriptAlias / /usr/share/a2billing-flask-api/a2billing_flask_app.wsgi
<Directory /usr/share/a2billing-flask-api>
WSGIProcessGroup a2billing_flask_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>