diff --git a/README.rst b/README.rst index 5b7bb4d0..76d1633f 100644 --- a/README.rst +++ b/README.rst @@ -33,7 +33,21 @@ You can also set the `TESTING` flag to `True` so no mails are sent Deploy it ========= -To deploy it, I'm using gunicorn and supervisord. +You have multiple options to deploy ihatemoney. Two of them are documented at the moment: + +With Apache and mod_wsgi +------------------------ + +1. Install Apache and mod_wsgi - libapache2-mod-wsgi(-py3) for Debian based and mod_wsgi for RedHat based distributions - + +2. Create an Apache virtual host based on the sample configuration file in conf/apache-vhost.conf + +3. Adapt it to your paths and specify your virtualenv path if you use one + +4. Activate the virtual host if needed and restart Apache + +With Nginx, Gunicorn and Supervisord +------------------------------------ 1. Add the lines in conf/supervisord.conf to your supervisord.conf file. **adapt them to your paths!** diff --git a/conf/apache-vhost.conf b/conf/apache-vhost.conf new file mode 100644 index 00000000..4b9dad0a --- /dev/null +++ b/conf/apache-vhost.conf @@ -0,0 +1,16 @@ + + ServerAdmin admin@example.com + ServerName ihatemoney.example.com + # Uncomment the python-home option if you use a virtualenv + WSGIDaemonProcess ihatemoney user=www-data group=www-data threads=5 # python-home=/path/to/your/venv + WSGIScriptAlias / /path/to/ihatemoney/ihatemoney.wsgi + ErrorLog /var/log/apache2/ihatemoney.example.com_error.log + CustomLog /var/log/apache2/ihatemoney.example.com_access.log combined + + WSGIProcessGroup ihatemoney + WSGIApplicationGroup %{GLOBAL} + Order deny,allow + Allow from all + +Alias /static/ /path/to/ihatemoney/budget/static/ + diff --git a/ihatemoney.wsgi b/ihatemoney.wsgi new file mode 100644 index 00000000..fbaa1341 --- /dev/null +++ b/ihatemoney.wsgi @@ -0,0 +1,9 @@ +import sys +import os + +__HERE__ = os.path.dirname(os.path.abspath(__file__)) + +# Add the budget directory to the path so we can then import from run +sys.path.insert(0, os.path.join(__HERE__, 'budget')) + +from run import app as application