نسخه:

خانه لاراول

معرفی

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

Laravel Homestead یک "جعبه" رسمی و از پیش بسته بندی شده Vagrant است که بدون نیاز به نصب PHP، HHVM، وب سرور و هر نرم افزار سرور دیگری بر روی دستگاه محلی خود، یک محیط توسعه فوق العاده را برای شما فراهم می کند. دیگر نگران خراب کردن سیستم عامل خود نباشید! جعبه های ولگرد کاملا یکبار مصرف هستند. اگر مشکلی پیش آمد، می توانید ظرف چند دقیقه جعبه را از بین ببرید و دوباره ایجاد کنید!

Homestead بر روی هر سیستم ویندوز، مک یا لینوکس اجرا می‌شود و شامل وب سرور Nginx، PHP 5.6، MySQL، Postgres، Redis، Memcached و همه چیزهایی است که برای توسعه برنامه‌های لاراول شگفت‌انگیز به آن نیاز دارید.

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

Homestead در حال حاضر با استفاده از Vagrant 1.7 ساخته و آزمایش شده است.

نرم افزار گنجانده شده است

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

نصب VirtualBox / VMware & Vagrant

قبل از راه اندازی محیط Homestead خود، باید VirtualBox و Vagrant را نصب کنید . هر دوی این بسته‌های نرم‌افزاری، نصب‌کننده‌های بصری با کاربری آسان را برای همه سیستم‌عامل‌های محبوب ارائه می‌کنند.

VMware

علاوه بر VirtualBox، Homestead از VMware نیز پشتیبانی می کند. برای استفاده از ارائه دهنده VMware، باید هر دو VMware Fusion / Desktop و VMware Vagrant را خریداری کنید . VMware عملکرد پوشه اشتراکی بسیار سریعتری را در خارج از جعبه ارائه می دهد.

اضافه کردن جعبه ولگرد

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

vagrant box add laravel/homestead

اگر این دستور ناموفق باشد، ممکن است یک نسخه قدیمی از Vagrant داشته باشید که به URL کامل نیاز دارد:

vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

نصب Homestead

شما می توانید Homestead را به صورت دستی با شبیه سازی مخزن نصب کنید. شبیه سازی مخزن را در Homestead پوشه ای در دایرکتوری "home" خود در نظر بگیرید، زیرا کادر Homestead به عنوان میزبان همه پروژه های Laravel (و PHP) شما عمل می کند:

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

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

bash init.sh

فایل Homestead.yaml در دایرکتوری شما قرار خواهد گرفت ~/.homestead .

ارائه دهنده خود را پیکربندی کنید

کلید provider موجود در فایل شما Homestead.yaml نشان می دهد که کدام ارائه دهنده Vagrant باید استفاده شود: virtualbox , vmware_fusion (Mac OS X) یا vmware_workstation (Windows). می توانید این را برای هر ارائه دهنده ای که ترجیح می دهید تنظیم کنید.

provider: virtualbox

کلید SSH خود را تنظیم کنید

در مرحله بعد باید Homestead.yaml فایل را ویرایش کنید. در این فایل می‌توانید مسیر کلید SSH عمومی خود و همچنین پوشه‌هایی را که می‌خواهید بین ماشین اصلی و ماشین مجازی Homestead به اشتراک گذاشته شوند، پیکربندی کنید.

کلید SSH ندارید؟ در مک و لینوکس، به طور کلی می توانید یک جفت کلید SSH با استفاده از دستور زیر ایجاد کنید:

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

در ویندوز، می‌توانید Git را نصب کنید و از Git Bash پوسته همراه با Git برای صدور دستور بالا استفاده کنید. از طرف دیگر، می توانید از PuTTY و PuTTYgen استفاده کنید .

پس از ایجاد یک کلید SSH، مسیر کلید را در authorize ویژگی فایل خود مشخص کنید Homestead.yaml .

پوشه های مشترک خود را پیکربندی کنید

ویژگی folders فایل Homestead.yaml تمام پوشه هایی را که می خواهید با محیط Homestead خود به اشتراک بگذارید را فهرست می کند. همانطور که فایل‌های درون این پوشه‌ها تغییر می‌کنند، بین ماشین محلی شما و محیط Homestead همگام می‌شوند. می توانید هر تعداد پوشه مشترک را که لازم است پیکربندی کنید!

برای فعال کردن NFS ، فقط یک پرچم ساده به پوشه همگام‌سازی شده خود اضافه کنید:

folders:
- map: ~/Code
to: /home/vagrant/Code
type: "nfs"

سایت های Nginx خود را پیکربندی کنید

با Nginx آشنایی ندارید؟ مشکلی نیست. این sites ویژگی به شما امکان می دهد به راحتی یک "دامنه" را به یک پوشه در محیط Homestead خود نگاشت کنید. نمونه پیکربندی سایت در Homestead.yaml فایل موجود است. مجدداً، می توانید هر تعداد سایت که لازم باشد به محیط Homestead خود اضافه کنید. Homestead می تواند به عنوان یک محیط راحت و مجازی برای هر پروژه لاراول که روی آن کار می کنید خدمت کند!

شما می توانید هر سایت Homestead را از HHVM با تنظیم hhvm گزینه زیر استفاده کنید true :

sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
hhvm: true

هر سایت توسط HTTP از طریق پورت 8000 و HTTPS از طریق پورت 44300 قابل دسترسی خواهد بود.

نام مستعار بش

برای افزودن نام مستعار Bash به کادر Homestead خود، کافی است aliases فایل را در ریشه دایرکتوری اضافه کنید ~/.homestead .

جعبه ولگرد را راه اندازی کنید

Homestead.yaml هنگامی که آن را مطابق میل خود ویرایش کردید ، vagrant up دستور را از دایرکتوری Homestead خود اجرا کنید.

Vagrant ماشین مجازی را بوت می کند و پوشه های مشترک و سایت های Nginx شما را به صورت خودکار پیکربندی می کند! برای از بین بردن ماشین، می توانید از vagrant destroy --force دستور استفاده کنید.

فراموش نکنید که "دامنه" سایت های Nginx خود را به hosts فایل موجود در دستگاه خود اضافه کنید! این hosts فایل درخواست های شما را برای دامنه های محلی به محیط Homestead شما هدایت می کند. در مک و لینوکس، این فایل در آدرس قرار دارد /etc/hosts . در ویندوز، در C:\Windows\System32\drivers\etc\hosts . خطوطی که به این فایل اضافه می کنید به شکل زیر خواهد بود:

192.168.10.10 homestead.app

مطمئن شوید که آدرس IP فهرست شده همان آدرسی است که در Homestead.yaml فایل خود تنظیم کرده اید. هنگامی که دامنه را به فایل خود اضافه کردید hosts ، می توانید از طریق مرورگر وب خود به سایت دسترسی پیدا کنید!

http://homestead.app

برای یادگیری نحوه اتصال به پایگاه داده خود، ادامه مطلب را بخوانید!

استفاده روزانه

اتصال از طریق SSH

از آنجایی که احتمالاً نیاز به SSH مکرر در دستگاه Homestead خود خواهید داشت، ایجاد یک "نام مستعار" در دستگاه میزبان خود برای SSH سریع در کادر Homestead در نظر بگیرید:

alias vm="ssh vagrant@127.0.0.1 -p 2222"

هنگامی که این نام مستعار را ایجاد کردید، می توانید به سادگی از دستور "vm" برای SSH در دستگاه Homestead خود از هر نقطه از سیستم خود استفاده کنید.

یا می توانید vagrant ssh از دستور دایرکتوری Homestead خود استفاده کنید.

اتصال به پایگاه های داده شما

یک homestead پایگاه داده برای MySQL و Postgres خارج از جعبه پیکربندی شده است. برای راحتی بیشتر، local پیکربندی پایگاه داده لاراول برای استفاده از این پایگاه داده به طور پیش فرض تنظیم شده است.

برای اتصال به پایگاه داده MySQL یا Postgres از دستگاه اصلی خود از طریق Navicat یا Sequel Pro، باید به 127.0.0.1 33060 (MySQL) یا 54320 (Postgres) وصل شوید و پورت کنید. نام کاربری و رمز عبور هر دو پایگاه داده homestead / است secret .

توجه: شما باید فقط هنگام اتصال به پایگاه داده از دستگاه اصلی خود از این پورت های غیر استاندارد استفاده کنید. شما از پورت های پیش فرض 3306 و 5432 در فایل پیکربندی پایگاه داده لاراول خود استفاده خواهید کرد زیرا لاراول در ماشین مجازی اجرا می شود.

افزودن سایت های اضافی

هنگامی که محیط Homestead شما تهیه و اجرا شد، ممکن است بخواهید سایت های Nginx دیگری را برای برنامه های Laravel خود اضافه کنید. شما می توانید هر تعداد نصب لاراول را که بخواهید در یک محیط Homestead اجرا کنید. دو راه برای انجام این کار وجود دارد: اول، می‌توانید به سادگی سایت‌ها را به Homestead.yaml فایل خود اضافه کنید و سپس vagrant provision از دایرکتوری Homestead خود اجرا کنید.

توجه: این فرآیند مخرب است. هنگام اجرای provision دستور، پایگاه داده های موجود شما از بین می رود و دوباره ایجاد می شود.

یا می توانید از serve اسکریپتی که در محیط Homestead شما موجود است استفاده کنید. برای استفاده از serve اسکریپت، SSH را در محیط Homestead خود قرار دهید و دستور زیر را اجرا کنید:

serve domain.app /home/vagrant/Code/path/to/public/directory 80

توجه: پس از اجرای serve دستور فراموش نکنید که سایت جدید را به hosts فایل موجود در دستگاه اصلی خود اضافه کنید!

پورت ها

پورت های زیر به محیط Homestead شما ارسال می شوند:

  • SSH: 2222 → Forward to 22
  • HTTP: 8000 → Forward to 80
  • HTTPS: 44300 → Forward to 443
  • MySQL: 33060 → Forward to 3306
  • Postgres: 54320 → Forward to 5432

اضافه کردن پورت های اضافی

در صورت تمایل، می توانید پورت های اضافی را به جعبه Vagrant ارسال کنید و همچنین پروتکل آنها را مشخص کنید:

ports:
- send: 93000
to: 9300
- send: 7777
to: 777
protocol: udp

پروفایل بلک فایر

Blackfire Profiler توسط SensioLabs به طور خودکار داده های مربوط به اجرای کد شما را جمع آوری می کند، مانند RAM، زمان CPU و ورودی/خروجی دیسک. Homestead استفاده از این نمایه ساز را برای برنامه های کاربردی خود آسان می کند.

همه بسته‌های مناسب قبلاً روی جعبه Homestead شما نصب شده‌اند، فقط باید یک شناسه و رمز سرور Homestead.yaml Blackfire را در فایل خود تنظیم کنید:

blackfire:
- id: your-server-id
token: your-server-token
client-id: your-client-id
client-token: your-client-token

هنگامی که اعتبار Blackfire خود را پیکربندی کردید، با استفاده vagrant provision از دایرکتوری Homestead خود، کادر را دوباره تهیه کنید. البته، حتماً مستندات Blackfire را مرور کنید تا نحوه نصب افزونه Blackfire Companion را برای مرورگر وب خود بیاموزید.