Blog

installare-laravel-homestead-su-windows

Installare laravel homestead su windows

Tempo di lettura: 7 minuti

Oggi la maggior parte degli sviluppatori utilizza una macchina virtuale per lo sviluppo di siti o applicazioni web dinamiche. Queste danno la possibilità di eseguire un server web,un server database e tutti gli script su di essa.

Ciò assume il nome di: “Virtualizzazione“.

Esistono molte opzioni per la virtualizzazione, ma la più popolare è sicuramente VirtualBox di Oracle. Questa consente di  installare ed eseguire più macchine virtuali  a prescindere dal sistema operativo adottato: Windows, Mac, Linux o Solaris.

Mentre  lo strumento che si occupa, a sua volta, di configurare e gestire gli ambienti virtuali è Vagrant.

Nel 2014, Taylor Otwell – il creatore di Laravel – ha introdotto Homestead.

Installare laravel homestead su windows: Homestead

Homestead è una macchina virtuale (VM) basata su Vagrant e  su Ubuntu. Include tutto ciò di cui abbiamo bisogno per iniziare a sviluppare applicazioni Laravel. Ciò significa che, quando installiamo Homestead, abbiamo un server virtuale con PHP, Nginx, database e altri pacchetti.

Ecco un elenco dei software inclusi:

  • Ubuntu 18.04
  • Git
  • PHP 5.x,7.x
  • Nginx
  • MySQL
  • lmm for MySQL or MariaDB database snapshots
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • avahi
  • ngrok
  • Xdebug
  • XHProf / Tideways / XHGui
  • wp-cli

Puoi leggere la documentazione di Homestead su:

https://laravel.com/docs/master/homestead

Installare Homestead

Il modo consigliato per installare Homestead è quello di utilizzare Git, allora scaricatevi innanzitutto Git bash da questo indirizzo.

In seguito scaricatevi ed installate Virtual box e Vagrant.

Createvi una directory a piacere, aprite Git bash e digitate:

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

una volta installato dirigetevi, sempre da terminale, su Homestead con il comando cd:

cd Homestead/

quindi create il file Homestead.yaml:

bash init.sh

Ora se aprite la directory Homestead noterete all’interno il file Homestead.yaml, apritelo con un editore di testo per apportare modifiche:

laravel homestead

Installare laravel homestead su windows: Configura Homestead

La struttura di Homestead.yaml è piuttosto intuitiva, la possiamo dividere in 7 sezioni:

  1. Prima sezione: configura la VM:
    ip: "192.168.10.10"
    memory: 2048
    cpus: 2
    provider: virtualbox

    In questa sezione come potete vedere possiamo configurare l’indirizzo Ip, la memoria , la Cpu ed il provider della nostra VM. Volendo possiamo personalizzarne anche il nome aggiungendo:

    ip: "192.168.10.10"
    memory: 2048
    cpus: 2
    provider: virtualbox
    name:my-server

    il resto non toccatelo.

  2. Seconda e terza sezione: configurazione di SSH
    authorize: ~/.ssh/id_rsa.pub
    
    keys:
        - ~/.ssh/id_rsa

    fondamentalmente dobbiamo generare una chiave SSH per l’autenticazione dell’utente alla VM, quindi da terminale digitate:

    ssh-keygen -t rsa -C "tua@email.it"
    

    alle domande date invio, il comando genererà una chiave SSH e la inserirà automaticamente nella directory.

    Se stai lavorando con Git , potresti già avere una chiave SSH, quindi ignora il suddetto passaggio.

  3. Quarta sezione: configurazione della cartella condivisa
    folders:
        - map: ~/code
          to: /home/vagrant/code

    Notate che la cartella ~/code è stata inserita in un percorso di default, questa è la directory dove inserire i nostri progetti.  Potete cambiarne il percorso a vostro piacimento, ad esempio nel mio caso:

    folders:
        - map: F:/Homestead
          to: /home/vagrant/code

     

  4. Quinta sezione: mappare un dominioInnanzitutto organiziamo i nostri progetti realizzando 2 directory (passo facoltativo ma fortemente consigliato) digitando il seguente comando:
    mkdir -p Project/public

    quindi mappiamo il dominio:

    sites:
        - map: homestead.test
          to: /home/vagrant/Code/Project/public

    come si può notare abbiamo mappato  un dominio ad una cartella sulla nostra VM. Ad esempio in questo caso mappiamo homestead.test, ciò ci consente di accedere facilmente ad essa mediante indirizzo : ‘http://homestead.test‘.(E’ importante correggere code in Code ossia con la C maiuscola).

    Ricordati che quando aggiunigi un dominio devi modificare il file hosts sul tuo pc per poter reindirizzare le richieste, su windows lo trovi su C:\Windows\System32\drivers\etc\hosts, aprilo ed aggiungi in fondo:

    192.168.10.10 homestead.test

    ora sei in grado di accedere all’indirizzo http://homestead.test.

  5. Sesta sezione: Aggiungi variabili personalizzate
    databases:
        - homestead

    Questo è il nome del db, lasciamolo così come è.

  6. Sezione relativa alle features
    features:
        - mysql: false
        - mariadb: false
        - postgresql: false
        - ohmyzsh: false
        - webdriver: false

    lasciamola stare così.

Avvio di Homestead

Bene una volta modificato il file Homestead.yaml possiamo avviare la nostra VM, da terminale digitate:

vagrant up

Importante: considera che ogni qualvolta cambi un percorso o altro sul file homestead.yaml dovrai digitare vagrant up –provision. Per sospendere la VM digiterai vagrant suspend , per fermarla vagrant halt, per distruggerla vagrant destroy.
Il riavvio della VM dopo la sospensione è più veloce rispetto a quello dopo il fermo.

Ora siamo in grado di accedere alla nostra Virtual Machine con il comando:

vagrant ssh
$ vagrant ssh
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64)

 _                               _                 _
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|

* Homestead v10.17.0, v11.4.0
* Settler v9.7.2 (Ubuntu 18.04)
* Settler v10.1.1 (Ubuntu 20.04)

0 updates can be installed immediately.
0 of these updates are security updates.


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

vagrant@homestead:~$ ls
Code
vagrant@homestead:~$

digitate ls dovrebbe restituirvi la folder Code.

Laravel Homestead:Installazione di laravel

Ottimo siamo finalmente pronti per installare laravel.

Da terminale spostiamoci all’interno delle directory realizzate precedentemente:

cd Code/Project/public/

quindi installiamo laravel installer:

composer global require "laravel/installer"

finita l’installazione di laravel/installer possiamo installare la nostra applicazione laravel:

laravel new laravel

ricordiamoci di mappare l’applicazione nel file Homestead.yaml:

...
sites:
    - map: homestead.test
      to: /home/vagrant/Code/Project/public/laravel/public
...

quindi riavviamo vagrant:

vagrant up --provision

ok ora  provate ad accedere su http://homestead.test/ dovreste trovarvi una pagina come questa sotto:

laravel homestead

complimenti sei riuscito a configurare il server e ad installare laravel 🙂 🙂

Errore di versione di virtual box rispetto ad Homestead

Se avviate vagrant e questi vi restituisse un errore di versione dove homestead richiede una versione di VM maggiore rispetto a quella installata in locale allora molto semplicemente aprite il file C:\Homestead\scripts\homestead.rb (dipende dal vostro percorso)e modificate come di seguito:

error versioning vm

modificate inserendo una versione precedente , ad esempio:

...
config.vm.box_version = settings['version'] ||= '>= 10.0'
...

Happy coding 🙂 🙂

Se volete Approfondire le conoscenze su Laravel potete seguire il  corso completo su Udemy sempre scontato a 9.99/12.99 € , inoltre, nel momento in cui non foste soddisfatti, avete la possibilità di ottenere il rimborso completo dello stesso entro 30 giorni dalla data di acquisto!

Share and Enjoy !

0Shares
0 0

Chi è ?

Lucio Ticali è un Web & App developer con la passione per il web marketing,si occupa anche di tecniche di indicizzazione del sito e di promozione dello stesso (SEO e SEM).

Lascia la tua opinione