Home Knowledge base Skyline Cloud اوبنٹو پر LAMP اسٹیک کیسے انسٹال کریں KNOWLEDGE BASE

اوبنٹو پر LAMP اسٹیک کیسے انسٹال کریں

اوبنٹو 24.04 LTS پر LAMP اسٹیک (لینکس، Apache، MySQL، PHP) انسٹال اور محفوظ بنانے کی مکمل، مرحلہ وار رہنمائی — فائر وال، مضبوط MySQL سیٹ اپ، PHP اور ایک کام کرتا ہوا Apache ورچوئل ہوسٹ شامل۔

اوبنٹو پر LAMP اسٹیک کیسے انسٹال کریں

اوبنٹو 24.04 LTS پر LAMP اسٹیک (لینکس، Apache، MySQL، PHP) انسٹال اور محفوظ بنانے کی ایک مکمل، مرحلہ وار رہنمائی — جس میں فائر وال، ایک مضبوط بنایا گیا MySQL سیٹ اپ، PHP، اور ایک کام کرتا ہوا Apache ورچوئل ہوسٹ شامل ہے جسے آپ چند منٹوں میں آزما سکتے ہیں۔

LAMP اسٹیک کیا ہے؟

LAMP اسٹیک متحرک (ڈائنامک) ویب سائٹس اور ویب ایپلیکیشنز کو پیش کرنے کے لیے کلاسیکی اوپن سورس پلیٹ فارم ہے۔ یہ مخفف چار پرتوں (لیئرز) کو ظاہر کرتا ہے جو مل کر کام کرتی ہیں:

  • Linux — آپریٹنگ سسٹم (اس رہنمائی میں اوبنٹو)
  • Apache — وہ ویب سرور جو HTTP درخواستوں کو سنبھالتا ہے
  • MySQL — ریلیشنل ڈیٹابیس جو آپ کا ڈیٹا محفوظ کرتی ہے
  • PHP — وہ زبان جو متحرک صفحات تیار کرتی ہے

یہ ٹیوٹوریل آپ کو اوبنٹو 24.04 LTS پر ایک مکمل، مضبوط بنائی گئی تنصیب کے مراحل سے گزارتا ہے (یہی مراحل 22.04 LTS اور نئے 26.04 LTS پر بھی صاف طریقے سے لاگو ہوتے ہیں)۔ آخر تک آپ کے پاس ایک کام کرتا ہوا ویب سرور ہوگا جس میں ایک آزمودہ ورچوئل ہوسٹ، ایک محفوظ ڈیٹابیس، اور صفحات پراسیس کرتا ہوا PHP موجود ہوگا۔

اگر آپ اسے مملکت کے اندر کسی VPS یا کلاؤڈ سرور پر چلا رہے ہیں، تو اپنا ڈیٹا مملکت کے اندر رکھنا PDPL کی ڈیٹا رہائش (ڈیٹا ریزیڈنسی) کی شرائط میں مدد دیتا ہے، اور ساتھ ہی ریاض، جدہ اور دمام میں صارفین کو کم تاخیر (لو لیٹنسی) فراہم کرتا ہے۔

پیشگی تقاضے

  • ایک اوبنٹو 24.04 سرور (Skyline Cloud کا VPS بخوبی کام کرتا ہے)۔
  • sudo اختیارات رکھنے والا ایک غیر روٹ صارف۔
  • سرور تک SSH رسائی۔

سب سے پہلے پیکیج انڈیکس کو تازہ کریں:

sudo apt update
sudo apt upgrade -y

مرحلہ 1 — Apache انسٹال کریں اور فائر وال ترتیب دیں

Apache ویب سرور انسٹال کریں:

sudo apt install apache2 -y

اوبنٹو UFW فائر وال کے ساتھ آتا ہے، اور Apache انسٹال ہوتے ہی اس میں اپنی ایپلیکیشن پروفائلز رجسٹر کر دیتا ہے۔ انہیں دیکھیں:

sudo ufw app list

آپ کو Apache، Apache Full، اور Apache Secure نظر آئیں گے۔ HTTP (80) اور HTTPS (443) دونوں کھولنے کے لیے Apache Full کی اجازت دیں۔ اگر UFW ابھی فعال نہیں ہے، تو پہلے SSH کی اجازت دیں تاکہ آپ خود کو باہر بند نہ کر لیں:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

تصدیق کریں کہ Apache چل رہا ہے:

sudo systemctl status apache2

اب براؤزر میں http://your_server_ip پر جائیں۔ آپ کو ڈیفالٹ Apache لینڈنگ صفحہ نظر آنا چاہیے۔

مرحلہ 2 — MySQL انسٹال کریں اور اسے محفوظ بنائیں

MySQL ڈیٹابیس سرور انسٹال کریں:

sudo apt install mysql-server -y

سروس خود بخود شروع ہو جاتی ہے۔ اس کے بعد، اندرونی طور پر شامل ہارڈننگ اسکرپٹ چلائیں، جو غیر محفوظ ڈیفالٹ ترتیبات کو ہٹا دیتی ہے:

sudo mysql_secure_installation

اسکرپٹ آپ سے درج ذیل کرنے کو کہتی ہے:

  1. اختیاری طور پر VALIDATE PASSWORD کمپوننٹ کو فعال کریں (اگر آپ پاس ورڈ کی نافذ کردہ پیچیدگی چاہتے ہیں تو ایک پالیسی سطح منتخب کریں)۔
  2. گمنام (اینانیمس) صارفین کو ہٹائیں — جواب میں Y دیں۔
  3. ریموٹ روٹ لاگ اِن کو غیر مجاز کریں — جواب میں Y دیں۔
  4. ٹیسٹ ڈیٹابیس کو ہٹائیں — جواب میں Y دیں۔
  5. پریویلیج ٹیبلز کو دوبارہ لوڈ کریں — جواب میں Y دیں۔

ایک تازہ تنصیب پر روٹ اکاؤنٹ auth_socket استعمال کرتا ہے، چنانچہ آپ شیل سے بغیر پاس ورڈ کے لاگ اِن کرتے ہیں:

sudo mysql

ایپلیکیشنز کے لیے کبھی روٹ استعمال نہ کریں۔ اس کے بجائے ایک مخصوص صارف اور ڈیٹابیس بنائیں:

CREATE DATABASE app_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'a_strong_password';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

مرحلہ 3 — PHP انسٹال کریں

PHP، Apache کا PHP ماڈیول، اور MySQL کنیکٹر انسٹال کریں:

sudo apt install php libapache2-mod-php php-mysql -y

زیادہ تر ایپلیکیشنز کو چند عام ایکسٹینشنز کی بھی ضرورت ہوتی ہے:

sudo apt install php-cli php-curl php-gd php-mbstring php-xml php-zip -y

انسٹال شدہ ورژن چیک کریں:

php -v

مرحلہ 4 — Apache کو PHP فائلوں کو ترجیح دینے کا کہیں

ڈیفالٹ کے طور پر Apache index.php سے پہلے index.html پیش کرتا ہے۔ PHP ایپلیکیشنز کو متوقع طریقے سے کام کرانے کے لیے، index.php کی ترجیح بڑھائیں۔ ڈائریکٹری انڈیکس کنفگ کھولیں:

sudo nano /etc/apache2/mods-enabled/dir.conf

index.php کو فہرست کے سب سے آگے منتقل کریں:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

محفوظ کریں، پھر Apache کو دوبارہ لوڈ کریں:

sudo systemctl reload apache2

مرحلہ 5 — ایک ورچوئل ہوسٹ بنائیں

ورچوئل ہوسٹس ایک ہی سرور کو متعدد سائٹس میزبانی کرنے کی اجازت دیتے ہیں۔ اپنے ڈومین کے لیے ایک ڈاکیومنٹ روٹ اور ایک کنفگ فائل بنائیں (example.com کو تبدیل کریں):

sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf

درج ذیل شامل کریں:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

اپنی سائٹ کو فعال کریں، ڈیفالٹ سائٹ کو غیر فعال کریں، اور دوبارہ لوڈ کریں:

sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

اگر آپ صاف URLs استعمال کرنے کا ارادہ رکھتے ہیں (جو WordPress اور Laravel میں عام ہے)، تو ری رائٹ ماڈیول فعال کریں:

sudo a2enmod rewrite
sudo systemctl restart apache2

مرحلہ 6 — PHP پراسیسنگ کو آزمائیں

اپنے ڈاکیومنٹ روٹ میں ایک ٹیسٹ فائل بنائیں:

nano /var/www/example.com/info.php

شامل کریں:

<?php
phpinfo();

http://example.com/info.php پر جائیں (یا اپنے سرور IP پر)۔ آپ کو PHP معلوماتی صفحہ نظر آنا چاہیے، جو اس بات کی تصدیق کرتا ہے کہ Apache .php فائلوں کو PHP کے حوالے کر رہا ہے۔ بعد میں اس فائل کو فوراً حذف کر دیں — یہ سرور کی تفصیلات کو بے نقاب کرتی ہے:

rm /var/www/example.com/info.php

فوری کمانڈ ریفرنس

کام کمانڈ
Apache دوبارہ شروع کریں sudo systemctl restart apache2
Apache کنفگ دوبارہ لوڈ کریں sudo systemctl reload apache2
Apache کنفگ کا سینٹیکس ٹیسٹ کریں sudo apache2ctl configtest
MySQL دوبارہ شروع کریں sudo systemctl restart mysql
MySQL میں لاگ اِن کریں sudo mysql
Apache ایرر لاگ دیکھیں sudo tail -f /var/log/apache2/error.log

اگلے اقدامات

آپ کا LAMP سرور تیار ہے۔ تجویز کردہ اگلے اقدامات:

  • HTTPS شامل کریں۔ Certbot کے ساتھ ایک مفت Let's Encrypt سرٹیفکیٹ جاری کریں، یا ایک منظم SSL آپشن استعمال کریں تاکہ ٹریفک خفیہ (انکرپٹڈ) ہو۔
  • ایک ڈومین جوڑیں۔ منظم DNS کے ذریعے ایک .sa یا دیگر ڈومین کو منسلک کریں تاکہ صارفین آپ کی سائٹ تک نام سے پہنچ سکیں۔
  • کاروباری ای میل ترتیب دیں۔ اپنی سائٹ کو اپنے اپنے ڈومین پر قابلِ اعتماد کاروباری ای میل ہوسٹنگ کے ساتھ جوڑیں۔
  • بیک اپ شیڈول کریں۔ /var/www کے کلاؤڈ بیک اپ اور اپنی ڈیٹابیسز کے باقاعدہ mysqldump ایکسپورٹس کو خودکار بنائیں۔

کیا آپ ایک ایسا سرور چاہتے ہیں جس میں یہ اسٹیک پہلے سے تیار ہو، مملکت کے اندر ڈیٹا رہائش ہو، اور مقامی عربی سپورٹ ہو؟ Skyline Cloud کے لیے سائن اپ کریں اور چند منٹوں میں اپنا VPS شروع کریں۔

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.