Pôr uma aplicação Laravel a correr

O Laravel não é um CMS: é a base sobre a qual se escreve uma aplicação em PHP. Por isso este artigo tem duas metades. A primeira é para quem quer um esqueleto novo para começar; a segunda é para quem já tem uma aplicação escrita e a quer pôr aqui.

O instalador do cPanel tem duas séries do Laravel, e ambas pedem PHP 8.2 ou mais recente. Nenhuma lhe pede extensões a mais: tudo o que o Laravel exige já vem ligado numa conta nova.

A. Começar do zero, pelo instalador

1 No cPanel, confirme em Select PHP Version que está em 8.2 ou acima: mudar a versão do PHP sem partir o site.
2 Abra o Softaculous Apps Installer e procure Laravel.
3 Escolha o domínio, o protocolo https e a pasta.
4 Instale. O que fica lá é um projecto Laravel vazio, com a base de dados criada e o ficheiro de ambiente escrito. A partir daqui o código é seu.
O instalador é a maneira rápida de acertar a parte chata: a base de dados, a chave da aplicação e as permissões das pastas de escrita. Mesmo quem vai depois substituir o código todo poupa tempo começando assim.

B. Trazer a sua própria aplicação

A dificuldade é sempre a mesma, e é esta: o Laravel serve o site a partir da pasta public, e não da raiz do projecto. As pastas com a configuração, o código e as chaves ficam um nível acima, e nunca devem ser alcançáveis pelo navegador.

1 Envie o projecto para a conta, por FTP ou pelo Gestor de Ficheiros: contas FTP e o FileZilla. Não envie a pasta das dependências nem a pasta dos ficheiros compilados.
2 Coloque o projecto FORA da pasta pública e aponte a pasta pública do domínio para a public do projecto. Se for um domínio adicional ou um subdomínio, isso escolhe-se ao criá-lo: acrescentar um domínio ou subdomínio.
3 Crie a base de dados e o utilizador dela no cPanel: criar bases de dados e usar o phpMyAdmin.
4 Escreva o ficheiro de ambiente com os dados da base, o endereço do site e a chave da aplicação. Sem chave, o Laravel recusa-se a arrancar.
5 Instale as dependências e corra as migrações pela linha de comandos. Precisa de acesso SSH: há contas com shell e contas sem.
6 Confirme que as pastas de escrita têm permissão. Se o site der erro 500 logo à primeira, é quase sempre isto ou a chave em falta. Veja os erros do site explicados.
Na linha de comandos, o php por omissão pode não ser a versão que escolheu para o site. Isto dá um resultado desconcertante: o site abre bem no navegador e as ferramentas de linha de comandos recusam-se a correr, ou ao contrário. Use sempre o caminho completo da versão de PHP que escolheu, tanto ao instalar dependências como nas tarefas agendadas.

O agendador e as filas

Se a aplicação usa o agendador do Laravel, precisa de uma tarefa agendada a correr a cada minuto, que chama o agendador dele. É assim que o Laravel foi desenhado: uma só entrada no cron, e o resto decide-se dentro do código. Veja tarefas agendadas, e não esqueça o caminho completo do PHP.

Filas com processos permanentes não são para alojamento partilhado. Um processo que fica a correr sem parar bate no tecto de processos da conta e é interrompido. Se a aplicação precisa disso, o sítio dela é um servidor próprio: VPS, Cloud ou Dedicado. Sobre os tectos, veja os limites da conta.

Antes de pôr no ar

1 Desligue o modo de depuração. Com ele ligado, qualquer erro mostra ao visitante o código, os caminhos e, por vezes, as credenciais da base.
2 Confirme que o ficheiro de ambiente não é alcançável pelo navegador. Se o projecto ficou bem colocado, não é.
3 Ligue o acelerador do PHP. O opcache vem desligado numa conta nova e liga-se em Select PHP Version.
4 Faça a primeira cópia, do código e da base: fazer e testar a sua própria cópia.

Para o que é comum a todas as instalações, veja instalar uma plataforma pronta. Se a sua aplicação é noutra linguagem, veja Django ou Ruby on Rails.

Aplicação enviada e só dá erro 500? Diga-nos o domínio e a pasta, e vemos o registo de erros consigo.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Servidor VPS

Política de Suporte

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 600,00 MT/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?