Redis یک پایگاه داده Non-Relational و محل ذخیرهسازی اطلاعات کلیدی متن باز و درون حافظه است که در حافظه پنهان عملکرد بهتری دارد. این پایگاه از انعطاف پذیری، عملکرد، مقیاس پذیری بالا برخوردار بوده و می تواند از زبان های گسترده پشتیبانی کند. Redis یک نوع ساختمان داده است که در داخل RAM قرار گرفته و در صورت نیاز اطلاعات را به صورت موقت در آن ذخیره سازی می کند. از ویژگی های امنیتی ردیس می توان به احراز هویت رمز عبور، امکان تغییر نام یا غیرفعال کردن برخی از دستورات، ذخیره به طور پیش فرض، پایداری دورهای disc اشاره کرد. در این مقاله آموزشی نحوه نصب Redis در Rocky Linux را مورد بررسی قرار خواهیم داد اگر شما هم تا کنون موفق به نصب ردیس نشده اید، این آخرین مقاله ای خواهد بود که برای نصب ردیس می خوانید! پس تا آخر این آموزش با ما همراه باشید…
فهرست مطالب
ویژگی های Redis
- سازگاری با انواع زبان های برنامه نویسی
- ذخیره به صورت In Memory Database
- Key- Value
- ارائه سیستم تکثیر
- کاهش هزینه ها
پیش نیازهای نصب Redis
در حال حاضر که تا حدودی با Redis آشنا شدید، قبل از شروع مراحل نصب در Rocky Linux، لازم است تا پیش نیاز های نصب را داشته باشید، در ادامه این پیش نیاز ها ذکر شده است:
- داشتن یک سرور برای اجرای Rocky Linux
- کاربر Non-Root با امتیازات Sudo
- فایروال پیکربندی شده
نصب و راه اندازی Redis در Rocky Linux
ردیس در مخازن AppStream موجود است و شما می توانید از مدیر بسته DNF برای نصب آن استفاده کنید، در ابتدا برای نصب و راه اندازی دستور DNF زیر را برای شروع نصب اجرا کنید:
sudo dnf install redis
پس از نصب و اجرا دستور بالا، باید تغییر جزئی در فایل پیکربندی ایجاد کنید تا نحوه اجرا ردیس را تغییر دهید، پس برای دسترسی به فایل پیکربندی ردیس دستور زیر را اجرا کنید:
sudo nano /etc/redis.conf
دستورات مورد نظر را بررسی کنید، این دستورات به شما امکان می دهد از سیستم init برای اجرا و مدیریت موثر Redis استفاده کنید، توجه داشته باشید که بهطور پیشفرض بر روی No تنظیم شده است.
از آن جایی که Rocky Linux بر روی سیستم Systemd init اجرا می شود، لازم است تا مقدار را مطابق با Systemd تنظیم کنید. تغییرات ایجاد شده توسط دستورات بالا را ذخیره کرده و از ویرایشگر متن خارج شوید، لازم به اشاره است که با توجه به پیش فرضی که در Redis در نظر گرفته شده است، به طور خودکار اجرا نمی شود و باید آن را به کمک دستور زیر اجرا کنید:
sudo systemctl start redis
هر بار که سیستم روشن می شود یا مجددا راه اندازی می شود، می توانید سرویس را با استفاده از دستور زیر فعال کنید:
sudo systemctl enable redis
اکنون در این مرحله برای تأیید اینکه ردیس در حال اجرا می باشد یا نه؟ دستور زیر را اجرا کنید:
sudo systemctl status redis
سپس برای بررسی این که آیا ردیس به درستی نصب شده است؟ می توانید یک پیام Ping ارسال کنید که در آن “PONG” را به عنوان پاسخ درست و نصب بدون نقص دریافت خواهید کرد.
ایمن کردن Redis با استفاده از رمز عبور
امنیت برای هر سیستم پایگاه داده اولویت بالایی دارد و ردیس نیز از این قاعده مستثنی نیست! در این مرحله احراز هویت را برای ایمن کردن ردیس، جلوگیری از فعالیت های غیرمجاز فعال شده، به کمک دستور زیر یک بار دیگر به فایل پیکربندی دسترسی پیدا کنید:
sudo nano /etc/redis.conf
در ادامه مرحله دستورالعمل Requirepass را پیدا کنید، این دستورالعملی است که باید آن را پیکربندی کرد تا مشتریان قبل از دسترسی به پایگاه داده نیاز به احراز هویت پیدا کنند.
دستور را Uncomment کرده و رمز عبور دلخواه خود را تنظیم کنید:
requirepass strong_password
سپس برای اعمال تغییرات، پایگاه داده ردیس را به کمک دستور زیر مجدداً راه اندازی کنید:
sudo systemctl restart redis
اکنون برای بررسی اینکه مطمئن شوید احراز هویت فعال شده است یا نه؟ با استفاده از دستور مورد نظر به Redis client می توانید دسترسی پیدا کنید:
redis-cli
در حال حاضر به کمک دستور زیر باید کلید را روی یک مقدار مشخص تنظیم کنید:
set keystudent user
دستور زیر خطای ایجاد شده را به شما نشان می دهد و به این معنی می باشد که حتماً احراز هویت لازم است:
(error) NOAUTH Authentication required.
در این مرحله برای احراز هویت، کلمه کلیدی auth و پس از آن رمز عبور را فراخوانی کنید، ردیس رمز عبور را تأیید می کند و به شما اجازه می دهد تا مراحل بعدی را ادامه دهید.
پس از احراز هویت، با استفاده از دستور Set، جفت کلید مقدار خود را مشخص کرده سپس برای بازیابی مقدار اختصاص داده شده به کلید دستور زیر را اجرا کنید:
get keystudent
در این مرحله برای خروج از VNDS، کافی است quit را تایپ کرده و گزینه ENTER را فشار دهید:
quit
تنظیم مالکیت و مجوزهای دایرکتوری داده
یکی دیگر از موارد مهمی که باید در نظر بگیرید، مالکیت و مجوزهایی است که باید برای اطمینان از قوی و ایمن بودن نصب ردیس در نظر داشته باشید.
این موارد شامل اطمینان از این است که تنها کاربری که نیاز دسترسی به ردیس را دارد، اجازه خواندن داده های آن را داشته و در نتیجه او یک کاربر ردیس می باشد.
همچنین می توانید دستور زیر را برای تأیید اینکه دایرکتوری داده ردیس، دارای مالکیت و مجوزهای دایرکتوری مناسب است اجرا کنید:
ls -l /var/lib | grep redis
حال از خروجی که نمایش دادنه می شود می بینید که دایرکتوری داده ردیس متعلق به کاربر است و اجازه دسترسی به گروه ردیس داده شده است، این موارد تنظیمات مالکیت و مجوزهای پوشه Redis می باشد.
اگر دایرکتوری داده ردیس دارای مجوزهای ناامن باشد و برای کاربران جهانی قابل خواندن باشد، حتماً اطمینان حاصل کنید که فقط کاربر و گروه ردیس به پوشه و محتویات آن دسترسی دارند.
برای انجام این کار، دستور مورد نظر شما که باید اجرا کنید، خط زیر خواهد بود بنابراین باید دستور زیر را اجرا کنید:
sudo chmod 750 /var/lib/redis
در این مرحله با استفاده از دستور مطمئن شوید که فایل پیکربندی ردیس متعلق به کاربر ردیس همراه با گروه ثانویه Root می باشد:
ls -l /etc/redis.conf
رمز عبوری که با استفاده از دستورالعمل Requirepass در مرحله 2 رمزگذاری کردید، اجازه نمی دهد که هر کاربر دیگری به غیر از کاربران ردیس و Root فایل را بخواند و به رمز عبور دسترسی داشته باشد.
اکنون برای افزایش امنیت، به کمک دستور زیر مطمئن شوید که فایل پیکربندی متعلق به کاربر و گروه ردیس است:
sudo chown redis:redis /etc/redis.conf
همچنین با استفاده از دستور زیر، مجوزهای فایل پیکربندی را طوری تنظیم کنید که فقط مالک ردیس بتواند روی آن بخواند و بنویسد:
sudo chmod 600 /etc/redis.conf
حال برای اعمال تغییراتی که به تازگی ایجاد کرده اید، سرور ردیس را با استفاده از دستور مجدداً راه اندازی کنید:
sudo systemctl restart redis
پیکربندی Redis برای دسترسی از راه دور
گاهی اوقات ممکن است لازم باشد بخواهید از سیستم دیگری و از راه دور به ردیس دسترسی داشته باشید، برای انجام این کار به کمک دستور زیر به فایل پیکربندی بروید:
sudo nano /etc/redis.conf
اکنون دستورالعمل bind را پیدا کنید، به طور پیش فرض دستور مورد نظر به حالت زیر تنظیم شده است تا به Localhost گوش دهد (Listen):
bind 127.0.0.1
دستور زیر را کامنت کرده و IP خصوصی سرور از راه دور را مشخص کنید:
bind private_ip
در حال حاضر اگر از طریق اینترنت عمومی به آن دسترسی دارید، روی 0.0.0.0 تنظیم کنید تا به آدرس های IP عمومی متصل شود:
bind 0.0.0.0
در مرحله بعد به کمک دستور زیر حالت محافظت شده Yes را به حالت محافظت شده No تغییر دهید:
protected-mode no
سپس در این مرحله سرور ردیس را به کمک دستور زیر مجدداً راه اندازی کنید تا تغییرات اعمال شود:
sudo systemctl restart redis
ادامه مراحل آموزش باقیمانده، پیکربندی Firewall برای اجازه دسترسی به سرور ردیس می باشد.
پیکربندی فایروال برای redis
در این مرحله اگر فایروال فعال و در حال اجرا باشد، به کمک دستورات زیر آن را طوری تنظیم کنید که پورت 6379 که ردیس به آن گوش می دهد (Listen) را مجاز کند:
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
اکنون برای بررسی اینکه آیا می توانید از راه دور به ردیس دسترسی داشته باشید، مانند دستور زیر از گزینه h- و سپس آدرس IP سرور ردیس استفاده کنید:
redis-cli -h server_IP
آذرسیس ارائه دهنده سرور های اختصاصی و سرور های مجازی از 60 لوکیشن در دنیاست که سعی در ارائه خدمات با استاندارد های جهانی در عین مقرون به صرفه بودن دارد. شما می توانید برای کسب و کار هایی که نیاز به اجرا Redis در آن دارید، یک بستر ایمن و قدرتمند با سرور های اختصاصی ایجاد کرده و از آپتایم بی نهایت، زیر ساخت های قدرتمند، هارد های SSD و NVME لذت ببرید.
سخن آخر
در این مقاله آموزشی نحوه نصب Redis در Rocky Linux را مورد بررسی قرار دادیم، شما می توانید با انجام تمامی مطالب گفته شده در بالا به راحتی نصب را پیش برده و آن را پیکربندی کنید. از اینکه تا پایان این عنوان همراه ما بودید بسیار متشکریم در صورت بروز هرگونه ایراد و یا سوال احتمالی می توانید از طریق ارسال دیدگاه در قسمت پایانی پست با ما همراه باشید. از خواندن نظرات و پیشنهادات شما بسیار خوشحال خواهیم شد، برای حمایت و کسب اطلاعات بیشتر در مورد خدمات آذرسیس می توانید فضا های مجازی ما را دنبال کنید…