شروع کار با لاراول7: Homestead

مقدمه

Laravel در تلاش است تا کل تجربه توسعه PHP را ،مثل محیط توسعه لوکال شما ، لذت بخش کند. Vagrant روشی ساده برای مدیریت و تهیه ماشینهای مجازی ارائه می دهد.

Laravel Homestead یک جعبه رسمی و pre-packaged شده Vagrant است که بدون نیاز به نصب PHP ، وب سرور  و سایر نرم افزارهای سرور دیگر در ماشین لوکال شما ، یک محیط توسعه فوق العاده را برای شما فراهم می کند. دیگر نگران شلوغی os خود نباشید! Vagrant Boxes کاملاً یکبار مصرف هستند. اگر چیزی اشتباه پیش آمد ، می توانید Box را در عرض چند دقیقه از بین ببرید و دوباره ایجاد کنید!

Homestead بر روی هر سیستم ویندوز ، مک و یا لینوکس اجرا می شود و شامل Nginx، PHP، MySQL، PostgreSQL، Redis، Memcached، Node و سایر مواردی که برای توسعه برنامه های شگفت انگیز Laravel استفاده می کنید است .

توجه:اگر از ویندوز استفاده می کنید ، ممکن است لازم باشد مجازی سازی سخت افزاری را فعال کنید (VT-x). معمولاً می تواند از طریق BIOS شما فعال شود. اگر از Hyper-V در یک سیستم UEFI استفاده می کنید ، برای دسترسی به VT-x ممکن است نیاز به غیرفعال کردن Hyper-V داشته باشید.

نصب و راه اندازی

اولین قدم

قبل از راه اندازی محیط Homestead ، باید VirtualBox 6.x ، VMWare ، Parallels یا Hyper-V و همچنین Vagrant را نصب کنید. همه این بسته های نرم افزاری نصب آسان visual را برای همه سیستم عامل های رایج فراهم می کنند

برای استفاده از VMware ، باید هم VMware Fusion / Workstation و هم پلاگین VMware Vagrant را خریداری کنید. گرچه رایگان نیست ، اما VMware می تواند shared folder را خارج از چارچوب ارائه دهد.

برای استفاده از Parallels ، باید پلاگین Parallels Vagrant را نصب کنید. آن رایگان است.

به دلیل محدودیت های Vagrant ، ارائه دهنده Hyper-V تمام تنظیمات شبکه را نادیده می گیرد.

نصب Homestead Vagrant Box

پس از نصب VirtualBox / VMware و Vagrant ، باید laravel/homestead box را به نصب Vagrant خود با استفاده از دستور زیر در ترمینال خود اضافه کنید. بسته به سرعت اتصال اینترنت ، دانلود box چند دقیقه طول می کشد:

vagrant box add laravel/homestead

اگر این دستور خراب است ، مطمئن شوید که نصب Vagrant شما به روز است.

نکته: Homestead به صورت دوره ای باکس های "alpha" / "beta"  را برای تست صادر می کند ، که ممکن است در دستور vagrant box add تداخل ایجاد کند. اگر مشکلی در مورد اضافه کردن vagrant box دارید ، می توانید دستور vagrant up را اجرا کنید و وقتی Vagrant تلاش می کند ماشین مجازی را راه اندازی کند ، box درست دانلود می شود.

نصب Homestead
شما می توانید Homestead را با گرفتن clone از repository روی ماشین خود نصب کنید. repository را در یک پوشه Homestead در دایرکتوری"home" خود شبیه سازی کنید ، زیرا Homestead box به عنوان host تمام پروژه های Laravel شما عمل می کند:

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

شما باید یک نسخه تگ شده از Homestead را بررسی کنید زیرا ممکن است master branch همیشه پایدار نباشد. آخرین نسخه پایدار را می توانید در GitHub Release Page پیدا کنید. متناوباً ، می توانید release branch را که همیشه شامل آخرین نسخه پایدار است ، بررسی کنید:

cd ~/Homestead

git checkout release

هنگامی که Homestead repository را شبیه سازی کردید ، دستور bash init.sh را از دایرکتوری Homestead اجرا کنید تا فایل پیکربندی Homestead.yaml ایجاد شود. فایل Homestead.yaml در دایرکتوری Homestead قرار می گیرد:

// Mac / Linux...
    bash init.sh
    
    // Windows...
    init.bat

پیکربندی Homestead

تنظیمات Provider:

provider key در فایل Homestead.yaml شما نشان می دهد که از کدام Vagrant provider باید استفاده شود: virtualbox ، vmware_fusion ، vmware_workstation ، parallels یا hyperv. شما می توانید این را برای provider یی که ترجیح می دهید تنظیم کنید:

provider: virtualbox

تنظیمات Shared Folders

از ویژگی فولدرهای فایل Homestead.yaml است که تمام فولدرهایی را که می خواهید با محیط Homestead خود به اشتراک بگذارید لیست می کند. با تغییر فایلها در این فولدرها ، آنها بین local machine و محیط Homestead همگام سازی می شوند. شما می توانید به تعداد لازم shared folder پیکربندی کنید:

folders:
        - map: ~/code/project1
          to: /home/vagrant/project1

ادامه دارد...

سعید نصیری
سعید نصیری

من برنامه نویس لاراول، PHP و طراح سایت هستم. برنامه نویسی موبایل و تولید اپلیکیشن های موبایل نیز بخش دیگری از توانایی های فردی من هست. تقریبا ده دوازده سالی تجربه مستمر در زمینه طراحی سایت دارم و نزدیک به یک سال هم میشه که در برنامه نویسی موبایل وارد شده ام.