Tutorial Debian 8 x64 com ISPConfig e NginX: Deploy do Linux

Para prosseguir em nosso tutorial será necessário um sistema operacional Linux. Faremos o deploy do Linux Debian 8 x64 num VPS de baixo custo.

Os meus tutoriais podem ser usados para configurar o ISPConfig em qualquer empresa de hosting, mas eu indico a Digital Ocean onde tenho todos os meus servidores e sites desde Outubro de 2014 sem sofrer quedas ou interrupções de serviço.

Então antes de fazer o deploy do Debian assine o serviço pelo meu link de indicação que você irá ganhar $10 de bônus. É só ativar a conta depositando $5 que o seu saldo será $15, sendo suficiente para 3 meses de hospedagem.

Assine o serviço por este link e ganhe um Bônus de $10

*Se você não possuir cartão de crédito internacional e quiser uma alternativa veja este:
Tutorial de como carregar créditos no Paypal com boleto bancário.

Instalando o Linux Debian 8 em um servidor VPS
Criando um servidor virtual

Na Digital Ocean os servidores virtuais são conhecidos como Droplets. Clique em “Create Droplet” e selecione as opções conforme exemplo abaixo:

» Choose an Image: <– Debian 8.x x64 (escolha a última versão disponível, 8.x indica que você deve instalar a última revisão de Debian 8, exemplo 8,7 ou 8.8 etc..)

* A Digital Ocean já fez o upgrade do kernel no Debian para a versão com o fix do exploit Dirty COW. Veja neste link como verificar.

» Choose a Size: <– $5/mo (mesmo que você pretenda instalar em um VPS mais robusto a Digital Ocean permite fazer um “resize” aumentando a capacidade do servidor a qualquer momento. *A Digital Ocean cobra por hora, o valor que aparece é informativo para o mês todo)

» Choose a Datacenter Region: <– NYC1 (NYC1 e SFO2 têm opção para Block Storage)

» Select Additional Options: <– Backups (Opcional porém recomendável. Acionando esta opção um backup automático semanal será criado de todo o seu VPS. O custo para o serviço é de 20% o valor do Droplet. Também será  cobrado por hora)

» Add you SSH Keys: <– Não usaremos esta opção

» How Many Droplets: <– 1 Droplet

» Choose a Hostname: <– cp.seu_dominio.com.br (Substitua seu_dominio.com.br pelo nome de um domínio válido e que exista (não precisa estar propagado ainda, mas deverá ser quando estiver em produção), e escreva um prefixo ao nome como o “cp” que utilizamos no exemplo. *A Digital Ocean finalmente nos escutou e mudou essa opção para maior clareza. Este será o seu Hostname FQDN, se quiser que os seus emails sejam entregues na caixa de entrada siga nosso exemplo. No meu servidor criei este nome como: debian8.fatorbinario.com (lembrando que fatorbinario.com é um domínio válido e que existe. Substitua pelo seu domínio válido aqui))

» Clique no botão Create

* Caso erre algum parâmetro e queira refazer os passos pode-se deletar o Droplet e criá-lo novamente quantas vezes forem necessárias.

Acessando o VPS pela primeira vez

Após criar o Droplet um email será enviado para você com as informações de acesso ao servidor. Será necessário e OBRIGATÓRIO a mudança da senha do superusuário root.

*Para acessar o servidor e os arquivos remotos eu indico o WinSCP com PuTTY e Notepad++ que ensino como integrar e usar neste tutorial.

• Acesse o servidor pelo endereço IP enviado ao email. Utilize uma ferramenta SSH como o PuTTY (só será possível acessar com o WinSCP via SFTP após trocar a senha do root. Mas se você seguiu o tutorial e integrou o PuTTY ao WinSCP então basta criar uma conexão e clicar ao lado do botão “Login” e escolher “Open in PuTTY”)

• O usuário para acesso será o root e a senha alterada desta maneira:

* Ao acessar o endereço IP pela primeira vez, seja via PuTTY ou WinSCP, uma mensagem de alerta será exibida solicitando a confirmação da chave de criptografia, clique em “Sim

» Password: <– Digite a senha enviada ao seu email (pode-se colar a senha no terminal SSH clicando com o botão direito do mouse e teclando ENTER)

» (current) UNIX password: <– DIGITE A MESMA SENHA ENVIADA PELO EMAIL

» Enter  new UNIX password: <– Digite uma nova senha

» Retype new UNIX password: <– Repita a nova senha

Índice do Tutorial:

Gestão em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing.
Envie um email para [email protected] e solicite uma análise gratuita!

  • Virtual

    Como disse em outro comentário, sou iniciante e gostei a forma que você escreveu o tutorial. To lendo todo ele para identificar possíveis dúvidas e então fazer todo de uma vez. Você pode me explicar ou indicar um conteúdo para entender o fqdn? A principal dúvida é como e onde ele é utilizado. Meu objetivo é hospedar mais de um site, esse fqdn vai aparecer em algum lugar dos domínios? Onde ele é utilizado?

  • FQDN é uma denominação, significa Fully Qualified Domain Name (em português:”Nome de Domínio Totalmente Qualificado”).

    Isso quer dizer que você precisa escrever o nome de domínio com a mesma estrutura de um domínio comum, contendo o TLD o nome de domínio e um subdomínio. Isso não pode ser “inventado” pois será usado para qualificar o servidor como válido para as normativas que regulam a internet.

    Nos servidores configurados pelos meus tutoriais isso será muito usado principalmente no servidor de email, e esse nome FQDN do servidor aparecerá nos cabeçalhos de emails enviados. Esse cabeçalho será verificado por outra normativa chamada Return Path, ou seja, para receber o email no outro lado sites como Hotmail e Gmail tentam atestar se o nome do servidor (neste caso o FQDN) existe e se ele tem um IP de retorno. Eles fazem isso para filtrar SPAM.

    Então, além de ser FQDN é muito importante que o nome do servidor seja um subdomínio de um domínio que exista e que tenha uma tabela DNS configurada e ativa para que o Return Path encontre o IP do servidor e valide o email.

    *Quando você cria o nome do servidor SEMPRE use um subdomínio, exemplo debian.meudominio.com.br. Já houve casos que a pessoa criou o servidor com o nome do domínio sem o sub e teve vários problemas de acesso depois.

    *O ISPConfig que usamos como painel nem deixa modificar os valores de configuração do servidor caso você não tenha criado ele como FQDN.

  • Virtual

    Obrigado pela explicação. Eu vi que ele é usado em varias etapas.

    Só para deixar claro a aplicação dele, tendo como base que vou hospedar mais de um site no servidor:

    Sendo que será criado somente um FQDN por servidor e não por domínio, conclui que se eu tiver o FQDN configurado como debian.meudominio1.com.br e enviar um e-mail do [email protected], aparecerá no cabeçalho o FQDN do servidor debian.meudominio1.com.br . É isso? Um exemplo seria o gmail quando diz “Fulado de tal por subdom.dominio.tld” ?

    Sabe me dizer se o FQDN pode aparecer em mais algum lugar dos outros domínios? A preocupação com isso é pq vou criar sites de segmentos e serviços diferentes e não vai ficar legal se o FQDN for, por exemplo, “algo.terror.com” e aparecer (seja publicamente como no e-mail ou meio de consulta como o whois do registro) para o domínio “algo.cristao.com”. Por isso gostaria de entender um pouco mais, onde poderá ser exibido o FQDN.

    Depois de saber onde mais poderá ser exibido, tomaria uma das ações como:

    Ou criar um domínio neutro para o FQDN ou então criar mais de um servidor quando necessário para que o FQDN seja outro, mas essa segunda opção me parece consumir mais do servidor. Que vc acha dessas opções?

  • Isso mesmo, no inicio do cabeçalho será inserido o nome do servidor.
    Você pode configurar um SMTP Relay externo que o cabeçalho será substituído por eles, por exemplo Mailgun.

    Em qualquer servidor, seja VPS, privado ou compartilhado, se você scanear os sites que existem no mesmo servidor aparecerá os demais. Mas raramente alguém se preocupa com isso. E o nome do servidor não aparece publicamente nos sites.

    Melhor opção é sempre criar num domínio neutro. E sempre que possivel escreva a tabela DNS pela CloudFlare que irá blindar e mascarar os domínios dificultando muito a exposição do servidor de origem.

  • Lennon

    Olá Boa Noite,

    Tenho uma dúvida, no campo user data, teria como colocar algum script que já defina uma senha para mim? Ou preciso recebe-la por e-mail mesmo?

    Obrigado pelo ótimo conteudo publicado neste site.

  • Olá Lennon,
    tem como usar aquele esquema de adicionar chave SSH no painel da Digital mas não é muito aconselhável fazer daquela maneira.

    Aprenda a lidar com ela recebendo por email mesmo porque se um dia você precisar resetar a senha do root ela será enviada sempre daquele jeito.

  • Lennon

    Ok, obrigado pelo retorno, o jeito é receber mesmo no e-mail.

  • Caio Hodos

    Luis, tudo bem?

    Veja se pode me ajudar com esse problema. Há cerca de uma semana não consigo acessar minha instância pois minha chave para o acesso ssh está sendo recusada. Segue o log abaixo:

    2017-03-07 08:46:25 Looking up host “208.113.164.XYZ”
    2017-03-07 08:46:25 Connecting to 208.113.164.XYZ port 22
    2017-03-07 08:46:25 We claim version: SSH-2.0-PuTTY_Release_0.65
    2017-03-07 08:46:25 Server version: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
    2017-03-07 08:46:25 Using SSH protocol version 2
    2017-03-07 08:46:26 Doing Diffie-Hellman group exchange
    2017-03-07 08:46:26 Doing Diffie-Hellman key exchange with hash SHA-256
    2017-03-07 08:46:26 Host key fingerprint is:
    2017-03-07 08:46:26 ssh-rsa 2048 08:19:25:db:ad:8a:54:c8:eb:92:e0:37:49:f8:74:32
    2017-03-07 08:46:26 Initialised AES-256 SDCTR client->server encryption
    2017-03-07 08:46:26 Initialised HMAC-SHA-256 client->server MAC algorithm
    2017-03-07 08:46:26 Initialised AES-256 SDCTR server->client encryption
    2017-03-07 08:46:26 Initialised HMAC-SHA-256 server->client MAC algorithm
    2017-03-07 08:46:26 Reading private key file “[PATH TO KEY]”
    2017-03-07 08:46:29 Offered public key
    2017-03-07 08:46:29 Server refused our key
    2017-03-07 08:46:29 Disconnected: No supported authentication methods available (server sent: publickey)

    Estou certo que todas as informações estão corretas, já cheguei até a criar uma nova instância com a mesma chave para testes e consegui acesso. Meu VPS não é na Digital Ocean, no momento da criação da instância você define a chave e acessa com o usuário padrão.
    Minha alternativa hoje é criar tudo do zero, se utilizar um snapshot agora vou continuar tendo problemas com a chave, se utilizar um anterior ele estará muito desatualizado.
    Já viu algo assim? Alguma sugestão? Obrigado!

  • Boa tarde Caio, editei a sua pergunta para exibir menos info do seu servidor.
    Para conseguir te ajudar envie no meu email mais informações como o nome do hosting que está o server.

  • Edson Correa

    Luis, tudo bem? Estou querendo seguir o seu tutorial para uma instalação de teste em uma máquina local (não sei se vai dar certo…). Para isso preciso saber qual versão do Linux Debian 8 x64 se utiliza no DO, pois lá no site da Debian tem várias versões, CD, DVD e por aí vai. Fiquei totalmente sem saber por onde começar para baixar… rs Saberia qual versão é?

  • Saiu hoje a Debian 8.8 X64 (versão 64 bits é representada por “AMD64”).

    Este é o link para CD:
    http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

  • Edson Correa

    Valeu! Aí que entra a minha dúvida: tem um monte de ISOs lá. Qual eu escolho? Aquela que tem os 8 cds?

  • Geralmente só o CD 1 já resolve mas acho que se você pegar o Netinstall consegue também.

  • Ola Luis,

    Gostaria de atualizar os pacotes de meu debian, pois mostra no ISPCONFIG um aviso, qual seria o processo?.

    Inst base-files [8+deb8u7] (8+deb8u8 Debian:8.8/stable [amd64])
    Conf base-files (8+deb8u8 Debian:8.8/stable [amd64])
    Inst libc6-dev [2.19-18+deb8u7] (2.19-18+deb8u9 Debian:8.8/stable [amd64]) []
    Inst libc-dev-bin [2.19-18+deb8u7] (2.19-18+deb8u9 Debian:8.8/stable [amd64]) []
    Inst linux-libc-dev [3.16.39-1+deb8u1] (3.16.43-2 Debian:8.8/stable [amd64]) []
    Inst libtirpc1 [0.2.5-1] (0.2.5-1+deb8u1 Debian-Security:8/stable [amd64]) []
    Inst rpcbind [0.2.1-6+deb8u1] (0.2.1-6+deb8u2 Debian-Security:8/stable [amd64]) []
    Inst libc-bin [2.19-18+deb8u7] (2.19-18+deb8u9 Debian:8.8/stable [amd64]) []
    Conf libc-bin (2.19-18+deb8u9 Debian:8.8/stable [amd64]) []
    Inst libc6 [2.19-18+deb8u7] (2.19-18+deb8u9 Debian:8.8/stable [amd64])
    Conf libc6 (2.19-18+deb8u9 Debian:8.8/stable [amd64])
    Inst libudev1 [215-17+deb8u6] (215-17+deb8u7 Debian:8.8/stable [amd64]) [udev:amd64 ]
    Conf libudev1 (215-17+deb8u7 Debian:8.8/stable [amd64]) [udev:amd64 ]
    Inst udev [215-17+deb8u6] (215-17+deb8u7 Debian:8.8/stable [amd64])
    Conf udev (215-17+deb8u7 Debian:8.8/stable [amd64])
    Inst linux-image-3.16.0-4-amd64 [3.16.39-1+deb8u1] (3.16.43-2 Debian:8.8/stable [amd64])
    Inst initramfs-tools [0.120+deb8u2] (0.120+deb8u3 Debian:8.8/stable [all])
    Inst libsystemd0 [215-17+deb8u6] (215-17+deb8u7 Debian:8.8/stable [amd64]) [systemd:amd64 ]
    Conf libsystemd0 (215-17+deb8u7 Debian:8.8/stable [amd64]) [systemd:amd64 ]
    Inst systemd [215-17+deb8u6] (215-17+deb8u7 Debian:8.8/stable [amd64]) [systemd-sysv:amd64 ]
    Conf systemd (215-17+deb8u7 Debian:8.8/stable [amd64]) [systemd-sysv:amd64 ]

  • Sempre faça um snapshot completo do servidor antes de atualizar o sistema. Se o upgrade fosse uma coisa banal de se fazer eu colocaria os comandos abaixo de cada artigo, mas não é. O mais comum de acontecer é a quebra de dependências entre os pacotes e consequentemente até mesmo a perda de acesso ao painel e erro nos sites.

    Lembre-se que quando você tem um servidor funcionando com vários sites ele é categorizado como Servidor em Produção, bem diferente daquele oba-oba que costumamos ler em fóruns na internet. Há vários comandos soltos por lá incluindo o upgrade do sistema mas aquilo só poderia ser usado como laboratório em servidores sem muita pretensão.

    Evite fazer upgrades de pacotes, mas os comandos são:
    > apt-get update
    > apt-get upgrade

    E em seguida tem que atualizar o ISPConfig também.

  • Obrigado Luis, tudo certo, fiz o snap do server por precaução e efetuei os updates, tudo certo.

    Obrigado.

  • Luis, bom dia!

    Muito obrigado pelas dicas. Uma duvida, estou fazendo um servidor secundário para mim, só que o meu servidor primário o FQDN é assim cp.exemplo.com.br, eu posso fazer outros servidores dessa maneira, cp2.exemplo.com.br?. Estará correto?.

  • Pode inventar o nome que quiser contanto que seja naquele formato.

  • Ah otimo, obrigado.