Rocky Linux 9 হলো RHEL-সামঞ্জস্যপূর্ণ বিনামূল্যের বিকল্প: একই প্যাকেজ, একই dnf, একই firewalld ও SELinux। আগে Debian বা Ubuntu সেট আপ করে থাকলে ধাপের ক্রম একই; শুধু টুল আলাদা। এখানে নতুন Rocky 9 সার্ভারে প্রথম দশ মিনিট।
নিচের প্রতিটি কমান্ড প্রকাশের আগে আমরা আমাদের Rocky Linux 9 ইমেজে চালিয়েছি। পরিষ্কার সার্ভারে পুরো ক্রমটি কয়েক মিনিট নেয়।
1. সিস্টেম আপডেট করুন
ড্যাশবোর্ডের পাসওয়ার্ড দিয়ে root হিসেবে লগইন করে আপডেট করুন:
dnf -y upgrade
আমাদের ইমেজে পরীক্ষার সময় কয়েক সেকেন্ড লেগেছিল, কারণ ইমেজটি আগে থেকেই হালনাগাদ ছিল।
2. sudo ব্যবহারকারী তৈরি করে SSH কী যোগ করুন
Rocky-তে অ্যাডমিন গ্রুপের নাম wheel, sudo নয়:
useradd -m -G wheel deploy
passwd deploy # sudo will ask for this password
আপনার পাবলিক কী সার্ভারে রাখুন (কীভাবে কী বানাবেন)। যদি সেটি /root/key.pub-এ কপি করে থাকেন:
install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh
restorecon সেই SELinux লেবেল বসায় যা sshd আশা করে। ভুল লেবেল থাকলে কী দিয়ে লগইন কোনো স্পষ্ট ত্রুটি ছাড়াই ব্যর্থ হয়।
একটি দ্বিতীয় টার্মিনাল খুলে দেখুন ssh deploy@YOUR.SERVER.IP কাজ করে এবং sudo -v পাসওয়ার্ড গ্রহণ করে। ততক্ষণ root সেশন খোলা রাখুন।
3. root ও পাসওয়ার্ড লগইন বন্ধ করুন
এখানে Rocky বইয়ের মতো sshd_config বদলানো থেকে আলাদা। সেটিংগুলো /etc/ssh/sshd_config.d/-এর আলাদা ফাইলে থাকে, আর sshd প্রথম পাওয়া মানটা নেয়। আমাদের ইমেজে প্রথম ফাইল 00-eqvps.conf, যা প্রথম দিন ঢোকার জন্য root ও পাসওয়ার্ড অনুমতি দেয়। সেখানেই বদলান:
sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
-e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
/etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '
শেষ কমান্ডটি দেখায় sshd আসলে কী প্রয়োগ করবে। আপনার দেখা উচিত:
permitrootlogin no
passwordauthentication no
এরপর ssh root@… কী থাকলেও প্রত্যাখ্যাত হয়, আর deploy শুধু কী দিয়ে লগইন করে।
4. ফায়ারওয়াল: firewalld
ক্লাউড ইমেজে firewalld নেই। ইনস্টল করুন, চালু করুন এবং শুধু দরকারিগুলো খোলা রাখুন:
dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services
ডিফল্ট জোন cockpit (পোর্ট 9090) আর dhcpv6-client খোলে। Cockpit ইনস্টল করা নেই, তবু তার পোর্ট খোলা রাখার কারণ নেই। কোনো অ্যাপ যোগ করলে একইভাবে তার পোর্ট খুলুন, যেমন firewall-cmd --permanent --add-service=https।
5. স্বয়ংক্রিয় নিরাপত্তা আপডেট
dnf-automatic টাইমারে আপডেট ডাউনলোড করে। ডিফল্টভাবে সেগুলো ইনস্টল করে না, তাই ইনস্টল চালু করুন:
dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
শুধু নিরাপত্তা সংশোধন চাইলে একই ফাইলে upgrade_type = security-ও সেট করুন।
6. SELinux চালু রাখুন
নতুন সার্ভারে getenforce Enforcing দেখায়, আর ওপরের সবকিছু এর সঙ্গেই চলে। কোনো অ্যাপের অপ্রচলিত পোর্ট বা ডিরেক্টরি লাগলে সমাধান হলো লেবেল (semanage port, restorecon), setenforce 0 নয়।
কোন প্ল্যান
Rocky 9 অলস অবস্থায় প্রায় 400 MB RAM নেয়। Nano প্ল্যান (1 GB, $3/মাস) একটি ছোট সার্ভিসের জন্য যথেষ্ট; Micro (2 GB, $5/মাস) ডেটাবেসের জায়গা রাখে। NAT প্ল্যানে SSH ড্যাশবোর্ডে দেখানো ব্যক্তিগত পোর্ট দিয়ে আসে। পোর্ট 80/443 সবার জন্য খোলা দরকার হলে নিজস্ব IPv4 সহ প্ল্যান নিন, যেমন Micro-IP $10/মাস।
Rocky Linux 9 RHEL পরিবারের পাতায় থাকা ইমেজগুলোর একটি এবং VPS-এর প্রতিটি প্ল্যানে পাওয়া যায়। পেমেন্ট হয় Base, Ethereum বা Polygon নেটওয়ার্কে USDT, USDC বা ETH-এ, পরিচয়পত্র বা কার্ড ছাড়াই। স্ক্রিপ্ট দিয়ে সার্ভার চালাতে চাইলে API ডকুমেন্টেশনে অর্ডার, পুনরায় ইনস্টল ও নবায়নের কথা আছে।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।