فوری آغاز: 15 منٹ میں ویب سائٹ
صاف مشین سے HTTPS سرٹیفکیٹ کے ساتھ کام کرنے والی nginx سائٹ تک: انسٹالیشن، سائٹ ڈائریکٹری، ڈومین، فائر وال، اور تصدیق۔
اپ ڈیٹ 23 اگست، 2026
منظر نامہ: ایک تازہ Debian یا Ubuntu انسٹالیشن، آپ کا اپنا ڈومین، اور مقصد یہ کہ آپ کا صفحہ HTTPS پر نظر آئے۔ تمام کمانڈز root کے طور پر SSH کے ذریعے چلائی جاتی ہیں۔
1. nginx انسٹال کریں
apt update && apt install -y nginx
systemctl enable --now nginx
اپنے براؤزر میں http://your-address کھولیں — آپ کو خوش آمدید کا صفحہ نظر آنا چاہیے۔ اگر یہ ظاہر نہ ہو تو فائر وال چیک کریں (مرحلہ 3)۔
AlmaLinux پر apt کی بجائے dnf استعمال کریں؛ دیکھیں AlmaLinux۔
2. ڈومین کی نشاندہی کریں
اپنے رجسٹرار کے پینل میں، "Overview" ٹیب سے مشین کا ایڈریس لے کر ایک A ریکارڈ شامل کریں:
example.com. A 203.0.113.10
www.example.com. A 203.0.113.10
چیک کریں کہ ڈومین درست ایڈریس پر resolve ہو رہا ہے:
apt install -y dnsutils
dig +short example.com
ریکارڈ کی تبدیلیاں ایک منٹ سے کئی گھنٹوں تک لے سکتی ہیں۔ جب تک dig پرانا ایڈریس واپس کرتا رہے، آپ سرٹیفکیٹ جاری نہیں کر سکیں گے۔
3. پورٹس کھولیں
apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
پہلے
allow OpenSSH، پھرenable۔ الٹی ترتیب آپ کا رسائی منقطع کر دے گی، اور آپ کو text console کے ذریعے لاگ ان کرنا پڑے گا۔
4. سائٹ بنائیں
mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com
/etc/nginx/sites-available/example.com میں کنفیگریشن:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
فعال کریں اور لاگو کریں:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
nginx -t لازمی ہے: یہ ری اسٹارٹ سے پہلے کنفیگ چیک کرتا ہے۔ اگر آؤٹ پٹ syntax is ok اور test is successful پر ختم نہ ہو تو سروس ری اسٹارٹ نہ کریں — پہلے خرابی درست کریں۔
5. سرٹیفکیٹ جاری کریں
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot ای میل مانگے گا، ایک listen 443 ssl بلاک شامل کرے گا، اور HTTP ری ڈائریکٹ سیٹ اپ کرے گا۔ تجدید خودکار طور پر سیٹ ہو جاتی ہے؛ آپ اسے اس طرح چیک کر سکتے ہیں:
certbot renew --dry-run
سب سے زیادہ کیا غلط ہوتا ہے
| علامت | وجہ |
|---|---|
| براؤزر سائٹ نہیں کھولتا | ufw میں پورٹ 80 یا 443 بند ہے |
Certbot: Timeout during connect | ڈومین ابھی مشین کی طرف اشارہ نہیں کرتا، یا پورٹ 80 بند ہے |
502 Bad Gateway | nginx ایسی ایپلیکیشن کو proxy کر رہا ہے جو چل نہیں رہی — اپنی سروس کے لیے systemctl status چیک کریں |
403 Forbidden | ڈائریکٹری پر اجازتیں نہیں، یا index.html غائب ہے |
| آپ کے صفحے کی بجائے ڈیفالٹ nginx صفحہ | /etc/nginx/sites-enabled/default ہٹایا نہیں گیا |
ان میں سے کسی بھی مسئلے کے لاگز:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager
اس کے بعد، اگر آپ نے ابھی تک نہیں کیا تو first-hour checklist کے ذریعے بنیادی سیکیورٹی کا خیال رکھیں۔