#!/bin/bash | |
# from here: http://www.codingsteps.com/install-redis-2-6-on-amazon-ec2-linux-ami-or-centos/ | |
# and here: https://raw.github.com/gist/257849/9f1e627e0b7dbe68882fa2b7bdb1b2b263522004/redis-server | |
############################################### | |
# To use: | |
# wget https://raw.github.com/gist/2776679/04ca3bbb9f085b192f6aca945120fe12d59f15f9/install-redis.sh | |
# chmod 777 install-redis.sh | |
# ./install-redis.sh | |
############################################### | |
echo "*****************************************" | |
echo " 1. Prerequisites: Install updates, set time zones, install GCC and make" | |
echo "*****************************************" | |
#sudo yum -y update | |
#sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles \/etc/localtime | |
#sudo yum -y install gcc gcc-c++ make | |
echo "*****************************************" | |
echo " 2. Download, Untar and Make Redis 2.6" | |
echo "*****************************************" | |
cd /usr/local/src | |
sudo wget http://redis.googlecode.com/files/redis-2.6.0-rc5.tar.gz | |
sudo tar xzf redis-2.6.0-rc5.tar.gz | |
sudo rm redis-2.6.0-rc5.tar.gz -f | |
cd redis-2.6.0-rc5 | |
sudo make | |
echo "*****************************************" | |
echo " 3. Create Directories and Copy Redis Files" | |
echo "*****************************************" | |
sudo mkdir /etc/redis /var/lib/redis | |
sudo cp src/redis-server src/redis-cli /usr/local/bin | |
echo "*****************************************" | |
echo " 4. Configure Redis.Conf" | |
echo "*****************************************" | |
echo " Edit redis.conf as follows:" | |
echo " 1: ... daemonize yes" | |
echo " 2: ... bind 127.0.0.1" | |
echo " 3: ... dir /var/lib/redis" | |
echo " 4: ... loglevel notice" | |
echo " 5: ... logfile /var/log/redis.log" | |
echo "*****************************************" | |
sudo sed -e "s/^daemonize no$/daemonize yes/" -e "s/^# bind 127.0.0.1$/bind 127.0.0.1/" -e "s/^dir \.\//dir \/var\/lib\/redis\//" -e "s/^loglevel verbose$/loglevel notice/" -e "s/^logfile stdout$/logfile \/var\/log\/redis.log/" redis.conf > /etc/redis/redis.conf | |
echo "*****************************************" | |
echo " 5. Download init Script" | |
echo "*****************************************" | |
wget https://raw.github.com/gist/2777433/e64b4b8ad7d38676f7e7f70b24f3f004b4f10b74/redis-server | |
echo "*****************************************" | |
echo " 6. Move and Configure Redis-Server" | |
echo "*****************************************" | |
sudo mv redis-server /etc/init.d | |
sudo chmod 755 /etc/init.d/redis-server | |
echo "*****************************************" | |
echo " 7. Auto-Enable Redis-Server" | |
echo "*****************************************" | |
sudo chkconfig --add redis-server | |
sudo chkconfig --level 345 redis-server on | |
echo "*****************************************" | |
echo " 8. Start Redis Server" | |
echo "*****************************************" | |
sudo service redis-server start | |
echo "*****************************************" | |
echo " Complete!" | |
echo " You can test your redis installation using the redis console:" | |
echo " $ src/redis-cli" | |
echo " redis> set foo bar" | |
echo " OK" | |
echo " redis> get foo" | |
echo " bar" | |
echo "*****************************************" | |
read -p "Press [Enter] to continue..." |
This comment has been minimized.
This comment has been minimized.
Nice script - two bugs then it's perfect: Line 40: Fails due to sudo not giving elevation to redirections. Try this instead: sudo sed -e "s/^daemonize no$/daemonize yes/" -e "s/^# bind 127.0.0.1$/bind 127.0.0.1/" -e "s/^dir \.\//dir \/var\/lib\/redis\//" -e "s/^loglevel verbose$/loglevel notice/" -e "s/^logfile stdout$/logfile \/var\/log\/redis.log/" redis.conf | sudo tee /etc/redis/redis.conf Line 44: pwd is still sudo wget https://raw.github.com/gist/2777433/e64b4b8ad7d38676f7e7f70b24f3f004b4f10b74/redis-server Thanks :-) |
This comment has been minimized.
This comment has been minimized.
Should update to the latest stable... (2.6.12) ;-) |
This comment has been minimized.
This comment has been minimized.
Thank you for this. |
This comment has been minimized.
This comment has been minimized.
here's an updated version with the latest version, fixes above and some minor improvements #!/bin/bash
# from here: http://www.codingsteps.com/install-redis-2-6-on-amazon-ec2-linux-ami-or-centos/
# and here: https://raw.github.com/gist/257849/9f1e627e0b7dbe68882fa2b7bdb1b2b263522004/redis-server
###############################################
# To use:
# <<!!!!!!!!!!!!!!!!!!! FIX ME !!!!!!!!!!!!!!!!!!!!!!!!> wget https://raw.github.com/gist/2776679/04ca3bbb9f085b192f6aca945120fe12d59f15f9/install-redis.sh
# chmod 777 install-redis.sh
# ./install-redis.sh
###############################################
echo "*****************************************"
echo " 1. Prerequisites: Install updates, set time zones, install GCC and make"
echo "*****************************************"
#sudo yum -y update
#sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles \/etc/localtime
#sudo yum -y install gcc gcc-c++ make
echo "*****************************************"
echo " 2. Download, Untar and Make Redis 2.6"
echo "*****************************************"
cd /usr/local/src
sudo wget http://download.redis.io/releases/redis-2.6.16.tar.gz
sudo tar xzf redis-2.6.16.tar.gz
sudo rm redis-2.6.16.tar.gz -f
cd redis-2.6.16
sudo make distclean
sudo make
echo "*****************************************"
echo " 3. Create Directories and Copy Redis Files"
echo "*****************************************"
sudo mkdir /etc/redis /var/lib/redis
sudo cp src/redis-server src/redis-cli /usr/local/bin
echo "*****************************************"
echo " 4. Configure Redis.Conf"
echo "*****************************************"
echo " Edit redis.conf as follows:"
echo " 1: ... daemonize yes"
echo " 2: ... bind 127.0.0.1"
echo " 3: ... dir /var/lib/redis"
echo " 4: ... loglevel notice"
echo " 5: ... logfile /var/log/redis.log"
echo "*****************************************"
sudo sed -e "s/^daemonize no$/daemonize yes/" -e "s/^# bind 127.0.0.1$/bind 127.0.0.1/" -e "s/^dir \.\//dir \/var\/lib\/redis\//" -e "s/^loglevel verbose$/loglevel notice/" -e "s/^logfile stdout$/logfile \/var\/log\/redis.log/" redis.conf | sudo tee /etc/redis/redis.conf
echo "*****************************************"
echo " 5. Download init Script"
echo "*****************************************"
sudo wget https://raw.github.com/saxenap/install-redis-amazon-linux-centos/master/redis-server
echo "*****************************************"
echo " 6. Move and Configure Redis-Server"
echo "*****************************************"
sudo mv redis-server /etc/init.d
sudo chmod 755 /etc/init.d/redis-server
echo "*****************************************"
echo " 7. Auto-Enable Redis-Server"
echo "*****************************************"
sudo chkconfig --add redis-server
sudo chkconfig --level 345 redis-server on
echo "*****************************************"
echo " 8. Start Redis Server"
echo "*****************************************"
sudo service redis-server start
echo "*****************************************"
echo " Complete!"
echo " You can test your redis installation using the redis console:"
echo " $ /usr/local/redis-2.6.16/src/redis-cli"
echo " redis> set foo bar"
echo " OK"
echo " redis> get foo"
echo " bar"
echo "*****************************************"
read -p "Press [Enter] to continue..." |
This comment has been minimized.
This comment has been minimized.
Exceptional! Thanks guys |
This comment has been minimized.
This comment has been minimized.
Fantastic! Thanks! |
This comment has been minimized.
This comment has been minimized.
Hi, nice job BUT |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
thanks for this! |
This comment has been minimized.
This comment has been minimized.
Thank you all for this! |
This comment has been minimized.
This comment has been minimized.
Hi, this saved me a lot of time :-), however https://raw.github.com/gist/2777433/e64b4b8ad7d38676f7e7f70b24f3f004b4f10b74/redis-server is a dead link again! Can still run |
This comment has been minimized.
This comment has been minimized.
Why don't you use: |
This comment has been minimized.
This comment has been minimized.
Voilà, with redis stable
|
This comment has been minimized.
This comment has been minimized.
At the end: echo " You can test your redis installation using the redis console:" or just: echo " $ redis-cli" |
This comment has been minimized.
This comment has been minimized.
Thank You VERY much... you just saved me much time and frustration! |
This comment has been minimized.
This comment has been minimized.
works like a charm! thanks for share! |
This comment has been minimized.
This comment has been minimized.
Updated version with all the comments and best practices mentioned here. I'll try to keep this version up to date as best I can. Feel free to leave a comment if you find something new. |
This comment has been minimized.
This comment has been minimized.
You can also just enable the epel repo on amazon ami. However, do note that this may not install the latest and greatest redis. Also, it is disabled at all runlevels by default. Use chkconfig to enable. |
This comment has been minimized.
This comment has been minimized.
And used the Redis stable version as suggested by @josephmo Faced the 301 moved permanently error at Step 5. Download init script The final script goes as follows:
|
This comment has been minimized.
This comment has been minimized.
is there an ubuntu version of this as well? |
This comment has been minimized.
This comment has been minimized.
You forgot copying
|
This comment has been minimized.
This comment has been minimized.
it is that version the updated one? |
This comment has been minimized.
This was really helpful to me. The "sed" line (40) doesn't work for me giving me an access denied error.
If I manually create the redis.conf file, everything else works.