اوبنٹو 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
اسکرپٹ آپ سے درج ذیل کرنے کو کہتی ہے:
- اختیاری طور پر VALIDATE PASSWORD کمپوننٹ کو فعال کریں (اگر آپ پاس ورڈ کی نافذ کردہ پیچیدگی چاہتے ہیں تو ایک پالیسی سطح منتخب کریں)۔
- گمنام (اینانیمس) صارفین کو ہٹائیں — جواب میں Y دیں۔
- ریموٹ روٹ لاگ اِن کو غیر مجاز کریں — جواب میں Y دیں۔
- ٹیسٹ ڈیٹابیس کو ہٹائیں — جواب میں Y دیں۔
- پریویلیج ٹیبلز کو دوبارہ لوڈ کریں — جواب میں 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 شروع کریں۔
Comments
0 total · 0 threads