نصب Redis بر روی Centos 6

#بایگانی_دانش:‌ این سری نوشته‌ها برای آرشیو تجربیات شخصی از کار با تکنولوژی‌های مختلف و سهولت برای استفاده مجدد از اون‌ها تهیه می‌شه و فقط از اون‌جایی که ممکنه برخی از این تجربیات به درد دیگران هم بخوره به‌صورت آنلاین ذخیره شده.

اول پیش نیاز های Redis رو نصب می کنید

#update and upgrade the Linux
$ yum -y update
$ yum -y upgrade
#Install gcc & tcl, needed for compilation
$ yum install -y gcc*
$ yum install -y tcl

بعد از اون نسخه stable منتشر شده از Redis رو دانلود و نصب می کنید

$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xzf redis-stable.tar.gz
$ cd redis-stable
$ make

اگه دستور make با شکست روبرو شد و پیغام شکست مربوط به jemalloc بود مراحل زیر رو اضافه می کنید :

$ cd deps
$ make hiredis jemalloc linenoise lua geohash-int
$ cd ../

در نهایت :

$ make test
$ make install

بعد از انجام این مراحل Redis با موفقیت نصب شده.

حالا برای اینکه Redis رو به عنوان یه سرویس به Centos معرفی کنید از دستورات زیر استفاده کنید.

$ cd utils
$ chmod +x install_server.sh
$ ./install_server.sh
$ sudo chkconfig --level 2345 redis_6379 on

حالا می شه با استفاده از سرویس Redis رو مدیریت کرد

$ service redis_6379 status
$ service redis_6379 start

برای بررسی اینکه همه چی به خوبی داره کار می کنه می تونید با استفاده از redis-cli از سرور ping بگیرید

$ redis-cli
$ 127.0.0.1:6379> ping
PONG

امنیت در Redis

به طور پیش فرض Redis بدون هیچ اعتبارسنجی در اختیار همه قرار می گیره و در واقع هیچ لایه ی امنیتی در برابر حملات وجود نداره بنابراین باید یه فکری برای این مشکل کرد

  • تنظیم firewall برای port هایی که Redis با اون ها کار می کنه. این کار می تونه به وسیله CSF یا هر تنظیمات دیگه ای روی firewall انجام بشه.
  • به صورت پیش فرض استفاده از Redis تنها به سرور محلی bind شده و فقط از طریق localhost قابل دسترسیه اما اگه نیاز به replication دارید می تونید از طریق دستور زیر اجاز بدید ip های دیگه ای هم به این سرور bind بشن و از Redis استفاده کنند
$ sudo nano /etc/redis/6379.conf

در تنظیمات bind 127.0.0.1 رو پیدا کنید و اگه comment شده از حالت کامنت خارجش کنید و اگه نیست اضافه ش کنید

  • تنظیم گذرواژه برای Redis یکی از مهمترین کارهاست که به سادگی هم قابل انجامه
$ sudo nano /etc/redis/6379.conf

در تنظیمات requirepass foobared رو پیدا کنید از حالت کامنت خارجش کنید و به جای foobared گذرواژه مناسب رو قرار بدید.

بعد به وسیله سرویس Redis رو restart کنید تا تنظیمات اعمال بشه.

$ service redis_6379 restart
$ redis-cli
$ 127.0.0.1:6379> ping
(error) NOAUTH Authentication required.

بعد از اعمال تنظیمات حالا دیگه Redis به شما ping نمی ده و ازتون اعتبارسنجی می خواد.

127.0.0.1:6379> AUTH myVeryVerySecurePassword
127.0.0.1:6379> PING
PONG

برای بالا بردن بیشتر امنیت خوندن این مقاله رو توصیه می کنم.