Skip to content
VDS · شروعات

فوری آغاز: 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 Gatewaynginx ایسی ایپلیکیشن کو 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 کے ذریعے بنیادی سیکیورٹی کا خیال رکھیں۔