Install Laravel Homestead (2020 on Windows 10)

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 19

  • @giovannil.9858
    @giovannil.9858 3 года назад +1

    the first tutorial that worked for me - thanks =)

  • @SlainR2
    @SlainR2 4 года назад +2

    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).

    • @CleanCodeStudio
      @CleanCodeStudio  4 года назад +2

      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

  • @knotcircle2844
    @knotcircle2844 3 года назад +1

    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.

    • @CleanCodeStudio
      @CleanCodeStudio  3 года назад

      Here's our Lesson installing the Laravel installer ruclips.net/video/N8mSAJk_JQI/видео.html

  • @FabioRochaFarias
    @FabioRochaFarias 4 года назад +1

    Why don’t you use docker ?

    • @CleanCodeStudio
      @CleanCodeStudio  3 года назад

      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.

  • @gabrielLlanesMX
    @gabrielLlanesMX 3 года назад +1

    it is possible to add ssl to homestead?

    • @CleanCodeStudio
      @CleanCodeStudio  3 года назад

      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

  • @Ceghap
    @Ceghap 4 года назад +1

    why not docker? laradock?

    • @CleanCodeStudio
      @CleanCodeStudio  4 года назад +1

      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 :)

    • @CleanCodeStudio
      @CleanCodeStudio  4 года назад +1

      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

  • @tonypetroski216
    @tonypetroski216 4 года назад

    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?

    • @tonypetroski216
      @tonypetroski216 4 года назад

      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...

  • @ystrength9904
    @ystrength9904 3 года назад +1

    @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

    • @CleanCodeStudio
      @CleanCodeStudio  3 года назад

      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!