Radicale
Installing Radicale using Gunicorn and Nginx on CentOS 7
Install Nginx:
Nginx is in the EPEL so install that first.
# yum install -y epel-release # yum install -y nginx
We are going to run Radicale and Gunicorn in a virtual environment, so we need to install virtualenv
# yum install -y python-virtualenv
Create a "radicale" user to run the application:
# adduser radicale
Make them a member of the nginx group so that Nginx can access the files:
# usermod -a -G nginx radicale
Create the application folder and set the permissions:
# mkdir /opt/radicale # chown -R radicale:nginx /opt/radicale
Switch to the radicale user:
# su - radicale
Create the app directory and virtualenv:
$ cd /opt/radicale $ virtualenv venv $ source venv/bin/activate (venv)$ pip install radicale gunicorn
/opt/radicale/wsgi.py
import radicale radicale.log.start() application = radicale.Application()
/etc/systemd/system/radicale.service:
[Unit] Description=Radicale After=network.target [Service] User=radicale Group=nginx WorkingDirectory=/opt/radicale ExecStart=/opt/radicale/venv/bin/gunicorn --workers=3 --bind=unix:/opt/radicale/radicale.sock wsgi:application [Install] WantedBy=multi-user.target
Optional bcrypt support
# yum install -y gcc libffi-devel # su - radicale $ cd /opt/radicale $ source venv/bin/activate (venv)$ pip install bcrypt passlib
References:
How To Set Up Django with Postgres, Nginx, and Gunicorn on CentOS 7
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-centos-7
How to use selinux on your Redhat/CentOS server.
http://blog.centralserv.co.uk/how-to-use-selinux-on-centos-6-5/