اوبنٹو 24.04 LTS پر پروڈکشن کے لیے تیار LEMP اسٹیک — Nginx، MySQL اور PHP-FPM — انسٹال اور کنفیگر کرنے کی ایک واضح، مرحلہ وار رہنمائی، ایک آزمودہ سرور بلاک اور ایک PHP ٹیسٹ پیج کے ساتھ۔
SKYLINE Engineering @skyline
شائع کردہ Jun 9, 2026 | مطالعے کا وقت 6 منٹ
تعارف
ایک LEMP اسٹیک متحرک ویب ایپلیکیشنز کو سرو کرنے کے لیے اوپن سورس سافٹ ویئر پر مشتمل ہوتا ہے۔ یہ مخفف Linux، ENginx (جس کا تلفظ "انجن-ایکس" ہے)، MySQL، اور PHP کے لیے استعمال ہوتا ہے۔ یہ امتزاج ویب کے ایک خاصے حصے کو طاقت فراہم کرتا ہے، بشمول WordPress، Laravel، اور Magento سائٹس کے۔
یہ ٹیوٹوریل اوبنٹو 24.04 LTS پر ایک مکمل LEMP اسٹیک انسٹال اور کنفیگر کرتا ہے: ویب سرور کے طور پر Nginx، ڈیٹابیس کے طور پر MySQL، اور متحرک مواد کو پروسیس کرنے کے لیے PHP-FPM۔ مکمل ہونے پر، آپ کے پاس ایک کام کرتا ہوا سرور بلاک ہوگا جو ایک PHP پیج سرو کر رہا ہوگا۔
یہ رہنمائی کسی بھی اوبنٹو 24.04 سرور پر کام کرتی ہے۔ اگر آپ اسے مملکت کے اندر کسی Skyline Cloud VPS یا کلاؤڈ سرور پر چلا رہے ہیں، تو آپ کو مملکت کے اندر ڈیٹا ریزیڈنسی، PDPL/NCA ہم آہنگی، اور مقامی عربی سپورٹ بھی حاصل ہوتی ہے۔
پیشگی تقاضے
شروع کرنے سے پہلے، آپ کے پاس یہ ہونا چاہیے:
- ایک اوبنٹو 24.04 سرور جس میں ایک غیر روٹ صارف ہو جسے
sudoکے اختیارات حاصل ہوں۔ - ایک بنیادی فائر وال (UFW) — جس کا احاطہ نیچے کیا گیا ہے۔
- اختیاری طور پر، ایک ڈومین نام جو
Aریکارڈ کے ذریعے آپ کے سرور کے عوامی IP کی طرف اشارہ کرتا ہو۔
اگر آپ کے پاس ابھی تک کوئی سرور نہیں ہے، تو آپ Skyline Cloud پر چند منٹوں میں ایک بنا سکتے ہیں۔
مرحلہ 1 — پیکیج انڈیکس کو اپ ڈیٹ کرنا
ہمیشہ ایک تازہ ترین پیکیج انڈیکس کے ساتھ شروع کریں تاکہ آپ موجودہ ورژنز انسٹال کریں:
sudo apt update
sudo apt upgrade -y
مرحلہ 2 — Nginx انسٹال کرنا
Nginx ویب سرور انسٹال کریں:
sudo apt install nginx -y
اگر UFW فعال ہے، تو HTTP اور HTTPS ٹریفک کی اجازت دیں۔ Nginx Full پروفائل دونوں پورٹس 80 اور 443 کھول دیتا ہے:
sudo ufw allow 'Nginx Full'
sudo ufw status
تصدیق کریں کہ Nginx چل رہا ہے:
systemctl status nginx
براؤزر میں http://your_server_ip پر جائیں — آپ کو ڈیفالٹ Welcome to nginx! پیج نظر آنا چاہیے۔
مرحلہ 3 — MySQL انسٹال کرنا
MySQL ڈیٹابیس سرور انسٹال کریں:
sudo apt install mysql-server -y
MySQL خود بخود شروع ہو جاتا ہے۔ اس کے بعد، غیر محفوظ ڈیفالٹس کو ہٹانے کے لیے سیکیورٹی اسکرپٹ چلائیں:
sudo mysql_secure_installation
آپ سے کہا جائے گا کہ آپ VALIDATE PASSWORD کمپوننٹ کو کنفیگر کریں، گمنام صارفین کو ہٹائیں، ریموٹ روٹ لاگ اِن کو ناممکن بنائیں، اور ٹیسٹ ڈیٹابیس کو ختم کریں۔ ان سخت کرنے والے اقدامات پر Y کے ساتھ جواب دیں۔
ایک نئی اوبنٹو انسٹال پر، root MySQL صارف auth_socket پلگ اِن کے ذریعے تصدیق کرتا ہے، لہٰذا آپ شیل سے پاس ورڈ کے بغیر کنیکٹ ہوتے ہیں:
sudo mysql
root استعمال کرنے کے بجائے ایک مخصوص ایپلیکیشن صارف بنانا بہترین عمل ہے۔ MySQL پرامپٹ سے:
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'a_strong_password';
CREATE DATABASE appdb;
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
مرحلہ 4 — PHP انسٹال کرنا
Apache کے برعکس، Nginx میں کوئی بلٹ اِن PHP پروسیسر نہیں ہوتا۔ آپ PHP-FPM (FastCGI Process Manager) اور MySQL ایکسٹینشن انسٹال کرتے ہیں:
sudo apt install php-fpm php-mysql -y
اوبنٹو 24.04 ڈیفالٹ طور پر PHP 8.3 کے ساتھ آتا ہے۔ ورژن اور FPM سروس کے نام کی تصدیق کریں:
php -v
systemctl status php8.3-fpm
ساکٹ پاتھ /run/php/php8.3-fpm.sock کو نوٹ کریں — آپ Nginx کنفیگ میں اس کا حوالہ دیں گے۔
مرحلہ 5 — PHP-FPM استعمال کرنے کے لیے Nginx کو کنفیگر کرنا
اپنی سائٹ کے لیے ایک ویب روٹ اور ایک سرور بلاک بنائیں۔ your_domain کو اپنے ڈومین یا سرور IP سے تبدیل کریں۔
sudo mkdir -p /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain
سرور بلاک فائل بنائیں:
sudo nano /etc/nginx/sites-available/your_domain
مندرجہ ذیل کنفیگریشن شامل کریں:
server {
listen 80;
server_name your_domain www.your_domain;
root /var/www/your_domain;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
سائٹ کو sites-enabled میں لنک کرکے فعال کریں، پھر ڈیفالٹ سائٹ کو ہٹا دیں تاکہ یہ ٹکراؤ پیدا نہ کرے:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
نحوی غلطیوں کے لیے کنفیگریشن کو ٹیسٹ کریں، پھر ری لوڈ کریں:
sudo nginx -t
sudo systemctl reload nginx
مرحلہ 6 — PHP پروسیسنگ کی جانچ
اپنے ویب روٹ میں ایک ٹیسٹ PHP فائل بنائیں:
nano /var/www/your_domain/info.php
یہ مواد شامل کریں:
<?php
phpinfo();
اپنے براؤزر میں http://your_domain/info.php پر جائیں۔ آپ کو ایک تفصیلی PHP معلوماتی پیج نظر آنا چاہیے، جو اس بات کی تصدیق کرتا ہے کہ Nginx درست طور پر درخواستوں کو PHP-FPM کی طرف بھیج رہا ہے۔
اس کے فوراً بعد فائل کو ہٹا دیں — یہ سرور کی ایسی تفصیلات ظاہر کرتی ہے جنہیں حملہ آور استعمال کر سکتے ہیں:
sudo rm /var/www/your_domain/info.php
مرحلہ 7 — HTTPS کے ساتھ محفوظ بنانا (تجویز کردہ)
کسی بھی عوامی سائٹ کے لیے آپ کو ٹریفک HTTPS کے ذریعے سرو کرنی چاہیے۔ اگر آپ کا ڈومین سرور کی طرف اشارہ کرتا ہے، تو Certbot انسٹال کریں اور ایک مفت Let's Encrypt سرٹیفکیٹ حاصل کریں:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain -d www.your_domain
Certbot آپ کے سرور بلاک میں ترمیم کرتا ہے، سرٹیفکیٹ انسٹال کرتا ہے، اور خودکار تجدید سیٹ اپ کرتا ہے۔ آپ systemctl status certbot.timer کے ساتھ تجدید ٹائمر کی تصدیق کر سکتے ہیں۔ کاروباری سائٹس کے لیے جنہیں آرگنائزیشن-ویلیڈیٹڈ یا وائلڈ کارڈ سرٹیفکیٹ کی ضرورت ہوتی ہے، Skyline کے منظم SSL آپشنز دیکھیں۔
سروس کا خلاصہ
| کمپوننٹ | پیکیج | سروس | ڈیفالٹ پورٹ / ساکٹ |
|---|---|---|---|
| ویب سرور | nginx |
nginx |
80 / 443 |
| ڈیٹابیس | mysql-server |
mysql |
3306 (localhost) |
| PHP پروسیسر | php-fpm |
php8.3-fpm |
/run/php/php8.3-fpm.sock |
نتیجہ
اب آپ کے پاس اوبنٹو 24.04 پر ایک کام کرتا ہوا LEMP اسٹیک ہے — Nginx درخواستوں کو سرو کر رہا ہے، PHP-FPM متحرک کوڈ کو پروسیس کر رہا ہے، اور MySQL آپ کا ڈیٹا محفوظ کر رہا ہے، جو UFW اور HTTPS کے پیچھے محفوظ ہے۔ یہاں سے آپ WordPress، ایک Laravel ایپ، یا کوئی بھی PHP پروجیکٹ /var/www/your_domain میں تعینات کر سکتے ہیں۔
اگر آپ خود آپریٹنگ سسٹم کا انتظام نہیں کرنا چاہتے، تو ایک منظم پلیٹ فارم یا کاروباری ای میل ہوسٹنگ یہ کام آپ سے ہٹا سکتی ہے۔ VPS سائزنگ، قیمتوں، اور وسیع تر پروڈکٹ رینج کو دریافت کرنے کے لیے، VPS اور کلاؤڈ سرورز ہب پر جائیں۔
تعینات کرنے کے لیے تیار ہیں؟ Skyline Cloud کے ساتھ مملکت کے اندر ایک کلاؤڈ سرور شروع کریں اور اپنے LEMP اسٹیک کو چند منٹوں میں لائیو کریں۔
Comments
0 total · 0 threads