Alisson Machado
14 August 2016

VestaCP

O cPanel é uma ferramenta que domina o mundo do hosting, porém é necessário adquirir uma licença para usa-lo, mas existem alternativas opensource totalmente gratuitas para quem está iniciando nessa área e o orçamento é pouco para investir. Uma delas que eu testei e uso é o VestaCP, é um painel gerenciador de hosting escrito totalmente em PHP. Nele é possível criar planos de hospedagem, limitar recursos, como espaço em disco, contas de email, domínios, subdomnios e até mesmo entradas na zona de DNS. Toda a documentação e instalação pode ser encontrada no site oficial: https://vestacp.com Mas vou fazer um breve resumo abaixo e explicar um pouco das funcionalidades. Para fazer a instalação, deve-se baixar o script com o seguinte comando:

curl -O http://vestacp.com/pub/vst-install.sh


e depois executa-lo:


bash vst-install.sh

Todas as opções podem ser selecionadas as defaults, e no final será informado o login e a senha de admin para acessar o painel. O endereço de acesso será assim: htps://seu_dominio.com.br:8083 A tela que ira aparecer será essa:



Após o login, essa será a tela que você irá ver.


Nos menus acima são realizadas as configurações do servidor que vou mostrar mas a frente e abaixo é a lista dos seus clientes já cadastrados. A primeira parte que vamos ver é a de criação de planos de hospedagem, para isso vá no canto superior esquerdo e clique em packages. Aparecerá a seguinte tela:


O plano default, vem como exemplo no VestaCP, mas você pode criar os seus customizados usando este como modelo. Então vamos explorar as propriedades deles. Do lado direito clique em edit e será aberta a seguinte tela:


Nessa tela existem as seguintes opções:

Package Name

esse é o nome do seu plano de hospedagem.


Web Template

esse é o vhost do apache que será usado como base, normalmente deixa-se a opção default.


Proxy Template

Essa opção define que o Nginx será utilizado como proxy para carregar os arquivos estáticos, como imagens, javascript e css, pode-se deixar a opção default também.


DNS Template

nessa opção você decide se o seu servidor de dns será na própria máquina ou em um servidor externo, se você deixar como default, estará definido o servidor de dns na própra máquina.


SSH Access

Nessa opção é definido qual é a shell de acesso do usuário por ssh, particularmente eu defino como bash, pois existem usuários mais avançados que precisam desse acesso para usar o git dentro da hospedagem por exemplo, no entanto muitas empresas de hosting deixam bloqueado esse acesso, caso você também queira deixar bloqueado é só definir essa opção como nologin.


Web Domains

Nessa opção é definido o limite máximo de domínios que um cliente pode criar nesse plano.


Web Aliases

Nessa opção você define a quantidade de aliases que o cliente pode criar, por exemplo: o domínio principal é alissonmachado.com.br e eu quero que o domínio alissonmachado.com também aponte para o mesmo site, nesse caso eu posso definir o segundo domínio como um alias para o primeiro.


DNS Domans

Nessa opção você define quantas zonas de DNS poderão ser criadas nesse pacotes, é coerente deixar esse número igual a quantidade de domínios, pois cada domínio precisará de uma zona de dns.


DNS Records

nessa opção é possível definir quantas entradas de dns poderão ser criadas por domínios. Por exemplo: para o domínio alissonmachado.com.br, posso criar as entradas mail, ns1,ns2, blog, teste,www, criando assim os seguintes endereços: mail.alissonmachado.com.br, ns1.alissonmachado.com.br e assim por diante, essa opção não é muito interessante definir um limite.


Mail Domains

Nessa opção são definidos quantos domínios poderão ter contas de email, é interessante também deixar a mesma quantidade que a quantidade de domínios.


Mail Accounts

Nessa opção serão definidas quantas caixas de email poderão ser criadas por domínio, essa opção é diretamente ligada a opção acima, então se você definir que o limite de domínios é 10 e contas por domínio é 10 também, o cliente poderá criar até 100 caixas de email, sendo 10 por domínio.


Databases

Nessa opção você define a quantidade de bancos de dados que o seu cliente pode ter, é interessante configurar esse limite igual a quantidade de domínios que o cliente pode ter, sendo assim o seu cliente pode ter 1 banco por domínio.


Cron jobs

Nessa opção pode-se definir a quantidade de tarefas agendadas por cliente, isso é de critério pessoal do administrador definir, pois existem cliente que podem configurar tarefas que executem a cada 1 minuto comprometendo a performance do servidor.


Backups

Nessa opção pode ser definir a quantidade de backups que o seu cliente pode gerar, é interessante deixar no máximo um limite de 7, pois é cliente pode deixar gerar backups de até 7 dias atrás.


Quota

Nessa opção é definido a quantidade de espaço que o cliente pode usar no servidor, o espaço é definido em megabytes, sendo assim o valor 10000 Mb é equivalente a mais ou menso 10 Gbs.


Nameservers

Nessa opção são definidos os DNS default para o cliente, por exemplo, se o meu domínio é alissonmachado.com.br eu posso criar 2 DNS validos como ns1.alissonmachado.com.br e ns2.alissonmachado.com.br e definir que todos os clientes utilizarão esse nameserver como padrão. Essas são todas as opções possíveis para criar ou editar um plano de hospedagem. Para criar um novo é só clicar em


Packages

novamente e no circulo verde com um sinal de +, será aberta a mesma página porém com todos os campos para edição.v Uma vez criado o plano de hospedagem, você pode cadastrar um cliente, feito isso clique no ícone do VestaCP que está no canto superior direto, e você voltará para a tela inicial, onde são gerenciados os cientes, para adicionar um novo clique no circulo verde com um sinal de + e será aberta a seguinte tela:


Screenshot_2016-08-14-19-00-36

Nela você poderá cadastrar seus clientes. Essa tela possui os seguintes campos:


Username

Esse campo define o login do cliente. Esse campo não possui um limite, porém é recomendável definir os logins dos clientes com no máximo 5 caracteres, pois esse nome será o prefixo para a criação de uma base de dados, que será composta por: logindocliente_nomedabase, e um usuário no mysql não pode ter mais do que 11 caracteres em seu login, sendo assim quanto maior for o login do usuário menor será o nome da base de dados e do usuário no mysql que ele for criar.


Password

é a senha do cliente, esse campo pode ser definido manualmente, mas é interessante que seja gerado automaticamente clicando no botão

generate

.


Email

Nesse campo deve ser definido o email que o cliente receberá os dados de acesso.


Package

Nessa opção você define o plano de hospedagem que o seu cliente irá utilizar, conforme criado previamente.


Language

Nessa opção é definido o idioma padrão que o painel do seu cliente estará acessível.


First Name

Primeiro nome do cliente.


Last Name

Sobrenome do eu cliente.


Send login credentials to email

email que receberá o login e a senha do cliente cadastrado, deve ser definido o mesmo da oção email acima. Preenchidos todos os campos é só clicar em ADD e o seu cliente já poderá acessar o painel e hospedar os domínios dele. Se o seu cliente quiser utilizar certificados SSL para garantir a segurança das páginas através do protocolo HTTPS, é necessário fazer a contratação de um IP Dedicado para esse domínio e adicioná-lo ao VestaCP, para fazer isso no topo da tela ao lado de

Packages

,

 

existe a opção

IP

, que ao clicar nela aparecerá a seguinte tela:


Nela são listados todos os endereços de IP vinculados a essa máquina, a mascara de rede e a interface do qual eles foram vinculados. Para adicionar um novo endereço de IP deve-se clicar no círculo verde com um sinal de +, que irá aparecer a seguinte tela.


Nessa tela 4 opções são de configuração obrigatória.


IP Address

nesse campo deve ser preenchido o endereço de IP que você quer adicionar.


Netmask

a mascara de rede do endereço fornecido pelo seu provedor de serviço.


Interface

deve ser selecionada a interface de rede do qual o endereço de IP será vinculado, caso só exista 1 interface, como acontece em muitos servidores cloud, pode ser associada a ela mesmo e automaticamente o VestaCP cria uma interface virtual vinculando esse endereço de IP.


Shared

Essa opção é muito importante, se marcada, qualquer cliente do seu servidor pode usar esse endereço de IP, ele será compartilhado para que qualquer domínio consiga usar, caso seja um endereço de IP dedicado, como é o caso de certificados SSL essa opção deve ser desmarcada, assim você poderá designar esse endereço de IP para um domínio em específico. Feito isso é necessário clicar no botão

ADD


para fazer a persistência das informações. O restante das opções são em sua maioria para consulta, como por exemplo a opção


Graphs

no topo da tela ao lado de


IP

. Ao clicar nessa opção aparecerá a seguinte tela:


Nela são mostrados alguns gráficos com média de consumo do servidor, uso de memória e dos demais serviços. Na opção

Statistics

ao lado de

Graphs

, ao clicar nela será aberta a seguinte página:


Nela é possível verificar o consumo do seu servidor naquele determinado mês, como por exemplo consumo de disco e de banda. Na opção

Logs

ao clicar, é aberta a seguinte página:


Nela é possível ver o log das últimas alterações no servidor, como por exemplo: troca de senhas, criação de novos usuários, criação de planos de hospedagem, migração de clientes entre planos e demais informações. Ao clicar em

Updates

você será redirecionado para a seguinte página:


Nela é possível ver atualizações do VestaCP, por padrão elas são realizadas automaticamente, então não é necessário mexer nas configurações dessa página. Na sequência existe a opção

Firewall

, nela pode ser configurado o firewall local da máquina, no entanto isso não descarta a necessidade de solicitar ao seu provedor de serviço a liberação de uma porta caso seja necessário o acesso externo. Abaixo uma imagem da tela de

Firewall

.


Existe também a opção

Server

, ao clicar nessa opção será carregada a seguinte página:


Nela é possível mudar o hostname da máquina caso necessário, fazer o restart dos serviços para efetivar alguma configuração que seja necessária e também verificar o Uptime da máquina.


Caso você precise acessa a hospedagem do seu cliente para dar suporte, é possível acessa-la sem a necessidade da senha do cliente. Volte para a página inicial do painel clicando no icone do VestaCP vá até a linha onde aparece o cliente cadastrado e no canto direito existe a opção login as.


Nela será aberta a seguinte página:


Na mesma tela, pode se ver o os dados de acesso ao SSH por exemplo. É possível também ver o email de acesso o plano e o status geral da hospedagem. O acesso ao FTP é feito utilizando o próprio domínio cadastrado, como por exemplo: alissonmachado.com.br o login que foi cadastrado o cliente e a senha do próprio cliente. A imagem abaixo representa uma conexão utilizando o filezilla.


Seleção_045


Nessa tela é possível ver os diretórios locais no lado esquerdo da tela e no lado direito os diretórios remotos. Clicando dentro da pasta

Web é possível listar todos os domínios que o cliente possui, conforme a imagem abaixo:


Seleção_046

Entrando na pasta do domínio, serão exibidas as pastas

Default

de qualquer contra criada. A mais importante é a pasta

public_html

, pois é nela em que são colocados os arquivos do site.


Seleção_047


Mas voltando a página inicial do cliente, no botão que é um circulo verde com o sinal de + logo acima, pode-se adicionar um novo domínio. clicando nele será aberta a seguinte página:


Domain

Nesse campo é preenchido o domínio que será cadastrado.

IP Address

Nesse campo é escolhido o endereço de IP que responderá por esse domínio, esse endereço é o que ficará na entrada @ A na zona de DNS do domínio cadastrado. A zona de DNS será explicada mais a frente.

DNS Support

Essa opção marcada cria uma zona de dns para o domínio cadastrado, ela não é obrigatória quando o seu DNS é externo, por exemplo quando você gerencia a sua zona de dns pelo registro.br.

Mail Support

Essa opção marcada permite que o domínio possua caixas de email. Uma vez com todas as opção preenchidas é só clicar em ADD e o novo domínio já estará cadastrado. Para ver a zona de DNS desse domínio, é só clicar na opção DNS no topo da página e nela será aberta a seguinte página:

Para ver todas as entradas de DNS criadas para uma zona de DNS, é só ir na linha em que está o domínio e depois clicar em

List Records

. E será aberta a seguinte página:

Nela são listadas todas as entradas de DNS da zona selecionada, caso você queria adicionar uma nova entrada, é só clicar no círculo verde com um sina de +. A seguinte página irá carregar:

Para cadastrar uma nova entrada, são necessárias basicamente 3 informações.

Record

Esse campo define a entrada que você vai criar. Pode ser mail, www, teste, painel, ou qualquer outra coisa que seja necessário.

Type

Nessa opção é definido qual o tipo da entrada que você quer definir. Por exemplo: Tipo A espera como valor um endereço de IP, AAAA espera como valor um endereço de IPv6, CNAME espera como valor um domínio ou uma outra entrada da mesma zona de DNS, TXT é normalmente para armazenar um texto, como entradas de SPF.

IP or Value

Nesse campo é necessário informar o valor de acordo com o tipo especificado acima, se for um tipo A recebe um endereço de IP, se for um CNAME espera um domínio ou uma entrada da mesma zona de DNS. Preenchidas as informações é necessário clicar em ADD para salvar a nova entrada de DNS. Clicando na opção

Mail

no topo da página você será redirecionado para a seguinte tela.

Nessa página são mostrados todos os domínios que podem ter contas de email, caso você queira ver as contas já cadastradas, é necessário clicar no botão

List Accounts

e será carregada a seguinte página:

Nessa página são listadas todas as contas de email criadas para o domínio selecionado, caso você queira criar uma nova conta de email, é necessário clicar no círculo verde com o sinal de + e será redirecionado para a seguinte página:

Nessa página são necessárias basicamente duas informações.

Account

Nesse campo é necessário informar a caixa de email sem o domínio. Por exemplo: alisson, liliane, hederson ou até mesmo, contato, comercial e assim por diante.

Password

Nesse campo pode ser definida a senha da caixa criada. Uma vez preenchidas essas informações pode-se clicar em

ADD

e a conta de email estará criada. No topo da página existem também a página

DB

, nela podem ser gerenciados todos os bancos de dados do cliente. Clicando nessa opção será carregada a seguinte página:

Nessa tela são listados todos os bancos de dados criados na hospedagem do cliente, caso queira criar um novo banco de dados, é necessário clicar no botão que é um circulo verde com um sinal de + e você será redirecionado para a seguinte página:

Para criar um banco de dados, é necessário preencher as seguintes informações:

Database

Nesse campo é definido o nome do banco de dados, por padrão automaticamente é definido como prefixo o login do usuário no nome do banco de dados, por exemplo, se for criar uma banco chamado wordpress, ele ficará da seguinte forma: alisson_wordpress.

User

Nesse campo é o login do usuário do mysql dono do banco de dados, o usuário também segue o mesmo padrão, no entanto o usuário tem um limite de 11 caracteres, então se o login do usuário for muito extenso, não sobrarão muitos caracteres para o login do banco de dados, por isso é recomendado que o login do usuário seja no máximo 5 caracteres, caso o login do usuário tenha acima de 10 caracteres não será possível criar bancos de dados para essa conta, será necessário remove-la e criar com um login menor.

Password

nesse campo é definida a senha para acesso ao banco de dados, ela pode ser definida manualmente, mas normalmente é gerada por motivos de força da senha.

Type

Nessa opção só é possível criar bancos mysql, caso seja necessário criar um banco de dados postgresql é necessário fazer uma customização do VestaCP.

Host

Nessa opção também é necessário deixar sempre como localhost por motivos de segurança, para que a base possa ser acessada somente de dentro da própria hospedagem, porém é possível fazer customizações a nível de banco de dados.

Charset

Nessa opção é definida a codificação de caracteres do banco de dados, o recomendado é UTF-8 que aceita todos os tipos de acentuação.

Send login credentials to email address

Nesse campo é definido o endereço de email que irá receber os dados de acesso ao banco de dados, por padrão ele é preenchido com o email do cliente dono da hospedagem. Uma vez definidas todas essas informações é necessário clicar no botão

ADD

para criar a nova base dados.