Configuração de um VPS no Google Cloud

Parte 1 – Criação da Instância

escrevo depois

Parte 2 – Configuração da Instância

Nesse ponto, quando o Google disser “OK”, o que nós temos? Uma instãncia Linux já executando, mas sem nada de útil ainda. A primeira coisa que precisamos é torná-la pública, através da vinculação de um IP externo estático, através do qual vamos acessá-la, primeiro por SSH, depois pelos serviços que ela vier a presta (site, por exemplo). Claro, você pode fazer toda a configuração sem o IP externo, usando o cliente SSH do próprio Google Cloud ou mesmo acessando pelo IP temporário que ele atribui a toda máquina. mas o IP estático tem lá suas vantagens, e a primeira delas tem a ver com DNS, sendo muito mais prático atribuir um domínio ao IP e vice-versa.

A segunda coisa que precisamos fazer é nos dar acesso ao servidor. A máquina já vem com um usuário “ubuntu” padrão, e o Google Cloud ainda cria um segundo usuário com o nome da conta Google, que ele usa para os acessos SSH via sua interface (console fornecido pelo Cloud). O que eu recomendo fazer é, se você usa Linux como máquina de trabalho, pegar a sua chave pessoal pública em ~/.ssh/id_rsa.pub e incluí-la na lista de chaves permitidas. Isso vai liberar o acesso à sua máquina com o seu nome de usuário local (é possível ajustar, caso precise, desde que antes de confirmar). Todos os usuários criados até agora são super-administradores (poder de sudo). Mais usuários podem ser criados e gerenciados pelo Linux normalmente. Lembrando que por default o SSH da instância não permite acesso por senha, somente por Chave Pública (liberar é possível, mas reduz a segurança do sistema).

A terceira coisa a se fazer é atualizar o sistema. Isso pode ser feito com um único mega-comando, no caso abaixo pensando numa pilha LAMP básica sem muita frescura:

sudo add-apt-repository ppa:certbot/certbot -y && sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y language-pack-pt && sudo locale-gen && sudo dpkg-reconfigure tzdata && sudo apt-get install -y apache2 php mysql-server mysql-client php-cli php-gd phpmyadmin software-properties-common python-certbot-apache ssh vim zip unzip rar unrar wget curl nmap git subversion libapache2-mod-php php-mcrypt php-mysqlnd molly-guard

Alguns pontos sobre o comando acima:

  • CertBOT é o gerador automático e gratuito de certificados SSL. Para o Ubuntu a melhor forma de instalar é via um repositório PPA, que é seguro.
  • Atualizar a lista de pacotes e atualizar os existentes é um primeiro passo bem sensato.
  • Instalar o idioma português e configurar o fuso-horário do servidor, além de facilitar nosso uso, ainda elimina algumas possíveis mensagens chatas e confusões mais tarde.
  • A lista de programas inclui Apache (2.4) com PHP (7.0), MySQL (5.6), phpMyAdmin, versionadores de código e alguns utilitários que de vez em quando são úteis.
  • No processo, você deverá responder algumas perguntas, incluindo seu fuso-horário, senha de root para o MySQL, e configuração do phpMyAdmin, entre outros possivelmente.

Tem um passo nessa hora que eu gosto de executar, embora não afete em nada o servidor, mas facilita (pra mim) o uso dele. Editando o arquivo ~/.bash_profile podemos configurar um prompt colorido e talvez mais informativo, além de definir alguns atalhos úteis. Pode ser feito a nível de sistema via /etc/profile.d também, se quiser aplicar a todos os usuários.

#!/bin/bash
alias dir=’/bin/ls -lahF –color=auto’
alias grep=’/bin/grep –exclude-dir=.svn –exclude-dir=.git –color=auto’
alias grepi=’/bin/grep –exclude-dir=.svn –exclude-dir=.git –color=auto -i’
alias ls=’/bin/ls –color=auto’
alias dir=’/bin/ls -lhF –color=auto’
alias rm=’/bin/rm -i’
alias cp=’/bin/cp -i’
alias mv=’/bin/mv -i’
export PS1=”\[\e[35m\]\u\[\e[m\]@\h:[\W]\$ “

Agora a configuração passa para os dados hospedados e especificidades de serviços. Vai variar conforme a função do servidor. Outras coisas comuns que podem ser feitas:

  • Definir a senha do root (sudo passwd), já que a padrão aleatória (gestão orientada à sudo). Recomendo a mesma do root do MySQL.
  • Definir a senha do seu usuário (sudo passwd `whoami`), pelo mesmo motivo
  • Esconder, restringir ou mudar o ponto de acesso do phpMyAdmin, para aumentar a segurança
  • Instalar PHP-FPM ou suphp se o servidor tiver sites de mais de um cliente

Uma recomendação legal é criar 1 arquivo de configuração do Apache para cada domínio que tem ligação com o servidor. Inclusive para domínios de simples redirecionamento, que podemos gerar com um script simples:

export from=”dominio.com.br”; export to=”https://www.dominio.com.br/”; echo -e “<VirtualHost *:80>\n\tServerName $from\n\tDocumentRoot /var/www/html\n\tRedirectPermanent / $to\n</VirtualHost>” > /tmp/tmpdom && sudo mv /tmp/tmpdom /etc/apache2/sites-available/$from.conf && sudo a2ensite $from && sudo apachectl configtest && sudo service apache2 reload && sudo certbot –apache -d $from

O último comando da sequência acima usa o CertBOT para gerar um SSL, sendo que na primeira vez que é executado ele pede um e-mail e aceitação dos termos de uso. Sendo redirecionamentos, ao final escolha a opção (1) para não redirecionar, assim o destino final é alcançado sem hops intermediários. Para configurar domínios de uso real, é melhor ver com a sua aplicação.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Isso Te Ajudou?

Se este texto te deu alguma luz para resolver um problema ou entender melhor algum conceito, eu fico feliz.

Quem sabe eu possa te ajudar com algo mais específico?

Rapidinho

Compartilhe!

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no linkedin
Compartilhar no whatsapp

Nunca pare de aprender!

Veja alguns textos relacionados

Ebooks grátis de Janeiro

Se você tem um Amazon Kindle e um smartphone da Samsung, provavelmente tem acesso à versão Galaxy do App da Amazon. As funcionalidades são as

Monitorando seu blog com Google Analytics

É difícil encontrar um recurso mais importante para seu blog do que alguma solução de monitoramento de tráfego. E de todas, o Google Analytics eu considero como a melhor. Não é difícil instalar, e muitos temas já dão essa opção diretamente, mas usar um plugin completo como o da Yoast faz muita diferença, e eu vou mostrar por que.