خانه لاراول
معرفی
لاراول تلاش می کند تا کل تجربه توسعه PHP را لذت بخش کند، از جمله محیط توسعه محلی شما. Vagrant یک راه ساده و زیبا برای مدیریت و ارائه ماشین های مجازی ارائه می دهد.
Laravel Homestead یک "جعبه" رسمی و از پیش بسته بندی شده Vagrant است که بدون نیاز به نصب PHP، HHVM، وب سرور و هر نرم افزار سرور دیگری بر روی دستگاه محلی خود، یک محیط توسعه فوق العاده را برای شما فراهم می کند. دیگر نگران خراب کردن سیستم عامل خود نباشید! جعبه های ولگرد کاملا یکبار مصرف هستند. اگر مشکلی پیش آمد، می توانید ظرف چند دقیقه جعبه را از بین ببرید و دوباره ایجاد کنید!
Homestead بر روی هر سیستم ویندوز، مک یا لینوکس اجرا میشود و شامل وب سرور Nginx، PHP 5.6، MySQL، Postgres، Redis، Memcached و همه چیزهایی است که برای توسعه برنامههای لاراول شگفتانگیز به آن نیاز دارید.
توجه: اگر از ویندوز استفاده می کنید، ممکن است لازم باشد مجازی سازی سخت افزار (VT-x) را فعال کنید. معمولاً می توان آن را از طریق بایوس فعال کرد.
Homestead در حال حاضر با استفاده از Vagrant 1.7 ساخته و آزمایش شده است.
نرم افزار گنجانده شده است
- اوبونتو 14.04
- PHP 5.6
- HHVM
- Nginx
- MySQL
- Postgres
- گره (با Bower، Grunt و Gulp)
- ردیس
- Memcached
- Beanstalkd
- فرستاده لاراول
- پروفایل بلک فایر
نصب و راه اندازی
نصب 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 را برای مرورگر وب خود بیاموزید.