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:
Installare laravel homestead su windows: Configura Homestead
La struttura di Homestead.yaml è piuttosto intuitiva, la possiamo dividere in 7 sezioni:
- 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.
- 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.
- 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
- 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.
- Sesta sezione: Aggiungi variabili personalizzate
databases: - homestead
Questo è il nome del db, lasciamolo così come è.
- 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:
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:
modificate inserendo una versione precedente , ad esempio:
... config.vm.box_version = settings['version'] ||= '>= 10.0' ...
Happy coding 🙂 🙂