# Comment déployer mon projet Laravel ?

https://www.seturack.com/fr/base-de-connaissances/article/how-do-i-deploy-my-laravel-project

1. Dans le panneau, ouvrez **Mes serveurs** et cliquez sur votre serveur.
2. Dans l'onglet **Vue d'ensemble**, attendez que la ligne **Application** indique « Laravel is ready ». La page se rafraîchit toute seule.
3. Ouvrez le lien de la ligne **Adresse du site**. Vous voyez la page d'accueil de Laravel.

## Apporter votre propre code

[Connectez-vous en SSH](https://www.seturack.com/fr/base-de-connaissances/article/how-to-connect-with-ssh) et passez à l'utilisateur du projet :

`su - app`

`cd /var/www/laravel`

Le projet se trouve ici. Une fois votre code copié, lancez :

`composer install --no-dev`

`php artisan migrate --force`

`php artisan config:cache`

Le fichier `.env` est déjà prêt, ne l'écrasez pas. Le nom de la base de données et l'utilisateur sont tous deux `laravel`, et le mot de passe se trouve dans le panneau.

## Ce qui est déjà prêt

- Le worker de file d'attente est le service `laravel-kuyruk`. Lancez `systemctl restart laravel-kuyruk` quand votre code change.
- Le planificateur s'exécute chaque minute (`/etc/cron.d/laravel`).

## Votre propre domaine

1. Faites pointer l'enregistrement A de votre domaine vers l'adresse IP de votre serveur.
2. En root, remplacez partout l'ancien nom : `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` est la partie après `https://` dans l'adresse affichée dans le panneau.
3. Lancez `systemctl reload caddy`.

Caddy obtient et renouvelle le certificat tout seul.

Mettez aussi à jour `APP_URL` dans le fichier `.env`. Seuls **80**, **443** et **22** pour SSH sont ouverts vers l'extérieur.

**Pas encore de serveur ?** [Commandez un serveur avec Laravel installé](https://www.seturack.com/fr/laravel-vps) : vous choisissez la taille et vous payez ce que vous choisissez.
