Problem
I’m using predis as a client and dealing with redis on my local machine, therefore I don’t need to set up a password to connect to the server with my php client. However, because I’m transferring my app to a live server, I’ll need to put up a password to access my redis server.
I have a few inquiries:
Is this the best approach to add the password?
> $my_server = array('host' => '127.0.0.1','port' =>
> 6379,'database' => 1,'password'=>password);
to halt redis server, however it doesn’t work on my live server because there’s no redis-server process in my /etc/init.d file.
Asked by Don Gorgon
Solution #1
To set the password, open the redis.conf file and look for this line.
# requirepass foobared
Then remove the comment and replace foobared with your password. Make sure your password is at least 32 characters long; as the config file says, it’s easy for an outside user to guess up to 150k passwords every second.
The syntax you’ve demonstrated for using predis to authenticate with your new password is correct. Simply include password as a connection parameter.
To shut down redis, look in your config file for the pidfile setting; it’ll most likely be there.
pidfile /var/run/redis.pid
Run the following command from the command prompt:
cat /var/run/redis.pid
That will give you the process id of the currently operating server, and you can then stop it with that pid:
kill 3832
Update
I also wanted to mention that you could use the /etc/init.d/redis-server stop command on your live server. All of the files in /etc/init.d/ are shell scripts, so copy the redis-server script from your local server to the live server in the same directory, and then look at what it does with vi or whatever you want; you may need to change some paths and things, but it should be quite straightforward.
Answered by profitphp
Solution #2
On the client, you can also use the following command.
config set requirepass p@ss$12E45 p@ss$12E45 config set requirepass p@ss$12E45 config set requirepass
The command above will set the redis server password to p@ss$12E45.
Answered by Suhas Gaikwad
Solution #3
Example:
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok
Answered by Flavio Troia
Solution #4
sudo nano /etc/redis/redis.conf
Find and remove the # requirepass foobared comment, then restart the server.
Your password has now been foobared.
Answered by Saurabh Chandra Patel
Solution #5
using redis-cli:
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
This will set a temporary password (until redis or server restart)
test password:
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
Answered by Hlod
Post is based on https://stackoverflow.com/questions/7537905/how-to-set-password-for-redis