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 دستاویزات آرڈر، دوبارہ انسٹالیشن اور تجدید بتاتی ہیں۔
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔