Knowledgebase Profitserver سروس کے ساتھ کام کرنے کے لیے آسان ہدایات
مین Knowledgebase سرٹ بوٹ: آئیے انکرپٹ سرٹیفکیٹ انسٹال کرنا

سرٹ بوٹ: آئیے انکرپٹ سرٹیفکیٹ انسٹال کرنا


اس آرٹیکل میں، ہم لینکس سرور پر Certbot کو انسٹال کرنے اور کنفیگر کرنے کے عمل کو دیکھیں گے ۔ ہم تفصیل سے بتائیں گے کہ آپ کے ڈومین کے لیے Let's Encrypt SSL/TLS سرٹیفکیٹ کیسے حاصل کیا جائے ۔ ہم یہ بھی بیان کریں گے کہ اسے کسی ویب سرور (جیسے Nginx یا Apache) پر کیسے انسٹال کیا جائے اور آپ کے ویب وسائل کے ساتھ مسلسل محفوظ کنکشن کو یقینی بنانے کے لیے خودکار سرٹیفکیٹ کی تجدید ترتیب دیں۔

Certbot ایک مفت، اوپن سورس ٹول ہے جو SSL/TLS سرٹیفکیٹس کے خودکار حصول اور تجدید کے لیے ڈیزائن کیا گیا ہے ۔ یہ سرور اور کلائنٹ کے درمیان رابطے کو محفوظ بنانے، ڈیٹا کو غیر مجاز رسائی سے بچانے میں اہم کردار ادا کرتا ہے۔ Certbot ایک SSL سرٹیفکیٹ کی تنصیب اور تجدید کے عمل کو آسان بناتا ہے۔ سرٹیفکیٹ نہ صرف سیکیورٹی کو بڑھاتا ہے، بلکہ یہ آپ کے ویب وسائل میں صارف کے اعتماد کو بھی بڑھاتا ہے، اس طرح سائٹ کی ساکھ اور اس کے سرچ انجن کی درجہ بندی دونوں کو بہتر بناتا ہے۔

Certbot انسٹال کرنا

Certbot ڈیفالٹ کے طور پر زیادہ تر تقسیم میں شامل ہے، لہذا اسے Debian/Ubuntu سسٹمز پر انسٹال کرنے کے لیے، آپ کو صرف پیکیج کی فہرست کو اپ ڈیٹ کرنے کی ضرورت ہے:

apt update

پھر، تنصیب کا عمل شروع کریں:

apt install certbot

Certbot پلگ ان کو سپورٹ کرتا ہے جو ویب سرور کے لیے سرٹیفکیٹ کے سیٹ اپ اور کنفیگریشن میں سہولت فراہم کرتے ہیں۔ ان پلگ انز کو انسٹال کرنے کے لیے، متعلقہ کمانڈ استعمال کریں:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

Red Hat سسٹمز (جیسے RHEL , CentOS , Fedora ) کے لیے تنصیب کا عمل قدرے مختلف ہے۔ ابتدائی طور پر، آپ کو EPEL ذخیرہ شامل کرنے کی ضرورت ہے:

yum install epel-release

پھر ٹول انسٹال کریں:

yum install certbot

اسی طرح، ایک مخصوص ویب سرور کے لیے ایک پلگ ان کو منتخب کرنے کا اختیار ہے:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

تنصیب کے بعد، آپ فوری طور پر سرٹیفکیٹ حاصل کرنے کے لیے آگے بڑھ سکتے ہیں۔

SSL سرٹیفکیٹ حاصل کرنا

اس سیکشن میں، ہم ایک مخصوص ویب سرور سے آزادانہ طور پر سرٹیفکیٹ حاصل کرنے کے عمل پر تبادلہ خیال کریں گے، اس کے بعد Nginx اور Apache کے لیے سرٹیفکیٹ انسٹال کرنے کے عمل کو بیان کریں گے۔ تاہم، سب سے پہلے پروگرام کی نحو اور فعالیت کو سمجھنا ضروری ہے۔ یہ مندرجہ ذیل طور پر ظاہر ہوتا ہے:

certbot command option -d domain

اہم احکامات میں شامل ہیں:

certbot certonly - سرٹیفکیٹ بازیافت کرتا ہے لیکن اسے انسٹال نہیں کرتا ہے۔
certbot certificates - یہ کمانڈ تمام انسٹال شدہ سرٹیفکیٹس کی فہرست دکھاتا ہے۔
certbot renew - موجودہ سرٹیفکیٹ کو بڑھاتا ہے۔
certbot revoke - موجودہ سرٹیفکیٹ کو منسوخ کرتا ہے۔
certbot delete - موجودہ سرٹیفکیٹ کو حذف کرتا ہے۔

سب سے زیادہ استعمال ہونے والے اختیارات ہیں:

--nginx - ڈومین کی تصدیق کے لیے Nginx کنفیگریشن اسکرپٹ استعمال کرتا ہے۔
--apache - ڈومین کی تصدیق کے لیے اپاچی کنفیگریشن اسکرپٹس کا استعمال کرتا ہے۔
-d - ڈومینز کی ایک فہرست جس کے لیے سرٹیفکیٹ کی درخواست کی گئی ہے۔
--standalone - ڈومین کی تصدیق کے لیے اسٹینڈ اسٹون موڈ استعمال کرتا ہے۔
--manual - دستی ڈومین کی تصدیق کرتا ہے۔

یہ سب سے زیادہ کثرت سے حکموں اور اختیارات کی صرف ایک مثال ہے۔ آپ مدد کے سیکشن میں پروگرام کی صلاحیتوں کی مکمل فہرست سے خود کو واقف کر سکتے ہیں:

certbot –help
Certbot ٹول کا ہیلپ سیکشن

اب ہم سرٹیفکیٹ حاصل کرنے کے لیے آگے بڑھتے ہیں۔ مثال کے طور پر، ہم ایک مفت تیسرے درجے کے ڈومین جیسے yourusername.pserver.space کے لیے ورچوئل سرور کے لیے ایک سرٹیفکیٹ حاصل کریں گے۔

سب سے پہلے، آپ کو کمانڈ درج کرنے کی ضرورت ہے:

certbot certonly

جواب میں، یوٹیلیٹی آپ سے ڈومین کی ملکیت کی تصدیق کے لیے ایک طریقہ منتخب کرنے کو کہے گی:

Certbot SSL سرٹیفکیٹ کیسے حاصل کریں۔

پہلا آپشن آسان ہے اگر آپ کے پاس کنفیگر شدہ ویب سرور نہیں ہے یا آپ کسی موجودہ میں تبدیلیاں نہیں کرنا چاہتے ہیں۔ یہ طریقہ ڈومین پر آپ کے حق کی تصدیق کے لیے ایک عارضی ویب سرور بناتا ہے۔ یہ ایک سادہ اور فوری سیٹ اپ کے لیے مثالی ہے۔ اس طریقہ کا انتخاب کرتے وقت، پورٹ 80 کو مفت رکھنا ضروری ہے۔

دوسرا آپشن بہتر ہے اگر آپ کے پاس پہلے سے ہی ویب سرور کام کر رہا ہے، اور آپ اسے ڈومین کے حق کی تصدیق کے لیے استعمال کرنا چاہتے ہیں۔ Certbot آپ کے سرور پر ایک فولڈر میں خصوصی فائلیں رکھتا ہے، جس کے بعد تصدیق کرنے والے مرکز کی طرف سے جانچ پڑتال کی جاتی ہے.

ہم پہلا آپشن منتخب کرتے ہیں اور اگلا پر کلک کرتے ہیں۔ اس مرحلے پر، آپ کو یہ کرنے کی ضرورت ہوگی:

  1. ایک ای میل ایڈریس درج کریں؛
  2. سروس کی شرائط سے اتفاق کریں؛
  3. کمپنی اور اس کے شراکت داروں کی جانب سے ای میلز وصول کرنے سے اتفاق کریں یا انکار کریں؛
  4. ڈومین نام کی وضاحت کریں جس کے لیے سرٹیفکیٹ جاری کیا گیا ہے۔
SSL سرٹیفکیٹ حاصل کرنے کے لیے ڈیٹا

Certbot ٹول کے ساتھ سرٹیفکیٹ جاری کرنے کے عمل کو مکمل کرنے کے بعد، یہ اس ڈائریکٹری کے راستے کی نشاندہی کرے گا جہاں جاری کردہ سرٹیفکیٹ اور آپ کے اکاؤنٹ کا ڈیٹا محفوظ کیا جاتا ہے:

حاصل کردہ SSL سرٹیفکیٹ کا ڈیٹا

آپ کو حاصل کردہ سرٹیفکیٹ کو مطلوبہ خدمت سے جوڑنے کے لیے باقی ہے۔

Nginx یا Apache کے لیے سرٹیفکیٹ انسٹال کرنا

یہ سیکشن فرض کرتا ہے کہ کچھ بنیادی شرائط پوری ہو گئی ہیں:

  1. آپ پہلے ہی ایک ویب سرور انسٹال اور کنفیگر کر چکے ہیں، یا تو Nginx یا Apache۔ اسے انٹرنیٹ سے اس ڈومین نام کے ذریعے قابل رسائی ہونا چاہیے جس کے لیے آپ سرٹیفکیٹ حاصل کرنا چاہتے ہیں۔
  2. ٹول کی تنصیب کے دوران، آپ نے مناسب کمانڈ کا استعمال کرتے ہوئے Nginx یا Apache کے لیے ایک پلگ ان بھی انسٹال کیا۔
  3. فائر وال پورٹ 80 اور 443 پر کنکشن کی اجازت دیتا ہے۔ اگر یہ پورٹس کنکشن کے لیے بند ہیں، تو سروس آنے والے کنکشنز کے لیے دستیاب نہیں ہوگی۔ فائر وال آپریشن کے بارے میں مزید تفصیلات کے لیے، ہم نے اس پر مضمون میں بحث کی۔ لینکس پر فائر وال ترتیب دینا.

تمام شرائط پوری ہونے کے بعد، آپ براہ راست سرٹیفکیٹ جاری کرنے کے لیے آگے بڑھ سکتے ہیں۔ ہم مثال کے طور پر Nginx کا استعمال کرتے ہوئے سرور پر SSL سرٹیفکیٹ حاصل کرنے کے عمل پر غور کریں گے۔ تاہم، اگر آپ اپاچی ویب سرور استعمال کر رہے ہیں، تو عمل مکمل طور پر ایک جیسا ہے۔

سرٹیفکیٹ حاصل کرنے کے لیے، آپ کو کمانڈ درج کرنے کی ضرورت ہے:

certbot --nginx # for Nginx
certbot --apache # for Apache

جواب میں، ٹول درخواست کرے گا: ایک ای میل پتہ، Let's Encrypt سروس کے استعمال کی شرائط پر رضامندی، اور سروس اور اس کے شراکت داروں کی جانب سے ای میل بھیجنے کی اجازت۔

Nginx اور Apache کے لیے SSL سرٹیفکیٹ حاصل کرنا

اس کے بعد، آپ کو وہ ڈومین نام بتانا ہوگا جس کے لیے سرٹیفکیٹ جاری کیا گیا ہے۔ Certbot خود بخود ڈومین کا تعین کر سکتا ہے اگر یہ Nginx کنفیگریشن یا ServerName اور Apache کے لیے ServerAlias ​​کے لیے server_name فیلڈ میں بیان کیا گیا ہو ۔ اگر یہ متعین نہیں ہے تو، پروگرام آپ کو مطلع کرے گا اور آپ سے ڈومین کا نام دستی طور پر درج کرنے کو کہے گا۔ پھر، یوٹیلیٹی پوچھے گی کہ آیا HTTP سے HTTPS پروٹوکول میں درخواستوں کی ری ڈائریکشن کو فعال کرنا ہے۔ خودکار ری ڈائریکشن سیٹ اپ کرنے کے لیے، آپ کو دوسرا آپشن منتخب کرنا چاہیے:

HTTP سے HTTPS پر درخواستوں کو ری ڈائریکٹ کرنا

کچھ وقت کے بعد، Certbot آپ کو مخصوص ڈومین کے لیے سرٹیفکیٹ کے کامیاب حصول سے آگاہ کرے گا۔ اس مقام سے آگے، تمام آنے والے کنکشنز کو پورٹ 80 سے 443 تک ری ڈائریکٹ کر دیا جائے گا۔ ٹول ڈائریکٹریز کو ظاہر کرے گا جس میں آپ کو تمام سرٹیفکیٹ ڈیٹا اور آئیے انکرپٹ اکاؤنٹ کی تفصیلات مل سکتی ہیں:

سرٹ بوٹ سرٹیفکیٹ کا کامیاب اجراء

پیغام میں حاصل کردہ سرٹیفکیٹ کی میعاد کی مدت اور تمام فعال سرٹیفکیٹس کے انتظام کے لیے اہم اختیارات بھی بیان کیے جائیں گے:

  1. یقینی طور پر. یہ اختیار خودکار ویب سرور کنفیگریشن کے بغیر سرٹیفکیٹ حاصل کرنے یا اپ ڈیٹ کرنے کے لیے استعمال ہوتا ہے۔ Certbot صرف سرٹیفکیٹ کی درخواست یا اپ ڈیٹ کرے گا لیکن سرور کی ترتیب میں کوئی خودکار تبدیلی نہیں کرے گا۔ پہلے، ہم ویب سرور سے بندھے بغیر سرٹیفکیٹ حاصل کرنے کے لیے اس اختیار کا استعمال کرتے تھے۔
  2. تجدید ان تمام سرٹیفکیٹس کی خودکار تجدید کے لیے استعمال کیا جاتا ہے جو Certbot کے ذریعے حاصل کیے گئے ہیں اور ان کی میعاد کے اندر ہیں۔ پروگرام تمام سرٹیفکیٹس کو چیک کرے گا، اور اگر ان میں سے کسی کی میعاد 30 دن یا اس سے کم ہو جاتی ہے، تو اس کی خود بخود تجدید ہو جائے گی۔

اگلا ہدایات میں، ہم ہر تین ماہ بعد صارف کی مداخلت کے بغیر سرٹیفکیٹس کی خودکار تجدید کو ترتیب دینے کے بارے میں بات کریں گے۔

Certbot میں سرٹیفکیٹ کی خودکار تجدید

Debian/Ubuntu کے لیے

ان آپریٹنگ سسٹمز کا استعمال کرتے وقت، Certbot خودکار طور پر نصب شدہ سرٹیفکیٹس کی خودکار تجدید کے لیے ٹاسک لسٹ میں ایک اسکرپٹ شامل کرتا ہے۔ آپ درج ذیل کمانڈ سے اسکرپٹ کی فعالیت کو چیک کر سکتے ہیں۔

systemctl status certbot.timer
certbot.timer سروس کے اسٹیٹس کو چیک کرنا

جواب سروس کی حیثیت کے ساتھ ساتھ کنفیگریشن فائل پر مشتمل ڈائریکٹری بھی ظاہر کرے گا۔ آپ اسے کسی بھی ٹیکسٹ ایڈیٹر کے ذریعے کھول سکتے ہیں۔ اگر آپ کو لینکس میں ٹیکسٹ ایڈیٹرز کا تجربہ نہیں ہے، تو ہم سب سے زیادہ مقبول حلوں کے اپنے جائزہ سے خود کو واقف کرنے کی تجویز کرتے ہیں۔ اس صورت میں، ہم نینو استعمال کریں گے:

nano /lib/systemd/system/certbot.timer
certbot.timer کی کنفیگریشن دیکھنا

تمام اہم پیرامیٹرز کو نمایاں کیا گیا ہے:

  1. شیڈول بتاتا ہے کہ سروس دن میں دو بار 00:00 اور 12:00 بجے چلے گی۔
  2. دوسری قدر سیکنڈوں میں بے ترتیب تاخیر کی نشاندہی کرتی ہے جسے ٹائمر کے آغاز میں شامل کیا جائے گا۔ اس صورت میں، یہ 43,200 سیکنڈ (12 گھنٹے) ہے، جو لانچ کو زیادہ بے ترتیب بناتا ہے اور بوجھ کو پھیلاتا ہے۔
  3. یہ پیرامیٹر اس بات کو یقینی بناتا ہے کہ اگر ٹائمر کو سسٹم کے بند ہونے کے دوران عمل میں لایا جانا تھا، تو اسے شروع ہونے پر فوراً چالو کر دیا جائے گا۔

آپ کمانڈ کے ساتھ سرٹیفکیٹ کی تجدید کا جبری چیک بھی چلا سکتے ہیں:

certbot renew --dry-run

اس کمانڈ کا استعمال کرتے ہوئے، سرٹیفکیٹس کو اپ ڈیٹ نہیں کیا جائے گا۔ اس کے بجائے، ٹول اپنی میعاد ختم ہونے پر سرٹیفکیٹ حاصل کرنے کے مترادف کام انجام دے گا۔ اس طرح، آپ خودکار تجدید کے حوالے سے سروس کی فعالیت کو یقینی بنا سکتے ہیں۔

CentOS، Fedora، اور دیگر کے لیے

Red Hat فیملی سسٹمز پر خودکار اپ ڈیٹس کو فعال کرنے کا عمل قدرے مختلف ہے۔ Debian/Ubuntu کے برعکس، CentOS اور دیگر سسٹمز کے لیے، آپ کو شیڈیولر میں دستی طور پر ایک کام شامل کرنے کی ضرورت ہے۔ اس کے لیے ہم کرون ٹول استعمال کریں گے:

crontab -e

پھر، کھلنے والی فائل میں، درج ذیل لائن شامل کریں:

0 12 * * * /usr/bin/certbot renew --quiet

آئیے کمانڈ کے اہم دلائل کو توڑتے ہیں:

  1. پھانسی کا وقت۔ اس صورت میں، کمانڈ خود بخود ہر روز 12:00 بجے چلے گی۔
  2. Certbot کا استعمال کرتے ہوئے SSL/TLS سرٹیفکیٹس کی تجدید کی کمانڈ؛
  3. ۔ --چپ پرچم آؤٹ پٹ کو دباتا ہے، اس عمل کو زیادہ پوشیدہ اور سسٹم لاگز یا ڈسپلے میں کم دخل اندازی کرتا ہے۔

کمانڈ شامل کرنے کے بعد، آپ کو فائل میں تبدیلیاں محفوظ کرنے کی ضرورت ہے۔

بالکل اسی طرح جیسے Debian/Ubuntu کے ساتھ، آپ سرٹیفکیٹ کی تجدید کی جبری جانچ بھی شروع کر سکتے ہیں:

certbot renew --dry-run

کمانڈ کے کامیاب نفاذ کا نتیجہ اس طرح نظر آتا ہے:

تجدید کمانڈ کے کامیاب چیک کا نتیجہ

نتیجہ

ہم نے لینکس سرور پر Certbot کو انسٹال اور کنفیگر کرنے کے جامع عمل کو دریافت کیا ہے۔ فراہم کردہ ہدایات پر عمل کر کے، آپ لیٹس انکرپٹ سے کامیابی کے ساتھ ایک SSL/TLS سرٹیفکیٹ حاصل کر سکتے ہیں، اسے اپنے ویب سرور پر انسٹال کر سکتے ہیں، اور اپنے ویب وسائل میں مسلسل تحفظ اور بڑھتے ہوئے اعتماد کو یقینی بنانے کے لیے خودکار تجدید کو ترتیب دے سکتے ہیں۔ Certbot کے ساتھ، آپ آسانی سے صارفین کے لیے ایک قابل اعتماد اور محفوظ ماحول بنا سکتے ہیں۔

❮ پچھلا مضمون لینکس پیکیج مینیجرز
اگلا مضمون ❯ سرور کا بوجھ کم کرنا

ہم سے VPS کے بارے میں پوچھیں۔

ہم دن یا رات کے کسی بھی وقت آپ کے سوالات کا جواب دینے کے لیے ہمیشہ تیار ہیں۔