70

I am working with Laravel but i have installed all on my own (php, mysql, composer, nginx) and now i need to install Redis and configure it so i could use it for queue driver in Laravel.

How to install it, because it cannot be installed through apt-get install redis

i get this error:

ubuntu@ubuntu:~$ sudo apt-get install redis
[sudo] password for ubuntu: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package redis
muru
  • 207,228
lewis4u
  • 5,046

5 Answers5

118

I think always is better (and simpler) to install from main repos as first option if you don't have any special requirements.

The package you are searching for is named redis-server. You can check its package info with apt show redis-server.

Also you can search all packages mentioning redis with apt search redis, or even do some simple filtering using grep, use apt search redis | grep php to search for php-redis or related package(s) for example.

So, you can simply run:

sudo apt install redis-server

on your terminal, to install a fully working redis(server) environment.

If you have any special requirements, you always can build from source and install as @George posted in his answer.

Hope it helps.

Dan
  • 14,180
dgonzalez
  • 7,310
64

To install redis follow these steps:

  1. Set up a non-root user with sudo privileges

  2. Install build and test dependencies:

    sudo apt update
    sudo apt full-upgrade
    sudo apt install build-essential tcl
    
  3. Set up redis:

    1. Download latest copy via this link or with this

      curl -O http://download.redis.io/redis-stable.tar.gz
      
    2. Create a temporary folder for it in say your /home/username/redis-stable directory
    3. Move into created folder and extract it

      tar xzvf redis-stable.tar.gz
      
    4. Change into the folder cd redis-stable and build it with

      make
      make test
      sudo make install
      
  4. Configure redis:

    1. Create configuration directory:

      sudo mkdir /etc/redis
      
    2. Move sample redis configuration file:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
    3. Edit the file:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
    4. Make two changes there:
      supervised no to supervised systemd
      dir to dir /var/lib/redis # for persistent data dump
  5. Set up the systemd unit file:

    sudo nano /etc/systemd/system/redis.service
    

    Add the text:

    [Unit]
    Description=Redis In-Memory Data Store
    After=network.target
    
    [Service]
    User=redis
    Group=redis
    ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
    ExecStop=/usr/local/bin/redis-cli shutdown
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  6. Set up redis user, groups and directories:

    create redis user and group with same ID but no home directory:

    sudo adduser --system --group --no-create-home redis   
    sudo mkdir /var/lib/redis   # create directory
    sudo chown redis:redis /var/lib/redis   # make redis own /var/lib/redis
    sudo chmod 770 /var/lib/redis   # adjust permission
    
  7. Test redis:

    1. Start redis service:

      sudo systemctl start redis
      
    2. Check status:

      systemctl status redis
      

      Result of status if started successfully:

      Output
      ● redis.service - Redis Server
       Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2016-05-11 14:38:08 EDT; 1min 43s ago
       Process: 3115 ExecStop=/usr/local/bin/redis-cli shutdown (code=exited, status=0/SUCCESS)
       Main PID: 3124 (redis-server)
       Tasks: 3 (limit: 512)
       Memory: 864.0K
       CPU: 179ms
       CGroup: /system.slice/redis.service
                └─3124 /usr/local/bin/redis-server 127.0.0.1:6379
      
    3. Test instance:

      1. Connect:

        redis-cli
        
      2. Test connectivity at prompt:

        127.0.0.1:6379> ping   # result PONG
        
      3. Check ability to set keys:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
      4. Get the key just set:

        127.0.0.1:6379 get test  # result "It's working!"
        
      5. Exit redis:

        127.0.0.1:6379 exit
        
      6. Restart redis and then re-run steps 1, 4, and 5 to connect with the client again and confirm that your test value is still available, hence it's working as expected:

        sudo systemctl restart redis
        
  8. Enable redis to start at boot:

    sudo systemctl enable redis
    

Source:

Digital Ocean - how to install and configure redis on Ubuntu 16.04

Direct download links

George Udosen
  • 37,534
35

First add PPA repository to your OS then update your repository list and install it.

sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
sudo apt-get install redis
Kibo
  • 751
4

Following @George's answer, after running make (step 3, part 4), cd into redis-stable/utils and run ./install_server.sh.

This interactive script will help you define a port and other file locations, and after which you can immediately run redis-cli.

That same directory also has a handy script for starting and stopping the server.

JohnB
  • 41
  • 3
0

1) First of all go to redis.io site

2) and you see there check the download page

3) Open the terminal

4) apt-cache policy redis-server

you able to see the version table for your operating system version display

5) sudo apt-get install redis-server

Don't getting this way install. Because redis server installing, but redis server install the your Ubuntu operating system version.

6) Easiest way Go to redis.io site and click on the download link Further you will go scroll on the more down you will see the installation

almost same way mac

7) First of all you are enter the update command. All the going to repo was update.

 sudo apt-get update

8) sudo apt-get install build-essential tcl

9) mkdir redis

10) wget http://download.redis.io/releases/redis-4.0.0.tar.gz

11) Now give the tar command

   unzip tar file.
   tar xzf redis-4.0.0.tar.gz

12) cd redis-4.0.0

13) make - making on redis binary

if once finish you can see the "make test" command

14) src/redis-server - start the redis server

15) src/redis-cli - start the redis client

set name vadivel
    Ok
    get name
    "vadivel"

16) sudo make install - whenever give the redis command on enter the any dir