Actualizado el domingo, 19 noviembre, 2017
Instalar Redis y phpRedis en Debian, Ubuntu y todos sus derivados.
Entre otras muchas funciones, redis lo podemos usar como almacenamiento caché de datos en ram. Es una forma de tener acceso a los datos muy rápida. Es similar a memcached, pero a diferencia de memcached, Redis nos ofrece amplias formulas de configuración de tu almacenamiento de datos (en este aspecto memcached es muy limitado).
Redis permite almacenar no solo las cadenas, también listas, conjuntos, conjuntos ordenados y hashes. En la pagina oficial de redis, tienes una amplia documentación.
Instalar Redis en Debian, Ubuntu y derivados
Primero instalaremos los paquetes para poder compilar.
sudo apt-get install make gcc g++
Descargamos redis y descomprimimos.
mkdir -p /tmp/redis cd /tmp/redis wget http://download.redis.io/releases/redis-stable.tar.gz tar xzf redis-stable.tar.gz cd redis-stable
Compilamos e instalamos.
make
sudo make install clean
Agregamos el usuario redis.
sudo useradd -s /bin/false -d /var/lib/redis -M redis
Creamos el directorio de archivos pid redis y damos permisos al usuario.
sudo mkdir /var/run/redis/ -p && sudo chown redis:redis /var/run/redis
Creamos el directorio de configuración y damos permisos al usuario.
sudo mkdir /etc/redis && sudo chown redis:redis /etc/redis -Rf
Lo mismo con el directorio de logs.
sudo mkdir /var/log/redis/ -p && sudo chown redis:redis /var/log/redis/ -Rf
Creamos el archivo de configuración y lo movemos a la carpeta correcta.
sudo mkdir /etc/redis sudo cp redis.conf /etc/redis/redis.conf sudo chown redis:redis /etc/redis/redis.conf
Ya lo tenemos instalado y preparado para configurar a nuestro gusto. En el ejemplo realizaremos una configuración básica, después podrás ir cambiando datos dependiendo de tus requerimientos y servidor.
sudo nano /etc/redis/redis.conf
Ejemplo de configuración básica:
#start as a daemon in background daemonize yes #where to put pid file pidfile /var/run/redis/redis.pid #loglevel and path to log file loglevel warning logfile /var/log/redis/redis.log #set port to listen for incoming connections, by default 6379 port 6379 #set IP on which daemon will be listening for incoming connections bind 127.0.0.1 #where to dump database dir /var/lib/redis
Guarda y cierra.
Ahora crearemos un UPstart (osea, que inicien los servicios con el sistema).
sudo touch /etc/init/redis.conf
Copia y pega al final del archivo lo siguiente:
#!upstart description "redis server" start on runlevel [2345] stop on runlevel [!2345] respawn respawn limit 10 5 exec sudo -u redis /usr/local/bin/redis-server /etc/redis/redis.conf
Guarda y cierra.
Arrancamos redis.
sudo service redis start
Hacemos un ping y si todo es correcto redis devolverá un pong.
redis-cli ping
Agrega redis al inicio.
sudo update-rc.d redis defaults
Instalar phpRedis
En este apartado todo dependerá de tu versión php.
php -v
Vemos la instalación en php 5.6 y en php 7.
Instalar phpRedis en php 5.6
apt-get install php5-dev
Descargamos phpRedis.
cd /tmp wget https://github.com/phpredis/phpredis/archive/master.zip -O phpredis.zip
Descomprimimos, compilamos e instalamos.
unzip -o /tmp/phpredis.zip && mv /tmp/phpredis-* /tmp/phpredis && cd /tmp/phpredis && phpize && ./configure && make && sudo make install
Agregamos la extensión compilada a nuestro php 5.
sudo touch /etc/php5/mods-available/redis.ini && echo extension=redis.so > /etc/php5/mods-available/redis.ini sudo ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d/ sudo ln -s /etc/php5/mods-available/redis.ini /etc/php5/fpm/conf.d/ sudo ln -s /etc/php5/mods-available/redis.ini /etc/php5/cli/conf.d/
Instalar phpRedis en php7
En el ejemplo de instalación tenemos php 7.0, si estas usando otro php7 superior tan solo tienes que cambiar el «0», por el numero de tu versión (7.1, 7.2).
apt-get install php7.0-dev
Descargamos phpRedis.
cd /tmp wget -O phpredis.zip
Descomprimimos, compilamos e instalamos.
unzip -o /tmp/phpredis.zip && mv /tmp/phpredis-* /tmp/phpredis && cd /tmp/phpredis && phpize && ./configure && make && sudo make install
Agregamos la extensión compilada a nuestro php 7.
sudo touch /etc/php/mods-available/redis.ini && echo extension=redis.so > /etc/php/mods-available/redis.ini sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/apache2/conf.d/redis.ini sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/fpm/conf.d/redis.ini sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/cli/conf.d/redis.ini
Reiniciamos servicios
Reinicia el servicio dependiendo de tu caso.
sudo service apache2 restart sudo service php5-fpm restart sudo service php7.0-fpm restart
Puedes verificar su funcionamiento, con:
php -r "if (new Redis() == true){ echo \"OK \r\n\"; }"
Si te sirvió el articulo «instalar redis y phpRedis«, vota y comparte.