راه اندازی فریموورک لاراول با استفاده از Homestead

در پست قبلی نحوه نصب و راه اندازی فریموورک لاراول رو از طریق نصب Composer و اجرای اون روی نرم افزار های شبیه ساز سرور مثل Wamp Server و Xampp و Mamp و … دیدیم. در این پست آموزش راه اندازی فریموورک لاراول رو بوسیلهHomestead یاد میگیریم. قبل از ادامه خوندن این پست، مطمئن بشین که Composer روی سیستمتون نصب هست.

آموزش نصب composer رو میتونین از اینجا بخونید.

برای کاربرانی که از ویندوز استفاده می کنن پیشنهاد میکنم که Git Bash رو نصب کنن. Git Bash یه Command Line هست که به ما اجازه میده دستورات Unix رو اجرا کنیم.

Laravel Homestead

خب برای شروع یه توضیح بدم که Laravel Homestead چیه. Laravel Homestead یک pre-package از Vagrant Box هست که محیط توسعه ای در اختیار ما میگذاره که احتیاجی به نصب PHP، وب سرور یا هر نوع نرم افزار مربوط به سرور روی سیستممون نداریم. Vagrant به عنوان یک Virtual Machine کار میکنه که درون اون پکیجی از نرم افزار های مورد نیاز قرار داره. لیستی از نرم افزار ها که در این پکیج قرار داره:

  • Ubuntu 16.04
  • Git
  • PHP 7.0
  • Nginx
  • MySQL
  • MariaDB
  • SQlite3
  • Postgres
  • Composer
  • Node (PM2, Bower, Grunt and Gulp)
  • Redis
  • Memcached
  • Beanstalkd

Vagrant Box رو میتونین از اینجا دانلود کنید.

قبل از اجرای Homestead نیاز داریم که حتما VirtualBox یا VMWare نصب کنیم.

بعد از نصب Virtual Box/VMWare و Vagrant، باید پکیچ Laravel/Homestead رو به Vagrant Box اضافه کنیم. اول واردhome directory میشیم و این دستور رو اجرا میکنیم.

vagrant box add laravel/homestead

توجه داشته باشید که این پکیج حجم بالایی داره (در حدود ۱ GB) و ممکنه با توجه به سرعت اینترنت شما، زمان زیادی طول بکشه.

بعد از تموم شدن مراحل نصب، ما Vagrant و VirtualBox/VMWare رو روی سیستممون داریم. حالا کاری که باید بکنیم اینه که یه دایرکتوری جدید برای Homestead ایجاد کنیم. برای مثال من در home directory، دایرکتوری جدیدی با نام www ایجاد کردم و بعد از وارد شدن به این دایرکتوری، دستور پایین رو برای نصب Homestead اجرا میکنیم

git clone https://github.com/laravel/homestead.git Homestead

همچنین درون دایرکتوری www یک دایرکتوری جدید مثلا با نام sites ایجاد میکنیم که تمام سایت هایی که ایجاد میکنیم در اینجا قرار داره. بعد از اینکه دستور بالا رو اجرا کردیم، در دایرکتوری Homestead، این دستور رو اجرا میکنیم

bash init.sh

با اجرای این دستور، دایرکتوری جدیدی با نام homestead. در home directory سیستمتون ساخته میشه. درون این دایرکتوری، فایلی به نام Homestead.yaml وجود داره که باید اونو ادیت کنیم. برای باز کردن چنین فایلایی در Command Line چندین راه وجود داره، یکی از راه های مرسوم استفاده از دستور nano هست. روش بهتر و کاربردی تر باز کردن فایل در کد ادیتور هست. مثلا برای باز کردن فایل بوسیله کد ادیتور Sublime Text، با استفاده از دستور پایین میتونین دستور sublime رو به Command Line سیستمتون اضافه کنید

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

حالا میتونیم با استفاده از این دستور، فایل Homestead.yaml رو درون Sublime Text باز کنیم (قبل از اجرای دستور وارد دایرکتوری homestead. بشید)

sublime Homestead.yaml

بعد از باز کردن فایل، قسمت folders و sites رو مثل عکس پایین تغییر میدیم

در صورتی که SSh Key ایجاد نکردید، از طریق این دستور میتونید این کار رو انجام بدید

ssh-keygen -t rsa -C "you@homestead"

هنگامی که SSH Key ایجاد شد. آدرس کلید رو در قسمت authorize قرار بدید.

توجه کنید که در قسمت folders حتما دایرکتوری پایین map و to یکسان باشن و همچنین در قسمت sites درmap آدرس url که برای پروژمون استفاده کنیم رو مینویسیم و در to آدرس root پروژه

بعد از ذخیره کردن فایل، وارد دایرکتوری Homestead در www میشیم و این دستور رو اجرا میکنیم و منتظر مشیشم تاVagrant Box اجرا بشه

vagrant up

همونطور که در قسمت Forwarding Ports میبینیم، بعد از اجرای Vagrant پورت ها تغییر کردن:

  • HTTP: 80 => 8000
  • HTTPS: 443 => 44300
  • MySQL: 3306 => 33060
  • PostgresSQL: 5432 => 54320
  • SSH/SFTP: 22 => 2222

خب حالا باید laravel.dev رو که توی Homestead.yaml اضافه کردیم به ip address به اصطلاح map کنیم. برای اینکار در ترمینال وارد home directory میشیم و این دستور رو اجرا میکنیم

sudo vi /etc/hosts/

دستور vi هم مثل nano برای باز کردن این نوع فایل ها از طریق command line هست.

همونطور که در تصویر بالا میبینیم laravel.dev رو به ip 127.0.0.1، map میکنیم.

برای ذخیره کردن فایلی که با دستور vi باز میکنیم، کلید Esc میزنیم و wq: رو تایپ و اینتر میکنیم.

بعد از اینکه ip رو به پروژمون map کردیم، وارد مسیر /www/Homestead/ میشیم و این دستور رو اجرا میکنیم

vagrant provision

خب آخرین مرحله قبل از اینکه پروژمون رو ایجاد کنیم، اجرای این دستور هست

composer global require "laravel/installer"

با اجرای این دستور، دستور laravel بصورت global روی سیستم ما قرار میگیره.

خب برای ایجاد پروژه جیدی براحتی میتونیم با استفاده از دستور laravel new ProjectName این کار رو انجام بدیم. فقط قبل از اون، وارد دایرکتوری /www/sites/ میشیم.

laravel new laravel

منتظر میشیم تا دانلود پکیج های مورد نیاز تموم بشه. بعد از اون مرورگرومون رو باز میکنیم و laravel.dev:8000 رو در آدرس بار وارد میکنیم 😍

همون طور که میبینیم، نسبت به روش قبل، این روش url بسیار کوتاه تر و به اصطلاح تمیزتری داره.

در آموزش بعدی روش آخر راه اندازی فریموورک لاراول رو با استفاده از Valet بتون میگم که جدیدا معرفی شده و فقط برای کاربرانMac هست. جالبی این روش این هست که هیچ احتیاجی به Vagrant، Apache و Nginx نداریم !!! 😳

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.