Oh yeah, a few years back homestead technically worked on windows but was a bit fickle with some weird bugs. Laravel, Vagrant, or Virtual Box seem to have corrected whatever it was messing with the old set up. I didn't add this to the lesson, but if you're using homestead a lot you can install the vagrant host updater plugin. *Run:* _vagrant plugin install vagrant-hostsupdater_ This vagrant plugin will automatically update your hosts file using the ip and site name from your homestead.yaml. One of my favorites. It simplifies installing homestead. No more adding and removing sites from your hosts file :) Happens automatically when you run vagrant up, vagrant halt, and provisions of your homestead virtual machine. *Github Repo* github.com/agiledivider/vagrant-hostsupdater Quick note: The first time it updates your hosts file automatically it'll be pretty slow, after the first time it updates your hosts file it'll speed back up
3:36 I used gitbash then typed laravel new project1. it says bash: laravel: command not found same with cmder. I'm pretty new with setting up laravel and virtualbox installation and can't figure this out.
Most of the time I do use docker professionally. Personally I like homestead due to it's ability to mock s3 buckets using minio, easy setup of local cron jobs, local ssl certificate (ssl), local email mocking, easy xdebug and app profiling setup, easy laravel dusk setup, and honestly not having the need to type "docker" "docker run" "fin" "docker-compose" or any other prefix before everrrryyy siiiinnggglee console command.
It is Windows Homestead SSL: medium.com/dinssa/ssl-certificates-laravel-homestead-windows-https-f83ec8b3198 Mac Homestead SSL: www.eaglepeakweb.com/blog/how-to-enable-ssl-https-tls-laravel-homestead Ubuntu Homestead SSL (First answer down): stackoverflow.com/questions/56186597/how-to-setup-https-with-laravel-homestead-on-ubuntu-18-10
Once you install vagrant and virtual box the first time, you can add this vagrant plugin to automatically update your hosts file removing a step. github.com/agiledivider/vagrant-hostsupdater If you don't want to add any extra homestead features and just use the default configuration installing homestead is a one line command. composer require laravel/homestead --save-dev && ./vendor/bin/homestead make && vagrant up --provision The features offered by homestead, in my opinion are incredibly powerful and stupid easy to set up in comparison to using docker and having to find which container meets your needs. Not to mention docker is an optional feature you can install directly within your homestead box. Connecting To Databases Database Backups Database Snapshots Adding Additional Sites Environment Variables Wildcard SSL Configuring Cron Schedules Configuring Mailhog Configuring Minio (Ex: AMazon s3 bucket mock) Ports (Get fancy) Sharing Your Environment (Dev across the internet) Multiple PHP Versions (aliases to switch in one command) Web Servers (Apache or nginx) Mail (Local emails caught by default via mailhog) MongoDB MariaDB MySQLDB CasandraDB Xdebug Cli specific application debugging Oh my zsh for pretty terminal REALLY useful aliases added in Optionally add in your own aliases Ubuntu 18.04 Git PHP 7.4 PHP 7.3 PHP 7.2 PHP 7.1 PHP 7.0 PHP 5.6 Nginx MySQL lmm for MySQL or MariaDB database snapshots Sqlite3 PostgreSQL (9.6, 10, 11, 12) Composer Node (With Yarn, Bower, Grunt, and Gulp) Redis Memcached Beanstalkd Mailhog avahi ngrok Xdebug XHProf / Tideways / XHGui wp-cli Apache Blackfire Cassandra Chronograf CouchDB Crystal & Lucky Framework Docker Elasticsearch Gearman Go Grafana InfluxDB MariaDB MinIO MongoDB MySQL 8 Neo4j Oh My Zsh Open Resty PM2 Python RabbitMQ Solr Webdriver & Laravel Dusk Utilities Network Interfacing Port Forwarding etc... Many of these services are installed by default many are not, the kicker is to add an optional homestead feature is stupid easy. Here's adding several of the optional features within your homestead.yaml. Homestead.yaml // ....configuration features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value" - cassandra: true - chronograf: true - couchdb: true - crystal: true - docker: true - elasticsearch: version: 7 - gearman: true - golang: true - grafana: true - influxdb: true - mariadb: true - minio: true - mongodb: true - mysql8: true - neo4j: true - ohmyzsh: true - openresty: true - pm2: true - python: true - rabbitmq: true - solr: true - webdriver: true Setting up a lot of this stuff, even through docker, takes longer to just search for the dang package. If you need a docker package well, docker is one of those optional homestead features. Homestead in my opinion comes bootstrapped to the teeth with power and is just as easy to install as docker or anything else after the initial installation and a few times going through the set up. This isn't to say I don't use laragon or docker or omit every thing all together for cli type applications -- I just prefer homestead over anything else when it comes to applications that are going to be a descent scope in size. Local Cron Jobs, Local Emails, Minio Aka s3 bucket mocking, pretty easy ssl set up, web driver and selenium for browser testing, ssl subdomains, and easy configuration for multiple domains if you have a decoupled front-end and back-end with the option to utilize docker just feels good :)
I highly recommend checking out the docs, to see the full scope of power backing Laravel Homestead ~ thank you for a great question, I'm sure many others have the same thought. laravel.com/docs/7.x/homestead
Great video, however, when i (vagrant up), the system hangs ==> homestead: Waiting for machine to boot. This may take a few minutes... homestead: SSH address: 127.0.0.1:2222 homestead: SSH username: vagrant homestead: SSH auth method: private key it doesn't move beyond this. I have my SSH keys in my user directory. Any idea's what could be causing this?
Good stuff YStrength ~ I love little terminal short cuts like that, takes 10 minutes to set up saves you a few minutes each day. 3 minutes a day multiplied by 100 days of using a nifty short cut like this --- that adds up quickly - Good stuff!
the first tutorial that worked for me - thanks =)
You're welcome!
Great! I didnt know that Homestead worked on Windows. I'll change my env to this, since I was using Laragon instead (that is great overall too).
Oh yeah, a few years back homestead technically worked on windows but was a bit fickle with some weird bugs. Laravel, Vagrant, or Virtual Box seem to have corrected whatever it was messing with the old set up.
I didn't add this to the lesson, but if you're using homestead a lot you can install the vagrant host updater plugin.
*Run:*
_vagrant plugin install vagrant-hostsupdater_
This vagrant plugin will automatically update your hosts file using the ip and site name from your homestead.yaml. One of my favorites. It simplifies installing homestead. No more adding and removing sites from your hosts file :) Happens automatically when you run vagrant up, vagrant halt, and provisions of your homestead virtual machine.
*Github Repo*
github.com/agiledivider/vagrant-hostsupdater
Quick note: The first time it updates your hosts file automatically it'll be pretty slow, after the first time it updates your hosts file it'll speed back up
3:36 I used gitbash then typed laravel new project1. it says bash: laravel: command not found same with cmder. I'm pretty new with setting up laravel and virtualbox installation and can't figure this out.
Here's our Lesson installing the Laravel installer ruclips.net/video/N8mSAJk_JQI/видео.html
Why don’t you use docker ?
Most of the time I do use docker professionally.
Personally I like homestead due to it's ability to mock s3 buckets using minio, easy setup of local cron jobs, local ssl certificate (ssl), local email mocking, easy xdebug and app profiling setup, easy laravel dusk setup, and honestly not having the need to type "docker" "docker run" "fin" "docker-compose" or any other prefix before everrrryyy siiiinnggglee console command.
it is possible to add ssl to homestead?
It is
Windows Homestead SSL:
medium.com/dinssa/ssl-certificates-laravel-homestead-windows-https-f83ec8b3198
Mac Homestead SSL:
www.eaglepeakweb.com/blog/how-to-enable-ssl-https-tls-laravel-homestead
Ubuntu Homestead SSL (First answer down):
stackoverflow.com/questions/56186597/how-to-setup-https-with-laravel-homestead-on-ubuntu-18-10
why not docker? laradock?
Once you install vagrant and virtual box the first time, you can add this vagrant plugin to automatically update your hosts file removing a step.
github.com/agiledivider/vagrant-hostsupdater
If you don't want to add any extra homestead features and just use the default configuration installing homestead is a one line command.
composer require laravel/homestead --save-dev && ./vendor/bin/homestead make && vagrant up --provision
The features offered by homestead, in my opinion are incredibly powerful and stupid easy to set up in comparison to using docker and having to find which container meets your needs. Not to mention docker is an optional feature you can install directly within your homestead box.
Connecting To Databases
Database Backups
Database Snapshots
Adding Additional Sites
Environment Variables
Wildcard SSL
Configuring Cron Schedules
Configuring Mailhog
Configuring Minio
(Ex: AMazon s3 bucket mock)
Ports
(Get fancy)
Sharing Your Environment (Dev across the internet)
Multiple PHP Versions (aliases to switch in one command)
Web Servers (Apache or nginx)
Mail (Local emails caught by default via mailhog)
MongoDB
MariaDB
MySQLDB
CasandraDB
Xdebug
Cli specific application debugging
Oh my zsh for pretty terminal
REALLY useful aliases added in
Optionally add in your own aliases
Ubuntu 18.04
Git
PHP 7.4
PHP 7.3
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
MySQL
lmm for MySQL or MariaDB database snapshots
Sqlite3
PostgreSQL (9.6, 10, 11, 12)
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
avahi
ngrok
Xdebug
XHProf / Tideways / XHGui
wp-cli
Apache
Blackfire
Cassandra
Chronograf
CouchDB
Crystal & Lucky Framework
Docker
Elasticsearch
Gearman
Go
Grafana
InfluxDB
MariaDB
MinIO
MongoDB
MySQL 8
Neo4j
Oh My Zsh
Open Resty
PM2
Python
RabbitMQ
Solr
Webdriver & Laravel Dusk Utilities
Network Interfacing
Port Forwarding
etc...
Many of these services are installed by default many are not, the kicker is to add an optional homestead feature is stupid easy.
Here's adding several of the optional features within your homestead.yaml.
Homestead.yaml
// ....configuration
features:
- blackfire:
server_id: "server_id"
server_token: "server_value"
client_id: "client_id"
client_token: "client_value"
- cassandra: true
- chronograf: true
- couchdb: true
- crystal: true
- docker: true
- elasticsearch:
version: 7
- gearman: true
- golang: true
- grafana: true
- influxdb: true
- mariadb: true
- minio: true
- mongodb: true
- mysql8: true
- neo4j: true
- ohmyzsh: true
- openresty: true
- pm2: true
- python: true
- rabbitmq: true
- solr: true
- webdriver: true
Setting up a lot of this stuff, even through docker, takes longer to just search for the dang package. If you need a docker package well, docker is one of those optional homestead features.
Homestead in my opinion comes bootstrapped to the teeth with power and is just as easy to install as docker or anything else after the initial installation and a few times going through the set up.
This isn't to say I don't use laragon or docker or omit every thing all together for cli type applications -- I just prefer homestead over anything else when it comes to applications that are going to be a descent scope in size. Local Cron Jobs, Local Emails, Minio Aka s3 bucket mocking, pretty easy ssl set up, web driver and selenium for browser testing, ssl subdomains, and easy configuration for multiple domains if you have a decoupled front-end and back-end with the option to utilize docker just feels good :)
I highly recommend checking out the docs, to see the full scope of power backing Laravel Homestead ~ thank you for a great question, I'm sure many others have the same thought.
laravel.com/docs/7.x/homestead
Great video, however, when i (vagrant up), the system hangs
==> homestead: Waiting for machine to boot. This may take a few minutes...
homestead: SSH address: 127.0.0.1:2222
homestead: SSH username: vagrant
homestead: SSH auth method: private key
it doesn't move beyond this. I have my SSH keys in my user directory. Any idea's what could be causing this?
and here is the log above.
$ vagrant up
Bringing machine 'homestead' up with 'virtualbox' provider...
==> homestead: Checking if box 'laravel/homestead' version '9.6.1' is up to date...
==> homestead: Clearing any previously set forwarded ports...
==> homestead: Clearing any previously set network interfaces...
==> homestead: Preparing network interfaces based on configuration...
homestead: Adapter 1: nat
homestead: Adapter 2: hostonly
==> homestead: Forwarding ports...
homestead: 80 (guest) => 8000 (host) (adapter 1)
homestead: 443 (guest) => 44300 (host) (adapter 1)
homestead: 3306 (guest) => 33060 (host) (adapter 1)
homestead: 4040 (guest) => 4040 (host) (adapter 1)
homestead: 5432 (guest) => 54320 (host) (adapter 1)
homestead: 8025 (guest) => 8025 (host) (adapter 1)
homestead: 9600 (guest) => 9600 (host) (adapter 1)
homestead: 27017 (guest) => 27017 (host) (adapter 1)
homestead: 22 (guest) => 2222 (host) (adapter 1)
==> homestead: Running 'pre-boot' VM customizations...
@ECHO OFF
cd C:\Users\myroot\homestead
cd
vagrant up
vagrant provision
vagrant ssh
cmd /k
::: add above to note pad for easy launch save as .cmd file
Good stuff YStrength ~ I love little terminal short cuts like that, takes 10 minutes to set up saves you a few minutes each day. 3 minutes a day multiplied by 100 days of using a nifty short cut like this --- that adds up quickly - Good stuff!