> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Installazione

> Come installare Laravel e configurare l'ambiente PHP.

## Requisiti dell'ambiente

Prima di iniziare con Laravel ti servono i seguenti componenti:

* **PHP 8.3 o superiore**
* **Composer** (il package manager di PHP)
* **Installer di Laravel** (opzionale ma consigliato)

<Info>
  Sono necessari anche Node.js/npm o Bun per compilare gli asset frontend.
</Info>

## Installazione di PHP e dell'installer di Laravel

Il modo più semplice per installare insieme PHP, Composer e l'installer di Laravel è eseguire il comando adatto al tuo sistema operativo.

<CodeGroup>
  ```shell macOS theme={null}
  /bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
  ```

  ```powershell Windows (esegui come amministratore) theme={null}
  Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))
  ```

  ```shell Linux theme={null}
  /bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
  ```
</CodeGroup>

Dopo aver eseguito il comando, riavvia la sessione del terminale.
Se hai già installato PHP e Composer, puoi installare solo l'installer di Laravel usando Composer.

```shell theme={null}
composer global require laravel/installer
```

<Tip>
  Se cerchi uno strumento grafico per gestire PHP, dai un'occhiata anche a [Laravel Herd](#installazione-con-laravel-herd).
</Tip>

## Creazione di una nuova applicazione Laravel

Una volta pronti PHP, Composer e l'installer di Laravel, crea una nuova applicazione Laravel.
L'installer ti chiederà di scegliere il framework di test, il database e lo starter kit.

```shell theme={null}
laravel new example-app
```

Dopo aver creato l'applicazione, avvia il server di sviluppo con lo script Composer `dev`.

```shell theme={null}
cd example-app
npm install && npm run build
composer run dev
```

Quando il server di sviluppo è attivo, apri nel browser [http://localhost:8000](http://localhost:8000).

<Info>
  Usando uno starter kit viene generata automaticamente un'impalcatura di base che include l'autenticazione. In Laravel 13 puoi scegliere tra i quattro tipi: React, Vue, Svelte e Livewire.
</Info>

### Opzioni di starter kit

Eseguendo il comando `laravel new` puoi scegliere uno dei seguenti starter kit.

<AccordionGroup>
  <Accordion title="React">
    Starter kit con frontend React basato su [Inertia](https://inertiajs.com). Utilizza React 19, TypeScript, Tailwind e [shadcn/ui](https://ui.shadcn.com), offrendo una configurazione moderna che combina SPA e routing lato server.
  </Accordion>

  <Accordion title="Vue">
    Starter kit con frontend Vue basato su [Inertia](https://inertiajs.com). Utilizza Vue Composition API, TypeScript, Tailwind e [shadcn-vue](https://www.shadcn-vue.com/).
  </Accordion>

  <Accordion title="Svelte">
    Starter kit con frontend Svelte basato su [Inertia](https://inertiajs.com). Utilizza Svelte 5, TypeScript, Tailwind e [shadcn-svelte](https://www.shadcn-svelte.com/).
  </Accordion>

  <Accordion title="Livewire">
    Starter kit basato su [Laravel Livewire](https://livewire.laravel.com). Consente di costruire UI dinamiche usando solo PHP, ideale per team che lavorano principalmente con i template Blade. Utilizza Tailwind e [Flux UI](https://fluxui.dev).
  </Accordion>
</AccordionGroup>

<Tip>
  Se sei incerto su quale configurazione scegliere, chiarisci prima le differenze tra Blade, Livewire, Inertia e SPA in [Frontend](/it/frontend): la decisione risulterà più semplice.
</Tip>

## Installazione con Laravel Herd

[Laravel Herd](https://herd.laravel.com) è un ambiente di sviluppo Laravel/PHP nativo per macOS e Windows.
Installa insieme PHP, Nginx e la CLI di Laravel.

### macOS

1. Scarica l'installer dal [sito web di Herd](https://herd.laravel.com).
2. Esegui l'installer e PHP verrà configurato automaticamente.
3. La directory `~/Herd` verrà impostata come "parked directory".

```shell theme={null}
cd ~/Herd
laravel new my-app
cd my-app
herd open
```

### Windows

1. Scarica l'installer per Windows dal [sito web di Herd](https://herd.laravel.com/windows).
2. Dopo l'installazione, avvia Herd e completa l'onboarding.
3. `%USERPROFILE%\Herd` diventa la parked directory.

```shell theme={null}
cd ~\Herd
laravel new my-app
cd my-app
herd open
```

## Configurazione iniziale

### Impostazioni dell'ambiente

Molti valori di configurazione di Laravel possono variare a seconda dell'ambiente.
Per questo motivo, i valori di configurazione più importanti si gestiscono nel file `.env` nella radice dell'applicazione.

<Warning>
  Non fare il commit del file `.env` nel controllo di versione.
  Esiste il rischio di far trapelare informazioni sensibili.
</Warning>

### Configurazione del database

Di default, Laravel è configurato per usare SQLite.
Se usi MySQL o PostgreSQL, aggiorna il file `.env`.

```ini theme={null}
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
```

Se usi un database diverso da SQLite, esegui le migration per creare le tabelle.

```shell theme={null}
php artisan migrate
```

## Supporto degli IDE

<AccordionGroup>
  <Accordion title="VS Code / Cursor">
    Installando la [Laravel VS Code Extension](https://marketplace.visualstudio.com/items?itemName=laravel.vscode-laravel) ufficiale ottieni evidenziazione della sintassi, snippet, integrazione con i comandi Artisan e autocompletamento intelligente dei modelli Eloquent, e altre funzionalità di supporto a Laravel.
  </Accordion>

  <Accordion title="PhpStorm">
    [PhpStorm](https://www.jetbrains.com/phpstorm/laravel/) offre supporto integrato al framework Laravel, con autocompletamento intelligente per template Blade, modelli Eloquent, route, viste e traduzioni.
  </Accordion>
</AccordionGroup>

## Prossimi passi

<Card title="Struttura delle directory" icon="folder-open" href="/it/directory-structure">
  Prendi confidenza con le principali directory e file di un progetto Laravel.
</Card>


## Related topics

- [Laravel Reverb](/it/reverb.md)
- [Laravel Console Starter](/it/packages/laravel-console-starter/index.md)
- [Laravel Telescope](/it/telescope.md)
- [Broadcasting](/it/broadcasting.md)
- [Laravel Passport (implementazione di server OAuth2)](/it/passport.md)
