Ubuntu 20.04 پر Laravel کو کیسے انسٹال کریں۔

Ubuntu 20.04 LTS مشین پر Laravel ویب ایپلیکیشن لگانے کے لیے ہر وہ چیز جو آپ کو جاننے کی ضرورت ہے

Laravel ایک بہت ہی مقبول اوپن سورس PHP فریم ورک ہے جس کا استعمال جدید اور خوبصورت ویب ایپلیکیشنز کو ڈیزائن کرنے کے لیے استعمال کیا جاتا ہے۔ Laravel کا مقصد ویب ڈیولپمنٹ کے درد کو دور کرنا اور اسے ایک پرلطف اور تخلیقی تجربہ بنانا ہے، جس سے ویب ڈیوس کو ویب کاریگروں میں تبدیل کرنا ہے۔

اس گائیڈ میں، آپ اپنی ویب ایپلیکیشن کو چلانے اور چلانے کے لیے Ubuntu 20.04 سرور پر LAMP اسٹیک کے ساتھ Laravel کو انسٹال کرنے کا طریقہ سیکھنے جا رہے ہیں۔

شرطیں

اس گائیڈ پر عمل کرنے کے لیے، آپ کو Ubuntu 20.04 LTS سرور کی ضرورت ہوگی اور بطور لاگ ان sudo صارف اس سے پہلے کہ ہم شروع کریں، Ubuntu 20.04 پیکجوں کو چلا کر اپ ڈیٹ اور اپ گریڈ کریں:

sudo apt اپ ڈیٹ اور اور sudo apt اپ گریڈ

LAMP اسٹیک انسٹال کرنا

LAMP کا مخفف ہے۔ ایل inux آپریٹنگ سسٹم، اے pache ویب سرور، ایم ySQL ڈیٹا بیس اور پی HP پروگرامنگ زبان۔ ہم پہلے ہی Ubuntu 20.04 پر ہیں جو LAMP اسٹیک میں لینکس کو ٹک کرتا ہے۔ لہذا ہم اپنے Laravel ایپلیکیشن کے لیے LAMP اسٹیک کو مکمل کرنے کے لیے باقی تین پیکجز کو انسٹال کرنے جا رہے ہیں۔

Ubuntu 20.04 repositories میں LAMP اسٹیک انسٹال کرنے کے لیے کوئی میٹا پیکج دستیاب نہیں ہے۔ لیکن ہم کی ایک صاف چھوٹی خصوصیت استعمال کر سکتے ہیں مناسب پیکیج مینیجر نے ٹاسک کہا۔ کاموں کو کیڈٹ کے ساتھ دستیاب کام کے نام کا استعمال کرتے ہوئے ظاہر کیا جاتا ہے (^) اس کے ساتھ جوڑا گیا۔

sudo apt install lamp-server^

یہ کمانڈ تمام "Task:" فیلڈ کے لیے پیکج کی فہرست کی فائلوں کو تلاش کرے گی اور "lamp-server" والے تمام پیکجوں کو ان کے ٹاسک فیلڈ میں انسٹال کرے گی۔ لہذا اپاچی، مائی ایس کیو ایل اور پی ایچ پی پیکجوں پر مشتمل ایل اے ایم پی اسٹیک آپ کے اوبنٹو سرور پر انسٹال ہو جائے گا۔

فائر وال کو ترتیب دیں۔

ایک بار جب آپ LAMP اسٹیک انسٹال کر لیتے ہیں، تو آپ کو غیر پیچیدہ فائر وال (UFW) کو بھی ترتیب دینے اور اس کے قواعد کو تبدیل کرنے کی ضرورت ہوتی ہے تاکہ آپ انٹرنیٹ سے اپاچی سرور تک رسائی حاصل کر سکیں۔

UFW سادہ ایپلیکیشن پروفائلز فراہم کرتا ہے جن کا استعمال قوانین کو تبدیل کرنے اور نیٹ ورک پورٹس پر ٹریفک کو ٹوگل کرنے کے لیے کیا جا سکتا ہے۔ نیٹ ورک پورٹس تک رسائی حاصل کرنے والی تمام ایپلیکیشنز کی فہرست کے لیے درج ذیل کمانڈ کو چلائیں:

sudo ufw ایپ کی فہرست

آپ کو ایک آؤٹ پٹ نظر آئے گا جیسے:

دستیاب ایپلی کیشنز: اپاچی اپاچی فل اپاچی سیکیور اوپن ایس ایس ایچ

یہ پروفائلز آپ کے Ubuntu 20.04 سرور پر کھلنے والے نیٹ ورک پورٹس ذیل میں درج ہیں۔

  • اپاچی: یہ پروفائل صرف پورٹ کھولتا ہے۔ 80 (HTTP ٹریفک کی اجازت دیتا ہے)
  • Apache Full: یہ پروفائل دونوں کو کھولتا ہے۔ 80 & 443 بندرگاہیں (HTTP اور HTTPS ٹریفک کی اجازت دیتا ہے)
  • اپاچی سیکیور: یہ پروفائل صرف پورٹ کھولتا ہے۔ 443 (HTTPS ٹریفک کی اجازت دیتا ہے)
  • OpenSSH: یہ پروفائل پورٹ کھولتا ہے۔ 22 جو SSH پروٹوکول کی اجازت دیتا ہے۔

آپ کو 'Apache Full' پروفائل کو فعال کرنے کی ضرورت ہے جو انٹرنیٹ سے Apache ویب سرور پر ٹریفک کی اجازت دے گا۔ اس کے علاوہ، آپ کو 'اوپن ایس ایس ایچ' پروفائل کو بھی فعال کرنے کی ضرورت ہوگی جو پورٹ پر ٹریفک کی اجازت دیتا ہے۔ 22 (SSH) آپ کے Ubuntu 20.04 سرور پر۔ اگر آپ 'اوپن ایس ایس ایچ' پروفائل کی اجازت دیے بغیر UFW کو فعال کرتے ہیں تو آپ SSH کا استعمال کرتے ہوئے اپنے سرور سے منسلک نہیں ہو پائیں گے۔

UFW اصول کو تبدیل کرنے اور پورٹ پر ٹریفک کی اجازت دینے کے لیے 80 اور 22، رن:

sudo ufw 'Apache Full' کی اجازت دیتا ہے sudo ufw 'OpenSSH' کی اجازت دیتا ہے

پھر درج ذیل کمانڈ کا استعمال کرتے ہوئے UFW فائر وال کو فعال کریں:

sudo ufw کو فعال کریں۔

آپ کو یہ کہتے ہوئے ایک اشارہ مل سکتا ہے کہ "کمانڈ موجودہ ssh کنیکشن میں خلل ڈال سکتی ہے۔ کارروائیوں کے ساتھ آگے بڑھیں (y|n)؟"۔ دبائیں Y جاری رکھنے کے لیے جیسا کہ ہم پہلے ہی UFW میں SSH کی اجازت دینے کے لیے ایک اصول شامل کر چکے ہیں۔

اب آپ انٹرنیٹ سے اپنے اوبنٹو سرور کے آئی پی ایڈریس کا استعمال کرتے ہوئے اپاچی ڈیفالٹ ویب پیج تک رسائی حاصل کر سکتے ہیں۔ ایسا کرنے کے لیے اپنا براؤزر کھولیں اور URL بار میں اپنے Ubuntu 20.04 سرور کا IP ایڈریس ٹائپ کریں اور انٹر کو دبائیں۔

//Your_ubuntu_server_ip

یہ صفحہ اس بات کی تصدیق کرتا ہے کہ اپاچی ویب سرور صحیح طریقے سے چل رہا ہے اور UFW کے اصول درست طریقے سے ترتیب دیے گئے ہیں۔

Laravel کے لیے MySQL ڈیٹا بیس ترتیب دینا

Laravel 7 ڈیٹابیس کے ساتھ بات چیت کو بہت آسان بناتا ہے مختلف ڈیٹا بیس بیک اینڈس میں جو اس کی حمایت کرتا ہے جیسے کہ MySQL ورژن 5.6+، PostgreSQL 9.4+، SQLite 3.8.8+ اور SQL Server 2017+۔ ہمارے پاس پہلے سے ہی جدید ترین MySQL پیکیج انسٹال ہے۔ چراغ توڑ ^ کام لہذا اس سیکشن میں، ہم MySQL سرور کو کنفیگر کریں گے اور پھر دیکھیں گے کہ Laravel ایپلیکیشن کے لیے ایک نیا MySQL صارف اور ڈیٹا بیس کیسے ترتیب دیا جائے۔

MySQL کو ترتیب دیں۔

MySQL ڈیٹابیس پہلے سے نصب سیکیورٹی اسکرپٹ کے ساتھ آتا ہے جسے کچھ غیر محفوظ ڈیفالٹ سیٹنگز کو ہٹانے کے لیے استعمال کیا جا سکتا ہے۔ یہ تجویز کیا جاتا ہے کہ آپ اپنے Laravel ایپلیکیشن کو تعینات کرنے سے پہلے اس اسکرپٹ کو چلائیں۔

sudo mysql_secure_installation

مندرجہ بالا کمانڈ سیکیورٹی اسکرپٹ پر عمل درآمد کرے گا جو آپ کو MySQL سرور کو ترتیب دینے کے لیے سوالات کی ایک سیریز کا اشارہ کرے گا۔

سب سے پہلے، آپ سے پوچھا جائے گا کہ کیا آپ سیٹ اپ کرنا چاہتے ہیں۔ پاس ورڈ کی تصدیق کریں۔ رابطہ بحال کرو. یہ پلگ ان آپ کے پاس ورڈ کو چیک کرتا ہے اور پاس ورڈ کی توثیق کی پالیسی کی سطح کی بنیاد پر اسے محفوظ یا غیر محفوظ کے طور پر درجہ بندی کرتا ہے جسے آپ جلد ہی منتخب کریں گے۔ تو دبائیں Y اگر آپ اس پلگ ان کو فعال کرنا چاہتے ہیں۔

آؤٹ پٹ: MySQL سرور کی تعیناتی کو محفوظ بنانا۔ خالی پاس ورڈ کا استعمال کرتے ہوئے MySQL سے جڑنا۔ پاس ورڈ کی توثیق کرنے والے اجزاء کو پاس ورڈ کی جانچ کرنے اور سیکیورٹی کو بہتر بنانے کے لیے استعمال کیا جا سکتا ہے۔ یہ پاس ورڈ کی طاقت کو چیک کرتا ہے اور صارفین کو صرف وہی پاس ورڈ سیٹ کرنے دیتا ہے جو کافی محفوظ ہیں۔ کیا آپ VALIDATE PASSWORD جزو سیٹ اپ کرنا چاہیں گے؟ ہاں کے لیے Y|Y دبائیں، No کے لیے کوئی دوسری کلید: Y

پھر یا تو درج کرکے پاس ورڈ کی توثیق کی پالیسی کی سطح کو سیٹ کریں۔ 0, 1 یا 2 اس بات پر منحصر ہے کہ آپ اپنے ڈیٹا بیس کے لیے اپنا پاس ورڈ کتنا مضبوط بنانا چاہتے ہیں۔

آؤٹ پٹ: پاس ورڈ کی توثیق کی پالیسی کے تین درجے ہیں: کم لمبائی >= 8 درمیانی لمبائی >= 8، عددی، مخلوط کیس، اور خصوصی حروف مضبوط لمبائی >= 8، عددی، مخلوط صورت، خصوصی حروف اور لغت فائل برائے مہربانی 0 = LOW درج کریں، 1 = درمیانہ اور 2 = مضبوط: 2

اگلا، آپ سے MySQL روٹ صارف کے لیے ایک نیا پاس ورڈ درج کرنے کو کہا جائے گا۔ اپنے MySQL روٹ کے لیے موزوں پاس ورڈ درج کریں۔ VALIDATE PASSWORD پلگ ان آپ کو آپ کے پاس ورڈ کی توثیق کی سطح کے مطابق آپ کے پاس ورڈ کی تخمینی طاقت فراہم کرے گا۔ دبائیں Y آپ کے فراہم کردہ پاس ورڈ کے ساتھ جاری رکھنے کے لیے۔

آؤٹ پٹ: براہ کرم یہاں روٹ کے لیے پاس ورڈ سیٹ کریں۔ نیا پاس ورڈ: نیا پاس ورڈ دوبارہ درج کریں: پاس ورڈ کی متوقع طاقت: 100 کیا آپ فراہم کردہ پاس ورڈ کے ساتھ جاری رکھنا چاہتے ہیں؟ Y

دبائیں Y باقی اشارے کے لیے، وہ کچھ گمنام صارفین اور ٹیسٹ ڈیٹا بیس کو ہٹا دیں گے، ریموٹ روٹ لاگ ان کو غیر فعال کر دیں گے اور MySQL سرور کے لیے نئی ترتیبات کو دوبارہ لوڈ کر دیں گے۔ جب آپ کام ختم کر لیں، تو چلا کر اپنے ڈیٹا بیس کی جانچ کریں:

sudo mysql

مندرجہ بالا کمانڈ MySQL کنسول کو کھولے گی، جو MySQL ڈیٹا بیس سے منسلک ہو گی۔ جڑ صارف آپ کو ایک آؤٹ پٹ نظر آئے گا جیسے:

آؤٹ پٹ: MySQL مانیٹر میں خوش آمدید۔ کمانڈز کے ساتھ ختم ہوتے ہیں؛ یا \g آپ کا MySQL کنکشن id 10 سرور ورژن ہے: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) کاپی رائٹ (c) 2000، 2020، Oracle اور/یا اس سے وابستہ افراد۔ جملہ حقوق محفوظ ہیں. Oracle Oracle Corporation اور/یا اس کے ملحقہ اداروں کا رجسٹرڈ ٹریڈ مارک ہے۔ دوسرے نام ان کے متعلقہ مالکان کے ٹریڈ مارک ہو سکتے ہیں۔ 'مدد؛' ٹائپ کریں یا '\h' مدد کے لیے۔ موجودہ ان پٹ اسٹیٹمنٹ کو صاف کرنے کے لیے '\c' ٹائپ کریں۔ mysql>

آپ نے محسوس کیا ہوگا کہ آپ کو وہ پاس ورڈ درج کرنے کی ضرورت نہیں ہے جو آپ نے MySQL روٹ صارف کے لیے سیٹ کیا ہے۔ اس کی وجہ یہ ہے کہ انتظامی MySQL روٹ صارف کے لیے پہلے سے طے شدہ توثیق کا طریقہ ہے۔ caching_sha2_authentication کے بجائے mysql_native_password طریقہ جو لاگ ان کرنے کے لیے پاس ورڈ استعمال کرتا ہے۔

لہذا بطور ڈیفالٹ، آپ صرف MySQL روٹ صارف کے ساتھ لاگ ان کر سکتے ہیں۔ sudo فعال صارفین جو MySQL سرور کے لیے اضافی سیکیورٹی کے طور پر کام کرتے ہیں۔ لیکن MySQL PHP لائبریری سپورٹ نہیں کرتی caching_sha2_authentication طریقہ لہذا ہمیں استعمال کرنے کی ضرورت ہے۔ mysql_native_password طریقہ جب ہم Laravel کے لیے ایک نیا صارف بناتے ہیں کیونکہ یہ ڈیٹا بیس کے ساتھ مربوط اور تعامل کے لیے پاس ورڈ استعمال کرتا ہے۔

ایک نیا MySQL صارف اور ڈیٹا بیس بنائیں

MySQL روٹ یوزر اور ٹیسٹ ڈیٹا بیس استعمال کرنے کے بجائے خاص طور پر اپنی ایپلیکیشن کے لیے ایک نیا صارف اور ڈیٹا بیس بنانا ہمیشہ ایک اچھا عمل ہے۔ لہذا ہم ایک نیا MySQL صارف قائم کرنے جا رہے ہیں جسے کہتے ہیں۔ laravel_user اور ایک ڈیٹا بیس کہا جاتا ہے۔ لارویل. اگر آپ نے اس مقام تک ٹیوٹوریل کی پیروی کی ہے، تو آپ کے پاس MySQL کنسول کھلا ہونا چاہیے۔ بلایا صارف بنانے کے لئے laravel_user MySQL کنسول میں درج ذیل استفسار کو چلائیں:

نوٹ: کو تبدیل کریں۔ ٹیسٹ پاس مضبوط پاس ورڈ کے ساتھ نیچے دی گئی MySQL استفسار میں۔

صارف 'laravel_user'@'%' کی شناخت mysql_native_password سے 'testpass' کے ذریعے کریں؛

اگلا، نامی ایک ڈیٹا بیس بنائیں لارویل اس استفسار کو چلا کر ہماری Laravel ایپلیکیشن کے لیے:

ڈیٹا بیس لارویل بنائیں؛

صرف MySQL روٹ صارف کو نئے بنائے گئے ڈیٹا بیس لاریول کی اجازت ہے۔ پر تمام اجازتیں دیں۔ لارویل کو ڈیٹا بیس laravel_user چلانے سے:

لاریول پر سب کو گرانٹ کریں۔* 'laravel_user'@'%' کو؛

لہذا، اب ہمارے پاس ایک نیا MySQL صارف اور ایک ڈیٹا بیس ہے، چل کر MySQL کنسول سے باہر نکلیں:

باہر نکلیں؛

اپنے نئے MySQL صارف کو MySQL کنسول میں لاگ ان کر کے ٹیسٹ کریں، ایسا کرنے کے لیے اس کمانڈ کو ٹرمینل میں چلائیں:

mysql -u laravel_user -p

نوٹس -p کمانڈ میں جھنڈا لگائیں، یہ آپ کو اس پاس ورڈ کا اشارہ کرے گا جو آپ نے بناتے وقت استعمال کیا تھا۔ laravel_user (ٹیسٹ پاس استفسار میں)۔ آپ کے MySQL کنسول میں لاگ ان ہونے کے بعد laravel_user، تصدیق کریں کہ صارف کو تک رسائی حاصل ہے۔ لارویل چلا کر ڈیٹا بیس:

ڈیٹا بیس دکھائیں؛
آؤٹ پٹ: +----------------------+ | ڈیٹا بیس | +----------------------+ | laravel | | معلومات_سکیمہ | +----------------------+ سیٹ میں 2 قطاریں (0.01 سیکنڈ)

مندرجہ بالا آؤٹ پٹ اس بات کی تصدیق کرتا ہے کہ MySQL صارف laravel_user ڈیٹا بیس کی اجازت ہے۔ لارویل. کا استعمال کرتے ہوئے MySQL کنسول سے باہر نکلیں۔ باہر نکلیں؛ استفسار کریں تاکہ ہم DemoApp Laravel ایپلیکیشن بنانے کے لیے آگے بڑھ سکیں۔

Laravel انسٹال کرنا

Laravel فریم ورک کمپوزر کو اس کے انحصار کو ڈاؤن لوڈ اور ان کا انتظام کرنے کے لیے استعمال کرتا ہے۔ لہذا، ہمیں اپنی Ubuntu 20.04 مشین پر کمپوزر انسٹال کرنے کی ضرورت ہے اس سے پہلے کہ ہم Laravel ایپلیکیشن بنا سکیں۔

کمپوزر انسٹال کریں۔

کمپوزر پی ایچ پی کے لیے انحصار مینیجر ٹول ہے، جو پی ایچ پی کے فریم ورک اور لائبریریوں کو انسٹال اور اپ ڈیٹ کرنا بہت آسان بناتا ہے۔ ہم اس ٹیوٹوریل میں کمپوزر کو تیزی سے انسٹال کرنے کا طریقہ دیکھنے جا رہے ہیں تاکہ ہم اسے Laravel فریم ورک کو ڈاؤن لوڈ اور منظم کرنے کے لیے استعمال کر سکیں۔

آپ کو کچھ اضافی پیکیجز انسٹال کرنے کی ضرورت ہے جو کمپوزر کو کام کرنے کے لیے درکار ہیں جیسے php-cli ٹرمینل میں پی ایچ پی اسکرپٹ چلانے کے لیے اور ان زپ کمپوزر کو پیکجز نکالنے میں مدد کرنے کے لیے۔ ان دونوں کو چلا کر انسٹال کریں:

sudo apt php-cli unzip انسٹال کریں۔

پھر عالمی سطح پر کمپوزر کو انسٹال کرنے کے لیے، کمپوزر انسٹالیشن اسکرپٹ اس کے ساتھ ڈاؤن لوڈ کریں۔ curl اور درج ذیل کمانڈ کا استعمال کرتے ہوئے اسے انسٹال کریں:

curl -sS //getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

آخر میں، تصدیق کریں کہ کمپوزر چلا کر صحیح طریقے سے انسٹال ہوا ہے:

کمپوزر
 ______/ ____/___ ____ ____ ____ ________ _____ //__ \/ __ `__ \/ __ \/ ___/ _ ___/ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ کمپوزر ورژن 1.10.8 2020-06- 24 21:23:30 استعمال: کمانڈ [اختیارات] [دلائل]

یہ آؤٹ پٹ اس بات کی تصدیق کرتا ہے کہ کمپوزر آپ کے Ubuntu 20.04 سرور پر صحیح طریقے سے کام کر رہا ہے، آپ اسے PHP فریم ورک اور لائبریریوں کو انسٹال کرنے اور ان کا نظم کرنے کے لیے استعمال کرنا شروع کر سکتے ہیں۔

Laravel ایپلی کیشن بنائیں

ہمارے پاس اپنے Ubuntu 20.04 سرور پر Laravel ایپلی کیشن بنانے کے لیے درکار ہر چیز موجود ہے سوائے چند PHP ایکسٹینشنز کے۔ درج ذیل کمانڈ کا استعمال کرتے ہوئے ان گمشدہ ایکسٹینشنز کو انسٹال کریں:

sudo apt php-mbstring php-xml php-bcmath php-zip php-json انسٹال کریں

اب، ہم Laravel کو انسٹال کر سکتے ہیں اور کمپوزر کی مدد سے ایک نئی Laravel ایپلیکیشن بنا سکتے ہیں۔ سب سے پہلے، یقینی بنائیں کہ آپ اپنے صارف کی ہوم ڈائریکٹری میں ہیں:

cd ~

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

کمپوزر تخلیق پروجیکٹ --prefer-dist laravel/laravel LaravelApp

مندرجہ بالا کمانڈ ایک نیا پروجیکٹ بنائے گی جسے LaravelApp کہا جاتا ہے اور یہ آپ کے لیے Laravel فریم ورک کو انسٹال اور کنفیگر بھی کرے گا۔ آپ کو اس سے ملتا جلتا ایک آؤٹ پٹ نظر آئے گا:

آؤٹ پٹ: "./LaravelApp" پر "laravel/laravel" پروجیکٹ بنانا laravel/laravel (v7.12.0) انسٹال کرنا laravel/laravel (v7.12.0) انسٹال کرنا: ڈاؤن لوڈ کرنا (100%) /home/ath/LaravelApp @php میں پروجیکٹ بنایا گیا - r "file_exists('.env') || copy('.env.example', '.env');" پیکیج کی معلومات کے ساتھ کمپوزر ریپوزٹریز کو لوڈ کیا جا رہا ہے انحصار کو اپ ڈیٹ کرنا (بشمول ضرورت-ڈیو) پیکیج آپریشنز: 97 انسٹالز، 0 اپڈیٹس، 0 ریموولز ووکو/پورٹ ایبل-ایسکی آئی انسٹال کرنا (1.5.2): ڈاؤن لوڈ کرنا (100%) symfony/polyfill-ctype (v1) انسٹال کرنا .17.1): ڈاؤن لوڈ کرنا (100%) phpoption/phpoption انسٹال کرنا (1.7.4): ڈاؤن لوڈ کرنا (100%) vlucas/phpdotenv (v4.1.7) انسٹال کرنا: ڈاؤن لوڈ کرنا (100%) symfony/css-selector (v5.1.2) کو انسٹال کرنا : ڈاؤن لوڈ ہو رہا ہے (100%)....

جب انسٹالیشن مکمل ہو جائے تو ایپلیکیشن کی روٹ ڈائرکٹری پر جائیں اور پھر Laravel's کو چلائیں۔ کاریگر اس بات کی تصدیق کرنے کے لیے کمانڈ کہ تمام اجزاء صحیح طریقے سے انسٹال ہیں:

سی ڈی لاراویل ایپ / پی ایچ پی کاریگر
آؤٹ پٹ: لاریول فریم ورک 7.18.0 استعمال: کمانڈ [اختیارات] [دلائل] اختیارات: -h، --help اس مدد کے پیغام کو ڈسپلے کریں -q، --quiet کوئی پیغام آؤٹ پٹ نہ کریں -V، --version اس ایپلیکیشن ورژن کو ڈسپلے کریں --ansi ANSI آؤٹ پٹ پر مجبور کریں --no-ansi ANSI آؤٹ پٹ کو غیر فعال کریں -n، --no-interact کوئی انٹرایکٹو سوال نہ پوچھیں --env[=ENV] وہ ماحول جس کے تحت کمانڈ کو چلنا چاہئے -v|vv|vvv, --verbose اضافہ پیغامات کی وربوسٹی: 1 نارمل آؤٹ پٹ کے لیے، 2 زیادہ وربوز آؤٹ پٹ کے لیے اور 3 ڈیبگ کے لیے....

یہ آؤٹ پٹ اس بات کی تصدیق کرتا ہے کہ انسٹالیشن کامیاب تھی اور تمام فائلیں اپنی جگہ پر ہیں اور Laravel کمانڈ لائن ٹولز صحیح طریقے سے کام کر رہے ہیں۔ تاہم، ہمیں اب بھی ڈیٹا بیس اور چند دیگر ترتیبات کو ترتیب دینے کے لیے ایپلیکیشن کو کنفیگر کرنے کی ضرورت ہے۔

Laravel ایپلیکیشن کو ترتیب دیں۔

Laravel کنفیگریشن فائلیں ایک ڈائرکٹری میں واقع ہیں جسے کہا جاتا ہے۔ تشکیل ایپلی کیشن کی روٹ ڈائرکٹری کے اندر۔ مزید برآں، جب ہم نے Laravel کو کمپوزر کے ذریعے انسٹال کیا، تو اس نے ایپلی کیشن کی روٹ ڈائرکٹری میں '.env' نامی ایک ماحولیاتی فائل بنائی۔ ماحولیات کی فائل میں ماحولیات سے متعلق مخصوص کنفیگریشنز شامل ہیں اور یہ کنفیگریشن ڈائرکٹری کے اندر موجود ریگولر کنفیگریشن فائلوں کی سیٹنگز پر فوقیت لیتی ہے۔

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

اب ہم ترمیم کریں گے۔ env فائل کی ترتیب کو تبدیل کریں اور اس میں ڈیٹا بیس کی اسناد شامل کریں۔ چل کر نینو ایڈیٹر کا استعمال کرتے ہوئے فائل کھولیں:

nano .env

اس میں بہت سے کنفیگریشن متغیرات ہیں۔ env فائل ہمیں ان میں سے ہر ایک کو تبدیل کرنے کی ضرورت نہیں ہے، کیونکہ کمپوزر نے زیادہ تر ترتیبات خود بخود ترتیب دی ہیں۔ لہذا، یہاں کچھ بنیادی کنفیگریشن متغیرات کی فہرست ہے جن کے بارے میں آپ کو معلوم ہونا چاہیے:

  • APP_NAME: نوٹیفکیشن اور پیغامات کے لیے استعمال ہونے والا ایپلیکیشن کا نام، لہذا ہم اسے 'LaravelApp' پر سیٹ کرنے جا رہے ہیں۔
  • APP_ENV: یہ متغیر موجودہ ایپلیکیشن ماحول کی نشاندہی کرنے کے لیے استعمال ہوتا ہے۔ اسے مقامی، ترقی، جانچ یا پیداواری ماحول پر سیٹ کیا جا سکتا ہے۔ ہم اسے ابھی کے لیے ترقیاتی ماحول کے لیے ترتیب دینے جا رہے ہیں۔
  • APP_KEY: ویب ایپ کے لیے نمکیات اور ہیش بنانے کے لیے استعمال ہونے والی منفرد ایپلیکیشن کلید۔ جب آپ کمپوزر کے ذریعے Laravel انسٹال کرتے ہیں تو یہ خود بخود تیار ہوجاتا ہے، لہذا اسے تبدیل کرنے کی ضرورت نہیں ہے۔
  • APP_DEBUG: اسے درست یا غلط پر سیٹ کیا جا سکتا ہے، اس بات پر منحصر ہے کہ آیا آپ کلائنٹ کی طرف غلطیوں کو ظاہر کرنا چاہتے ہیں۔ جب آپ پیداواری ماحول میں جاتے ہیں تو اسے غلط پر سیٹ کریں۔
  • APP_URL: ایپلیکیشن کے لیے بنیادی URL یا IP، اگر آپ کے پاس اپنے Laravel ایپ کے لیے ہے تو اسے اپنے ڈومین نام میں تبدیل کریں ورنہ اسے ابھی کے لیے اچھوت رکھیں۔
  • DB_DATABASE: اس ڈیٹا بیس کا نام جسے آپ Laravel ایپلیکیشن کے ساتھ استعمال کرنا چاہتے ہیں۔ ہم MySQL ڈیٹابیس 'laravel' استعمال کرنے جا رہے ہیں جو ہم نے MySQL کو کنفیگر کرتے وقت بنایا تھا۔
  • DB_USERNAME: ڈیٹا بیس سے جڑنے کے لیے صارف کا نام۔ ہم اپنا بنایا ہوا MySQL صارف 'laravel_user' استعمال کرنے جا رہے ہیں۔
  • DB_PASSWORD: ڈیٹا بیس سے جڑنے کے لیے پاس ورڈ۔
 APP_NAME= LaravelApp APP_ENV= ترقی APP_KEY= base64:Application_unique_key APP_DEBUG=true APP_URL= //domain_or_IP LOG_CHANNEL=اسٹیک DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME= laravel_user DB_PASSWORD= ٹیسٹ پاس

میں تبدیلیاں کریں۔ env اس کے مطابق فائل کریں اور جب آپ ایڈیٹنگ کر لیں تو محفوظ کریں اور فائل کو استعمال کرکے باہر نکلیں۔ CTRL+X پھر دبائیں Y اور تصدیق کے لیے انٹر کو دبائیں۔ اب، صرف اپاچی سرور کو کنفیگر کرنا اور ہماری لاریول ایپلیکیشن کے لیے ایک ورچوئل ہوسٹ بنانا باقی ہے۔

اپاچی ویب سرور ترتیب دینا

ہم نے Laravel کو صارف کی ہوم ڈائریکٹری کے مقامی فولڈر میں انسٹال کیا ہے۔ اگرچہ یہ مقامی ترقی کے لیے بالکل ٹھیک کام کرتا ہے، لیکن اس میں ویب ایپلیکیشن ڈائرکٹری موجود رکھنے کی مشق کی سفارش کی جاتی ہے۔ /var/www. ہم نے لاریول کو انسٹال نہ کرنے کی وجہ /var/www براہ راست ہے کیونکہ یہ جڑ کی ملکیت ہے اور کمپوزر کے ساتھ استعمال نہیں کیا جانا چاہئے۔ sudo.

تو استعمال کریں mv Laravel ایپلیکیشن فولڈر اور اس کے مواد کو اس میں منتقل کرنے کا حکم /var/www:

sudo mv ~/Laravel/ /var/www

LaravelApp ڈائرکٹری صارف کی ملکیت ہے، لہذا آپ اب بھی فائلوں میں ترمیم اور تبدیلیاں کر سکتے ہیں sudo کمانڈ. لیکن اپاچی ویب سرور کو ایپلی کیشن کے کیشے اور اسٹوریج ڈائریکٹریز تک رسائی کی ضرورت ہوتی ہے کیونکہ Laravel اس میں ایپلی کیشن سے تیار کردہ فائلوں کو اسٹور کرتا ہے۔ ان فولڈرز کے مالک کو میں تبدیل کریں۔ www-ڈیٹا استعمال کرنے والے صارف chown کمانڈ:

sudo chown -R www-data.www-data /var/www/LaravelApp/storage sudo chown -R www-data.www-data /var/www/LaravelApp/bootstrap/cache

ان ڈائریکٹریوں کے مالک کو تبدیل کرنے کے بعد، اپاچی کو فعال کریں۔ mod_rewrite جیسا کہ لاراویل کے ذریعہ اس کے روٹنگ فنکشن کے ذریعہ یو آر ایل کو صحیح طریقے سے تبدیل کرنے کی ضرورت ہے۔ .htaccess فائل

sudo a2enmod دوبارہ لکھنا

اگلا، ہمیں لاراول ایپلیکیشن کے لیے ایک ورچوئل ہوسٹ ترتیب دینے کی ضرورت ہے۔ ورچوئل ہوسٹ کنفیگرز پر واقع ہیں۔ /etc/apache2/sites-دستیاب. ہم Laravel ایپلیکیشن کو تعینات کرنے کے لیے پہلے سے طے شدہ ورچوئل ہوسٹ فائل میں ترمیم کرنے جا رہے ہیں۔ نینو ایڈیٹر کا استعمال کرتے ہوئے ڈیفالٹ ورچوئل ہوسٹ کنفیگریشن فائل کھولیں:

sudo nano /etc/apache2/sites-available/000-default.conf

سے دستاویز کی جڑ کو تبدیل کریں۔ /var/www/html کو /var/www/LaravelApp/public اور DocumentRoot لائن کے نیچے درج ذیل ٹکڑا شامل کریں:

 تمام کو اوور رائیڈ کی اجازت دیں۔ 

آپ کا 000-default.conf کچھ تبصروں کے ساتھ اب کچھ اس طرح نظر آنا چاہئے۔

 ServerAdmin webmaster@localhost DocumentRoot /var/www/LaravelApp/public AllowOverride All ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log مشترکہ 

درج ذیل کمانڈ کو چلا کر اپاچی ویب سرور کو دوبارہ شروع کریں:

sudo systemctl دوبارہ شروع کریں apache2

اب اپنے براؤزر پر جائیں اور اپنے Ubuntu 20.04 سرور کا IP ایڈریس ٹائپ کریں۔ آپ کو ڈیفالٹ اپاچی ویلکم پیج کے بجائے Laravel کا آغاز صفحہ نظر آئے گا۔

یہ فرض کرتے ہوئے کہ آپ نے اب تک اس گائیڈ پر عمل کیا ہے، آپ کے پاس MySQL ڈیٹا بیس کے ساتھ کام کرنے والی Laravel ایپلی کیشن ہونی چاہیے لارویل اس کے لئے. اس مقام سے، آپ اپنے طور پر اپنی Laravel ایپلیکیشن تیار کرنا شروع کر سکتے ہیں۔ Laravel کے فریم ورک اور اس کے استعمال کے بارے میں مزید جاننے کے لیے Laravel docs صفحہ دیکھیں۔