Redis یک محل ذخیرهسازی اطلاعات کلیدی متن باز و درون حافظه است که در حافظه پنهان عملکرد بهتری دارد. در این مقاله آموزشی نحوه نصب Redis در Rocky Linux را مورد بررسی قرار خواهیم داد. پس، تا آخر این آموزش با ما همراه باشید.
فهرست مطالب
Redis چیست؟
Redis یک پایگاه داده non-relational است که به دلیل انعطاف پذیری، عملکرد، مقیاس پذیری و پشتیبانی از زبان های گسترده شناخته شده می باشد. همچنین برای استفاده توسط مشتریان قابل اعتماد در یک محیط قابل اعتماد طراحی شده است و در واقع ویژگی امنیتی قوی ندارد. با این حال، ویژگی های امنیتی که دارا می باشد عبارتند از: احراز هویت رمز عبور و امکان تغییر نام یا غیرفعال کردن برخی از دستورات.
Redis دادهها را بهطور پیشفرض ذخیره کرده و پایداری دورهای disc را انجام میدهد. از آنجا که داده ها را روی دیسک نگه می دارد، می تواند به عنوان یک پایگاه داده کلاسیک در بسیاری از موارد استفاده و همچنین به عنوان یک حافظه پنهان عمل کند. وقتی این این محل ذخیره پر شد، خطا را به کلاینت باز میگرداند. همچنین میتوان آن را بهعنوان یک کش پیکربندی کرد تا دادههای قدیمیتر و کم اهمیت را با رسیدن دادههای جدید حذف کند. در هر دو مورد، اندازه حافظه موجود محدودیت اصلی در استفاده از آن است.
مراحل نصب Redis در Rocky Linux
در حال حاضر تا حدودی با Redis آشنا شدید. اکنون در ادامه به مراحل نصب Redis در Rocky Linux می پردازیم.
پیش نیازهای نصب Redis
- داشتن یک سرور برای اجرای Rocky Linux
- دسترسی به صورت کاربر non-root با امتیازات مدیریتی
- داشتن یک فایروال پیکربندی شده
نصب و راه اندازی Redis در Rocky Linux
Redis در مخازن AppStream موجود است و شما می توانید از مدیر بسته DNF برای نصب آن استفاده کنید. در ابتدا دستور DNF زیر را برای نصب Redis اجرا کنید:
sudo dnf install redis
پس از نصب، باید تغییری جزئی در فایل پیکربندی ایجاد کنید تا نحوه اجرای Redis را تغییر دهید. پس، برای دسترسی به فایل پیکربندی Redis دستور زیر را اجرا کنید:
sudo nano /etc/redis.conf
دستورات مورد نظر را بررسی کنید. این دستورات به شما امکان می دهد از سیستم init برای اجرا و مدیریت موثر Redis استفاده کنید. توجه داشته باشید که بهطور پیشفرض، بر روی no تنظیم شده است. از آنجایی که Rocky Linux بر روی سیستم systemd init اجرا می شود، مقدار را مطابق با systemd تنظیم کنید.
تغییرات ایجاد شده را ذخیره کرده و از ویرایشگر متن خارج شوید. به طور پیش فرض، Redis به طور خودکار اجرا نمی شود، آن را به کمک دستور زیر اجرا کنید:
sudo systemctl start redis
در حال حاضر، هر بار که سیستم روشن می شود یا مجددا راه اندازی می شود، می توانید سرویس را با استفاده از دستور زیر فعال کنید:
sudo systemctl enable redis
اکنون، در این مرحله برای تأیید اینکه Redis در حال اجرا می باشد، دستور زیر را اجرا کنید:
sudo systemctl status redis
سپس، برای بررسی اینکه Redis به درستی نصب شده است، یک پیام Ping ارسال کنید که در آن “PONG” را به عنوان پاسخ دریافت خواهید کرد.
ایمن کردن Redis با استفاده از رمز عبور
امنیت برای هر سیستم پایگاه داده اولویت بالایی دارد و Redis نیز از این قاعده مستثنی نیست. در این مرحله، احراز هویت را برای ایمن کردن Redis و جلوگیری از فعالیت های غیرمجاز فعال کرده و به کمک دستور زیر یک بار دیگر به فایل پیکربندی دسترسی پیدا کنید:
sudo nano /etc/redis.conf
اکنون دستورالعمل Requirepass را پیدا کنید. این دستورالعملی است که باید آن را پیکربندی کرد تا مشتریان قبل از دسترسی به پایگاه داده احراز هویت شوند. دستور را Uncomment کرده و رمز عبور خود را تنظیم کنید:
requirepass strong_password
سپس برای اعمال تغییرات، پایگاه داده Redis را به کمک دستور زیر مجددا راه اندازی کنید:
sudo systemctl restart redis
اکنون برای بررسی اینکه مطمئن شوید احراز هویت فعال شده است، با استفاده از دستور مورد نظر به Redis client می توانید دسترسی پیدا کنید:
redis-cli
در حال حاضر به کمک دستور زیر باید کلید را روی یک مقدار تنظیم کنید:
set keystudent user
دستور زیر خطای ایجاد شده را نشان می دهد و به این معنی می باشد که احراز هویت لازم است:
(error) NOAUTH Authentication required.
در این مرحله، برای احراز هویت، کلمه کلیدی auth و پس از آن رمز عبور را فراخوانی کنید. Redis رمز عبور را تأیید می کند و به شما اجازه می دهد تا ادامه دهید.
پس از احراز هویت، با استفاده از دستور set، جفت کلید مقدار خود را مشخص کرده، سپس برای بازیابی مقدار اختصاص داده شده به کلید دستور زیر را اجرا کنید:
get keystudent
در این مرحله برای خروج از Redis، کافی است quit را تایپ کرده و ENTER را فشار دهید:
quit
تنظیم مالکیت و مجوزهای دایرکتوری داده
یکی دیگر از موارد مهمی که باید در نظر بگیرید، مالکیت و مجوزهایی است که باید برای اطمینان از قوی بودن نصب Redis در نظر داشته باشید، این موارد شامل اطمینان از این است که تنها کاربری که نیاز دسترسی به Redis را دارد، اجازه خواندن داده های آن را داشته و در نتیجه آن کاربر، کاربر redis می باشد. همچنین می توانید دستور زیر را برای تأیید اینکه دایرکتوری داده Redis دارای مالکیت و مجوزهای دایرکتوری مناسب است اجرا کنید:
ls -l /var/lib | grep redis
حال، از خروجی می بینید که دایرکتوری داده Redis متعلق به کاربر Redis است و اجازه دسترسی به گروه Redis داده شده است. این موارد تنظیمات مالکیت و مجوزهای پوشه Redis می باشد.
اگر دایرکتوری داده Redis دارای مجوزهای ناامن باشد و برای کاربران جهانی قابل خواندن باشد، حتما اطمینان حاصل کنید که فقط کاربر و گروه Redis به پوشه و محتویات آن دسترسی دارند. برای انجام این کار، دستور مورد نظر زیر را اجرا کنید:
sudo chmod 750 /var/lib/redis
در این مرحله، با استفاده از دستور مطمئن شوید که فایل پیکربندی Redis متعلق به کاربر redis با گروه ثانویه root باشد:
ls -l /etc/redis.conf
رمز عبوری که با استفاده از دستورالعمل Requirepass در مرحله 2 رمزگذاری کردید، اجازه نمی دهد که هر کاربر دیگری به غیر از کاربران Redis و Root فایل را بخواند و به رمز عبور دسترسی داشته باشد.
اکنون برای افزایش امنیت، به کمک دستور زیر مطمئن شوید که فایل پیکربندی متعلق به کاربر و گروه Redis است:
sudo chown redis:redis /etc/redis.conf
همچنین، با استفاده از دستور زیر مجوزهای فایل پیکربندی را طوری تنظیم کنید که فقط مالک Redis بتواند روی آن بخواند و بنویسد:
sudo chmod 600 /etc/redis.conf
حال برای اعمال تغییراتی که به تازگی ایجاد کرده اید، سرور Redis را با استفاده از دستور مجددا راه اندازی کنید:
sudo systemctl restart redis
پیکربندی 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
سپس، در این مرحله سرور Redis را به کمک دستور زیر مجددا راه اندازی کنید تا تغییرات اعمال شود:
sudo systemctl restart redis
ادامه مراحل آموزش باقیمانده، پیکربندی firewall برای اجازه دسترسی به سرور Redis می باشد.
پیکربندی فایروال برای redis
در این مرحله، اگر فایروال فعال و در حال اجرا می باشد، به کمک دستورات زیر آن را طوری تنظیم کنید که پورت 6379 که Redis به آن گوش می دهد (Listen)،را مجاز کند:
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
اکنون، برای بررسی اینکه آیا می توانید از راه دور به Redis دسترسی داشته باشید، مانند دستور زیر از گزینه h- و سپس آدرس IP سرور Redis استفاده کنید:
redis-cli -h server_IP
نتیجه گیری
در این مقاله آموزشی نحوه نصب Redis در Rocky Linux را مورد بررسی قرار دادیم. با انجام تمامی مطالب گفته شده در بالا به راحتی می توانید مراحل نصب را پیش ببرید و همچنین آن را پیکربندی کنید. ممنون که تا آخر این مقاله ما را همراهی کردید. نظرات خود را از طریق فرم زیر با ما به اشتراک بگذارید.