Installation commands:
$ wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
$ tar xvfz redis-2.4.8.tar.gz
$ cd redis-2.4.8/
$ mkdir -p /opt/redis
$ make PREFIX=/opt/redis install
$ cp redis.conf /opt/redis/redis.conf
$ chown -R redis:redis /opt/redis
$ touch /var/log/redis.log
$ chown redis:redis /var/log/redis.log
Create this upstart script at /etc/init/redis-server.conf
:
description "redis server"
start on runlevel [23]
stop on shutdown
exec sudo -u redis /opt/redis/bin/redis-server /opt/redis/redis.conf
respawn
Configure it, here's what I changed:
bind 127.0.0.1
timeout 300
loglevel notice
logfile /var/log/redis.log
dir /opt/redis/
And run it!
$ sudo start redis-server
$ sudo restart redis-server
$ sudo stop redis-server
The only possible thing to add to this would be how to create the redis user. To create a system user, with no shell and therefor no ability to log in, with /opt/redis as its home and a group named redis as primary group:
useradd -rMU -d /opt/redis -s /bin/false -c redis-server redis
Will create the following entry on a new installation at the bottom of /etc/passwd.
redis:x:999:999:redis-server:/opt/redis:/bin/false