Configurando um servidor web para produção com o ServerPilot

O ServerPilot é um serviço de configuração e gerenciamento de servidores web. Ele faz a instalação de todos os pacotes e configurações necessárias para os serviços funcionarem, além disso, ele possui gerenciamento de aplicativos, bancos de dados e outras ferramentas via painel. Outro ponto interessante é que ele mantém o sistema operacional sempre atualizado e configura por padrão o firewall da máquina.

Tipos de Aplicativos

Basicamente qualquer aplicativo que utilize a linguagem de programação PHP e banco de dados MySQL podem ser instalados nele. Aplicativos que utilizam outros bancos de dados como PostgreSQL também podem ser instalados, porém é necessário instalar e configurar o banco no Linux de forma automática.

Na hora de criar uma aplicação dentro de um servidor o ServerPilot permite escolher a versão do PHP que ele rodará, com isso, é possível rodar até mesmo aplicativos legados com versões mais antigas do PHP. Outra característica que permite a flexibilidade é que ainda terá total liberdade e acesso ao seu servidor para fazer algum ajuste caso uma aplicação específica precise.

MySQL - Desenvolvedor
Curso de MySQL - Desenvolvedor
CONHEÇA O CURSO

Requisitos da instalação

O ServerPilot faz um setup inicial no servidor para instalar todos os pacotes que ele utiliza. Para esse processo acontecer sem problemas o servidor deve estar completamente limpo. O ServerPilot requer, nas novas instalções, o sistema operacional Ubuntu nas versões mais atuais, como 18.04 e 20.04.

O ServerPilot não impõem a utilização de nenhum serviço de nuvem específico, é possível instalar o ambiente em qualquer máquina que possua um IP público, acesso SSH com root e até mesmo uma máquina dentro da sua rede.

Onde instalar o servidor?

Apesar da possibilidade de ser instalado em qualquer local, para um servidor web usado em produção é aconselhável usar uma máquina na nuvem, a não ser que você tenha bons servidores, redundância de internet e outros recursos de infraestrutura dentro da sua empresa.

Uma das opções mais viáveis tecnicamente e em relação a custo benefício são as VPS (Virtual Private Server), são máquinas instalada na nuvem onde é possível ter total acesso ao sistema, alguns dos serviços mais conhecidos de VPS são Digital Ocean, Linode, OVH, AWS, Google Cloud Platform, Locaweb VPS.
Inclusive esinamos aqui no blog como utilizar a AWS EC-2 e Google Cloud Platform.

Além das listadas acima, com a popularização das VPSs quase todos os serviços de cloud possuem esse recurso à venda. Se possível, escolha um serviço com servidor no Brasil, assim diminui a latência.

Vale lembrar que ao escolher o serviço é necessário verificar se existe a imagem do Ubuntu conforme os requisitos do ServerPilot.

Instalação da VPS

Basicamente todos os serviços possuem uma interface de administração bem parecidas. Ao criar uma VPS terá que configurar as seguintes informações:

criação da vps ubuntu

Forma de acesso é importante usar senha ao invés de chave pública, pois será configurado dentro do ServerPilot.

Setup inicial

A primeira coisa que precisamos fazer é criar uma conta no ServerPilot. Após a criação da conta precisamos conectar o servidor, clique em + Connect Server e preencha os dados do seu servidor:

conexão do ServerPilot com servidor

Entre com o IP da máquina onde será instalado, senha do root e uma nova senha que será criada para o usuário serverpilot que se conectará na máquina através do SFTP uma versão segura do FTP para colocar os arquivos da aplicação no servidor.

Criando a aplicação

Um servidor pode conter várias aplicações e vários bancos de dados. Selecione o servidor que criamos, na imagem abaixo o servidor já possui duas aplicações:

lista aplicações web ServerPilot

Clique no botão + Create App e preencha para criar uma nova aplicação:

criação nova aplicação PHP

Precisamos selecionar os seguintes dados:

  • Nome da aplicação
  • Domínio que será usado para acessá-la. Geralmente o domínio é apontado para o servidor onde está a VPS e dentro do gerenciador de DNS da plataforma direcionado para o IP do servidor.
  • A versão do PHP que deve ser utilizado.
  • O Servidor onde ela será instalada.
  • O usuário do sistema usado pela aplicação.
PHP Avançado
Curso de PHP Avançado
CONHEÇA O CURSO

Uma opção interessante é, se você for usar WordPress, ele já faz a instalação automaticamente, basta marcar WordPress na criação da aplicação com os dados configurados:

Imagem instalação automática do WordPress

No caso do WordPress que ele já faz a instalação automaticamente basta acessar o endereço do seu domínio e terá a aplicação funcionando:

Imagem WordPress instalado automaticamente

Acessando os arquivos

Se sua aplicação não for WordPress será necessário acessar o servidor para inserir os arquivos. Isso pode ser feito através de SSH para clonar um repositório GIT, por exemplo, ou pode ser feito direto via SFTP usando um cliente como FileZilla:

conexão FTP filezilla ao ServerPilot

A senha do SFTP é aquela inserida no momento em que conectamos ao servidor para instalação. Ao conectar terá dentro da pasta apps o diretório de cada aplicação criada, basta colocar os arquivos da aplicação dentro desta pasta:

listagem de arquivos

Para finalizar, vale lembrar que uma aplicação pode ter vários bancos de dados, basta realizar a criação dentro da aplicação:

bancos de dados do ServerPilot

Conclusão

O serviço ServerPilot é uma opção muito interessante para desenvolvedores que precisam colocar suas aplicações online sem a necessidade de se preocupar com toda a parte de configuração dos serviços. O ServerPilot chegou a ter um plano gratuito, porém no momento só existe a opção de planos pagos sendo a paritr de U$5,00 por servidor mais U$0,50 por app (mensal), você pode testar a ferrmenta pelo período de teste (14 dias). Existem também outros serviços de gerenciamento de servidor como por exemplo o Forge do Laravel, focado em PHP, mas ele não tem uma versão gratuita.

Desenvolvedor Laravel Full-Stack
Formação: Desenvolvedor Laravel Full-Stack
Nesta formação você aprenderá desenvolver aplicações PHP usando o framework Laravel com maestria. Ao final desta formação, você terá condições de trabalhar em grandes aplicações web ou APIs integradas com diversos serviços, tudo isso utilizando as melhores práticas do mercado.
CONHEÇA A FORMAÇÃO
Deixe seu comentário

Professor e desenvolvedor. Formado em análise e desenvolvimento de sistema, pós graduando em engenharia e arquitetura de software. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel. @eltonfonsecadev

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200