الإنتقال للتصميم الجديد

طريقة تثبيت أكثر من مشروع لارافيل على فاغرانت واحد

من مجتمع دورة برمجة الويب باستخدام لارافيل Laravel

مرحبًا

راح أشرح طريقة تثبيت أكثر من مشروع لارافيل على فاغرانت واحد بدون الحاجة إلى تثبيت فاغرانت آخر، لنبدأ الخطوات :

تنويه : الطريقة المشروحة هي على خادم الويب apache2 و ليس nginx .

الخطوة الأولى : وضع آي بي ip ثاني بملف Vagrantfile :

طبعًا راح نضع آي بي ip ثاني بملف Vagrantfile عشان نربطه بالمشروع الثاني، طبعًا قبل التعديل بيكون شكل الملف كذا :

4ERaxAHU4QM1jqebgP2y8rrVwWymuV3Pdzxg7iON.png

الآن راح نضيف آي بي ip بنفس طريقة آي بي الأول و لنفترض إننا أخترنا هالآي بي  :

174.3.1.71

راح نضيف هالسطر :

config.vm.network "private_network", ip: "174.3.1.71"

 و نسوي حفظ للملف، شكل النهائي للملف :

FVgo4vi7VnUA80WhwRENHfwnYekx0zmquUZWzm8i.png

و بعدها نسوي reload للفاغرانت إذا هو شغال و إذا مو شغال نسوي له up .

 

الخطوة الثانية : تثبيت مشروع لارافيل ثاني :

تنشئ مشروع لارافيل بملف /vagrant ، و يكون بجانب مشروع الأول، طريقة التثبيت ما تختلف عن اللي بالدورة.

 

الخطوة الثالثة : إنشاء إختصارات لمشاريع لارفيل الموجودة بالفاغرانت :

الآن راح نعيد إنشاء  إختصار لمشروع لارافيل الأول و نسوي إختصار لمشروعنا الأول و راح يكون مربوط بهالمسار :

/var/www/

و ليكن مشروع الأول أسمه blog و مشروع الثاني اسمه market راح يكون الأمرين كذا :

sudo ln -s /vagrant/blog/public/ /var/www/blog
sudo ln -s /vagrant/market/public/ /var/www/market

الآن تم إنشاء الإختصارات، ننتقل للخطوة التالية .

 

الخطوة الرابعة : إنشاء ملف virtual host لكل مشروع لارافيل :

أول شيء نسويه ننتقل للمسار التالي عن طريق cd  :

cd /etc/apache2/sites-available/

نسوي نسخة جديدة من ملف التالي :

000-default.conf

كل نسخة نسويها راح نسميها باسم المشروع و الأمر بسيط و هو :

sudo cp 000-default.conf blog.conf
sudo cp 000-default.conf market.conf

الآن نفتح ملف blog.conf عن طريق محر النصوص nano بموجه الأوامر أو تيرمنال بصلاحيات sudo :

sudo nano blog.conf

بيكون شكل الملف كالتالي :

PmN89H49xYfAxakUcr9IWhx85LbHiSkDX6823Kpg.png

مثل ما تلاحظون السطر التالي :

VirtualHost *:80

راح نبدل النجمة * بالآيبي ip الأول و بيكون السطر بعد التعديل كالآتي :

VirtualHost 172.16.2.71:80

نروح لسطر DocumentRoot و نمسح المسار الموجود و نستبدله بمسار الإختصار لمشروعنا blog، بيكون كالتالي :

DocumentRoot /var/www/blog

الآن نسوي حفظ عن طريق كنترول + اكس ثم نضغط زر y ثم أنتر، و نسوي نفس الطريقة مع ملف مشروعنا الثاني و هو market.conf، و لكن نحط الآي بي الثاني و مسار مشروعنا الجديد و هو market .

ملف blog.conf بعد التعديل :

cTekpF6fK55QUiALYrWxKwOuBuqiejFQQxTujw4L.png

ملف market.conf بعد التعديل :

yvK5hV2rmmxbiThUV45feaaMmKL0FuB1zFPl7EvG.png

 

الخطوة الخامسة و الأخيرة : تفعيل virtualhost لمشاريعنا و إلغاء الإفتراضي :

فقط نطبق هالأوامر :

sudo a2ensite blog.conf
sudo a2ensite market.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2

و الآن مبروك عليك تثبيت مشروع ثاني على نفس vagrant و تشغيله بدون أية مشاكل.

ملاحظة 1 : إذا كنت مسوي الطريقة ما تحتاج تعيد كل الخطوات بحذافيرها إذا جيت تركب مشروع ثالث، فقط تضيف آي بي بملف Vagrantfile و تسوي ملف virtualhost جديد لمشروعك و تضيفه له و تعيد تشغيل apache2 .

ملاحظة 2 : الطريقة ليست محدودة بمشروعين فقط، ممكن تركب ثلاث مشاريع و أكثر .

الردود
تظهر النقاشات للطلاب المشتركين فقط