Como implantar uma aplicação Laravel com ISPConfig

Procédure

A implantação de uma aplicação Laravel em um VPS com ISPConfig é feita configurando seu domínio, o site no painel de gerenciamento e, em seguida, instalando o projeto pela linha de comando com uma conta dedicada. Laravel é um framework web open source em PHP concebido para criar aplicações web robustas e modernas graças a uma arquitetura clara e elegante. Este procedimento completo orienta você passo a passo até a exibição da página inicial segura em HTTPS, sem precisar utilizar os privilégios root do servidor.

As etapas

  1. Criar o registro DNS para o seu domínio ou subdomínio

    Acesse a seção de gerenciamento do seu domínio, abra a aba Zona DNS e crie uma nova entrada. Escolha o tipo A, informe o subdomínio desejado (por exemplo laravel para laravel.learnlws.fr), insira o endereço IP do seu servidor VPS (ex.: 203.0.113.10) e clique em Adicionar.

    Como implantar uma aplicação Laravel com ISPConfig
  2. Acessar a interface ISPConfig a partir da área de cliente

    Na área de cliente LWS do seu VPS, localize o bloco Administração do seu servidor e clique no botão Painel de administração para se conectar ao ISPConfig.

    Como implantar uma aplicação Laravel com ISPConfig
  3. Adicionar o site web com PHP-FPM e Let's Encrypt

    No ISPConfig, navegue no menu Sites e clique em Add new website. Insira seu domínio completo (ex.: laravel.learnlws.fr), selecione o alias Auto-Subdomain se necessário, marque obrigatoriamente as opções SSL e Let's Encrypt SSL, defina o campo PHP como PHP-FPM, escolha uma versão recente do PHP e clique em Save.

    Como implantar uma aplicação Laravel com ISPConfig
  4. Criar um usuário Shell para o projeto

    No menu à esquerda, vá até a seção Command Line e clique em SSH/SFTP-User, depois em Add new SSH-User. Selecione seu site, informe o nome de usuário (que será precedido por um prefixo automático como defaultlaravelapp), indique uma senha segura, deixe a configuração Chroot Shell em None para permitir a execução global das ferramentas PHP e clique em Save.

    Como implantar uma aplicação Laravel com ISPConfig
  5. Criar o banco de dados MySQL e seu usuário

    No menu à esquerda, em Databases, comece adicionando um usuário MySQL por meio de Database Users, atribuindo a ele uma senha forte. Em seguida, vá para Databases, clique em Add new Database, selecione seu site, nomeie o banco de dados e associe o usuário MySQL que você acabou de definir antes de confirmar.

  6. Conectar-se por SSH e implantar o projeto com Composer

    Abra seu terminal e conecte-se com seu usuário shell: ssh defaultlaravelapp@203.0.113.10. Verifique se o Composer (o gerenciador de dependências padrão para PHP) está disponível com o comando composer -V; se ainda não estiver presente, baixe seu executável diretamente na sua conta. Posicione-se no diretório da sua hospedagem e inicialize o projeto com composer create-project laravel/laravel . (ou clone seu repositório Git antes de executar composer install).

  7. Configurar o arquivo .env, gerar a chave e migrar o banco

    Edite o arquivo .env na raiz do seu projeto Laravel com um editor como o nano: defina APP_URL=https://laravel.learnlws.fr e preencha os parâmetros MySQL (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Em seguida, execute a geração da chave de criptografia com php artisan key:generate e, depois, execute as migrações com php artisan migrate para criar as tabelas.

  8. Ajustar a pasta pública web e as permissões

    Laravel disponibiliza seu ponto de entrada a partir da subpasta public/. No ISPConfig, ajuste a diretiva de document root do Apache do seu site para apontar para essa pasta public/ (ou vincule a pasta web/ a public/), e então aplique as permissões de escrita indispensáveis nas pastas de cache e logs executando chmod -R 775 storage bootstrap/cache.

  9. Verificar o funcionamento no navegador

    Abra seu navegador web e digite o endereço do seu site (por exemplo https://laravel.learnlws.fr). A página inicial padrão do Laravel será exibida com o cadeado de segurança SSL ativo, confirmando o sucesso completo da instalação.

Comandos Artisan indispensáveis após a implantação

Após a instalação da sua aplicação Laravel, vários comandos do console Artisan facilitam a operação e a manutenção do projeto.

  • php artisan key:generate — gera a chave de criptografia exclusiva indispensável para a segurança da aplicação
  • php artisan migrate — aplica os esquemas e cria o conjunto de tabelas no seu banco de dados MySQL
  • php artisan config:cache — coloca em cache os arquivos de configuração para acelerar o desempenho em produção
  • php artisan route:cache — otimiza o carregamento das rotas da sua aplicação para as requisições dos visitantes

Perguntas frequentes

Por que escolher a opção 'None' para o Chroot Shell do usuário?

O modo 'None' permite que seu usuário execute os binários globais do sistema Debian (especialmente PHP CLI, Git e Composer). Um ambiente chroot clássico restringe os acessos e bloquearia a execução normal dos comandos Artisan e Composer.

Por que a página inicial exibe um erro 500 após a implantação?

Um erro HTTP 500 geralmente decorre de uma chave de aplicação ausente no arquivo .env (execute php artisan key:generate) ou de permissões insuficientes nas pastas storage e bootstrap/cache, que devem estar acessíveis para escrita pelo servidor web.

Como fazer o ISPConfig apontar diretamente para a subpasta public do Laravel?

Você pode inserir uma diretiva Apache personalizada nas opções do site no ISPConfig para redefinir o DocumentRoot para /var/www/votresite.com/web/public, ou substituir a pasta padrão web por um link simbólico apontando para a pasta public do seu projeto.

É necessário acessar o servidor com a conta root?

Não, todas as operações de gerenciamento de arquivos, instalação de dependências do Composer, configuração .env e comandos Artisan são realizadas integralmente com o usuário shell vinculado ao site criado no ISPConfig.

O certificado SSL Let's Encrypt não é ativado no ISPConfig, o que fazer?

Certifique-se de que o registro DNS do tipo A aponte corretamente para o endereço IP do seu VPS e de que a propagação tenha sido concluída. O Let's Encrypt verifica a acessibilidade do domínio a partir do exterior antes de validar e emitir o certificado.

Links úteis

help.lws.net/a/7955
Este artigo foi útil?

Sim

Não

Lido 3 vezes

Obrigado! Não hesite em colocar questões sobre a nossa documentação se pretender mais informações e ajudar-nos a melhorá-la.

Artigos semelhantes

Uma pergunta sobre este artigo?

Coloque-a à equipa LWS e à comunidade. A resposta é publicada após moderação.

Fazer uma pergunta à equipa do LWS e à sua comunidade

RGPD: Responsável: LWS-Ligne Web Services. Finalidade: moderação e publicação pública da sua pergunta, eventual notificação de uma resposta. Base legal: consentimento (art. 6.º, n.º 1, al. a) RGPD). Conservação dos e-mails: 90 dias após a notificação, 12 meses no máximo sem resposta. Para exercer os seus direitos, consulte a secção RGPD das nossas condições gerais.