# Como publico o meu projeto Laravel?

https://www.seturack.com/pt/base-de-conhecimentos/artigo/how-do-i-deploy-my-laravel-project

1. No painel, abra **Os meus servidores** e clique no seu servidor.
2. No separador **Resumo**, aguarde até a linha **Aplicação** indicar «Laravel está pronto». A página atualiza-se sozinha.
3. Abra a ligação na linha **Endereço do site**. Vê a página de boas-vindas do Laravel.

## Levar o seu próprio código

[Ligue-se por SSH](https://www.seturack.com/pt/base-de-conhecimentos/artigo/how-to-connect-with-ssh) e mude para o utilizador do projeto:

`su - app`

`cd /var/www/laravel`

O projeto fica aqui. Depois de copiar o seu código para esta pasta, execute:

`composer install --no-dev`

`php artisan migrate --force`

`php artisan config:cache`

O ficheiro `.env` já está pronto, por isso não o substitua. O nome da base de dados e o utilizador são ambos `laravel` e a palavra-passe está no painel.

## O que já vem pronto

- O worker da fila é o serviço `laravel-kuyruk`. Execute `systemctl restart laravel-kuyruk` sempre que o seu código mudar.
- O agendador é executado a cada minuto (`/etc/cron.d/laravel`).

## O seu próprio domínio

1. Aponte o registo A do domínio para o endereço IP do servidor.
2. Como root, substitua o nome antigo em todo o lado: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` é a parte a seguir a `https://` no endereço apresentado no painel.
3. Execute `systemctl reload caddy`.

O Caddy obtém e renova o certificado sozinho.

Atualize também `APP_URL` no ficheiro `.env`. Apenas as portas **80**, **443** e **22** (para SSH) estão abertas ao exterior.

**Ainda sem servidor?** [Encomende um servidor com Laravel instalado](https://www.seturack.com/pt/laravel-vps): escolhe o tamanho e paga apenas o que escolher.
