DigitalOcean Block Storage: Aprenda como adicionar mais espaço ao servidor

Recentemente a Digital Ocean começou a ofertar Block Storage para os Droplets possibilitando aumentar a capacidade de armazenamento dos servidores sem necessidade de fazer upgrade do VPS inteiro, o que era muito expensivo.

Block Storages são unidades de armazenamento que podem ser acopladas a um servidor, e o melhor é que, além de ser possivel customizar o tamanho variando entre 1Gb e 16Tb, também podemos fazer resize da unidade ou adicionar outra ao mesmo Droplet (a Digital Ocean permite acoplar até 5 unidades de armazenamento para cada VPS).

Eu testei a novidade e posso dizer que podemos tirar grande proveito se soubermos como aplicar em nosso site ou projeto pois o custo por Gb em SSD é de apenas $ 0,10 ao mês.

Imagine um cenário onde o seu site tem muitos arquivos e fotos, digamos milhares de fotos. Neste caso você teria que alugar um servidor maior, que nunca é barato, ou migrar o site para uma hospedagem compartilhada retornando aos dias de sofrimento com suporte e site offline. Com o Block Storage e alguns truques podemos linkar a nova partição com a pasta de fotos.

Em outro diferente cenário podemos usar a unidade montada para manter backup de um projeto ou de todo o servidor, usando rsync e o cron pode-se facilmente criar uma rotina agendada para isso. E ainda, num terceiro cenário de exemplo, poderíamos instalar o OwnCloud e linkar o diretório de armazenamento de arquivos para a unidade acoplada, desta maneira quando o volume de arquivos crescer é só fazer o resize para o tamanho que desejar criando o seu próprio Dropbox escalonável.

Uma outra vantagem de se usar armazenamento acoplado é que, se destruirmos o servidor por qualquer motivo, a unidade continuará no painel da conta com todos os arquivos, aguardando para ser adicionada à um Droplet novamente, e quando montarmos a partição os arquivos estarão lá.

Se você ainda não é assinante da Digital Ocean clique neste link e ganhe um bônus de $10 dólares para gastar em hospedagem. *O bônus é real e imediato após o primeiro depósito de pelo menos $5. (Algumas empresas oferecem bônus mas para usá-lo é necessário cumprir vários requisitos).

Block Storage: Como adicionar espaço em disco no VPS

* Este tutorial foi testado em nosso servidor Debian 8 Jessie com ISPConfig 3 e NginX, clique aqui e veja como instalar.

Adicionando um Block Storage

Acesse o painel da sua conta na Digital Ocean e clique em um Droplet que esteja em NYC1 ou SFO2. Neste mês de lançamento eles ofertam o novo serviço somente nesses datacenters.  *Caso o seu VPS não esteja nos datacenters que ofertam Block Storage pode-se migrá-lo para um que tenha.

Clique no menu Volumes e no botão “Attach a volume“.. Na tela que abrirá pode usar o nome padrão para a unidade (deixe o padrão para seguir o tutorial), e no espaço a adicionar digite um número (em Gb), exemplo 50. Com isso criaremos uma unidade de 50Gb em SSD que custará apenas $5 por mês. Note que logo abaixo do volume há um checkbox marcado indicando que a nova unidade será acoplada ao Droplet automaticamente. Clique em “Create“.

Montar e usar a partição no sistema

Para podermos usar a unidade é necessário montar e formatá-la. Acesse o console SSH como superusuário root para digitar os comandos abaixo (ou se tiver adicionado um usuário operador com permissões elevadas pode acessar com ele mas não esqueça de adicionar “sudo” ao início dos comandos)

Logo após clicarmos no botão para criar o Block Storage uma janela popup exibe os comandos que teremos que digitar para montar a unidade, vou relacioná-los abaixo:

*Irei negritar em vermelho o nome da partição caso você tenha alterado o nome padrão ou criado uma segunda partição.

Neste exemplo vamos formatar o volume usando o sistema de arquivos “ext4“.

mkfs.ext4 -F /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01

Para montar o volume formatado digite os seguintes comandos (note que montaremos no diretório /mnt mas poderia ser em qualquer lugar do sistema. Posso explicar melhor isso nos comentários caso haja dúvidas)

mkdir -p /mnt/volume-nyc1-01

mount -o discard,defaults /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 /mnt/volume-nyc1-01

Temos ainda que adicionar a partição ao fstab para que seja montada automaticamente quando o sistema reiniciar

echo '/dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 /mnt/volume-nyc1-01 ext4 defaults,nofail,discard 0 0' | tee -a /etc/fstab

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!

SMTP Relay com Postfix e SparkPost

O SparkPost é mais uma das muitas alternativas para envio de email usando SMTP externo. Já publiquei aqui no site vários tutoriais falando sobre o assunto, porém decidi publicar mais este por dois motivos abaixo apresentados.

A Mandrill, que na minha opinião é o melhor serviço de envio (por pertencer à MailChimp), está encerrando as contas gratuitas neste mês deixando muita gente com a opção de comprar créditos ou migrar de serviço. Sendo esse o primeiro motivo de eu escrever este tutorial, a própria Mandrill indica a SparkPost. E o segundo motivo é que a SparkPost deixa enviar 100 mil emails por mês com limite de 10 mil diários na conta gratuita.

Acabei de testar o serviço de SMTP Relay pelo Postfix e está entregando normalmente em contas do Hotmail. Nas últimas semanas usei a Mailgun que também tem uma taxa alta de entrega, mas com um limite mensal bem inferior.

SMTP Relay com Postfix e SparkPost

* Este tutorial foi testado em nosso servidor Debian 8 Jessie com ISPConfig 3 e Postfix, clique aqui e veja como instalar. Consideraremos que a sua tabela DNS de domínio já esteja configurada e devidamente propagada.

Crie uma conta gratuita no SparkPost e configure o domínio

Os passos para criar a conta são praticamente os mesmos dos demais sites, acesse este link e registre-se clicando em “Try for Free“: https://www.sparkpost.com/

Após registrar e confirmar a conta clique no seu Dashboard que terá um passo a passo do que deverá ser feito para ativar o envio.

Create a sending domain: Adicione o seu domínio que enviará os emails, siga o exemplo abaixo:

» Clique em NEW DOMAIN

» Digite o seu domínio, exemplo: fatorbinario.com

» Clique em Add Domain

Verify your sending domain: Após adicionar o domínio você deverá configurar a tabela DNS e confirmar que ele é seu indicando um email para verificação que deverá estar no mesmo domínio. Após alterar a tabela DNS e confirmar o email clicando no link enviado clique nos botões de “teste” para validar. Caso tenha problemas para adicionar registros na tabela DNS veja nossos tutoriais de como fazer.

Get an API key for sending: Clique em NEW API KEY. Uma chave será criada, anote-a ou copie para outro lugar porque ela não será exibida novamente no Dashboard e teremos que usá-la no Postfix mais adiante.

Configuração do Postfix: Opção de SMTP Relay seletivo

Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas são referentes ao arquivo original, se você alterou o arquivo por algum motivo encontre-as):

# Linha 23:

smtpd_use_tls = yes
# Modifique a linha 35 para um valor nulo

relayhost =
# Adicione estas linhas ao final (lembre-se de deixar uma linha vazia no final do arquivo para prevenir problemas). Isso ira ativar o SASL para autenticação externa

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps
smtp_sasl_security_options = noanonymous

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!

Tutorial Debian 8 x64 com ISPConfig e NginX: Configurações Adicionais

Após a instalação e configuração do servidor e dos sites existem algumas tarefas diárias que devemos executar para monitorar os arquivos e os serviços.

Neste artigo adicional aprenda como direcionar os emails do root para uma conta válida pois não é possível fazer acesso POP na conta do root. E veremos ainda como criar alguns scripts que ajudam na administração.

Segurança: Scripts e Configurações Adicionais Redirecione os emails do root para outra conta

Isso é importante pois alguns emails administrativos do servidor são enviados somente para o superusuário root na máquina local. Por exemplo: se alguém cadastrar um segundo usuário admin no ISPConfig um email será enviado ao root.

1a ⇒ Acesse o terminal SSH como root

1b ⇒ Edite o arquivo /root/.forward (para visualizar arquivos com um ponto no início “arquivos ocultos” digite o comando ls -al). Adicione a seguinte linha:

* Substitua o email abaixo por outro válido e que exista

[email protected]

1c ⇒ Método Alternativo: Caso o primeiro método não seja possível ou não funcione em seu sistema use esta segunda opção. Edite o arquivo /etc/aliases e no final adicione uma nova linha (DICA: direcione para outra conta interna no próprio servidor como a contato de algum site, caso o SMTP esteja bloqueado por algum motivo mesmo assim você poderá recuperar os emails via POP):

root: [email protected]

Após salvar o arquivo digite o comando:

newaliases

Script para monitorar alteração nos arquivos dos sites

Alguns leitores reportaram recentemente que tiveram os sites hackeados, não pelo motivo de terem invadido o servidor mas somente um site isolado (via code injection ou senha fraca cadastrada para o site). Após analisar os ataques nota-se que o invasor instala arquivos adicionais que enviam spam ou atacam outros sites a partir do VPS.

Veja abaixo como criar um script simples de monitoramento, muito útil para detectar infecções por malware e outras pragas.

2a ⇒ Crie um arquivo de script no diretório /root mudando as permissões para que somente o root consiga alterar e executar:

touch /root/site-monitor

chmod 700 /root/site-monitor

2b ⇒ Edite o arquivo e cole o seguinte conteúdo, substituindo os textos em vermelho por informações do seu servidor e pelos seus emails:

* Note que configurei o comando find para encontrar arquivos modificados nos últimos 60 minutos pois criaremos uma tarefa agendada para executar a cada hora

* Se nenhuma alteração for encontrada o email não será enviado

* Cole os comandos abaixo no arquivo de script sem alterar espaçamentos ou formatação, isso é importante pois usaremos um bloco de código here docs na configuração

* O site fatorbinario.com abaixo representado está em um caminho definido por padrão em instalações com ISPConfig. Para outros CPs ou sistemas veja qual o caminho definido para o site. (Pode-se ainda usar coringas de shell)

#!/bin/bash
# Monitora o site e verifica os arquivos alterados na ultima hora

SITEMONRESULTS=$(find /var/www/fatorbinario.com/web -type f -mmin -60 -exec ls -ls {} \;)
if [ ! -z "${SITEMONRESULTS}" ];
then
cat <<EOF | /usr/sbin/sendmail -t
To: [email protected]
Subject: Arquivos do site alterados na ultima hora
From: [email protected]

Os seguintes arquivos do site foram alterados:

$SITEMONRESULTS

EOF
fi

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!

Tutorial Debian 8 x64 com ISPConfig e NginX: Instalação do Site

Neste artigo mostrarei como fazer o deploy (instalação e configuração) do website. Os exemplos serão apresentados para um site WordPress no Linux Debian 8 com painel de controle ISPConfig e servidor web NginX configurados anteriormente, mas pode-se adaptar para qualquer outra situação.

Existem muitas maneiras de se instalar ou migrar um site, mas pelas estatísticas dos leitores que me procuram aqui no Fator Binário somente algumas são as preferidas da galera. Escreverei sobre as que achei mais descomplicadas mesmo para iniciantes (se você tiver outras sugestões e caso queira compartilhar entre em contato ou escreva nos comentários).

Instalação do Site
  • Ao adicionar um espaço de site o ISPConfig por padrão criar um arquivo index.html. Antes de instalar os arquivos de um site novo ou copiá-los de outro servidor delete o arquivo /web/index.html para que o browser não o interprete como a página padrão do site.
Instalação de um novo site

Essa primeira opção é para quem decidir criar um espaço de site novo e iniciar um projeto, ou ainda para operadores avançados que farão a instalação/migração manualmente mas querem saber como adicionar um site ao painel somente.

Para usar o módulo de gerenciamento de sites no ISPConfig acesse: ISPConfig → Sites

1a ⇒ Adicione um novo site: Clique em “Add new website” e preencha conforme abaixo (note que a maioria dos campos não são obrigatórios, e se desejar usar o módulo Clientes sempre escolha para qual cliente o site pertence, mas isso é opcional):

[Aba Domain]

» Domínio: <– fatorbinario.com (substitua pelo seu domínio e NUNCA coloque o prefixo “www” neste campo)

» Auto SubDomínio: <– www. (pode-se ainda optar pelo catch all “*.” aqui mas na maioria dos casos isso é desnecessário. Lembre-se também de criar um registro Tipo A para o www na tabela DNS deste domínio)

» PHP: <– PHP-FPM (na nova versão do ISPConfig note que você DEVE selecionar uma opção neste campo pois ele é nulo por padrão. Caso queira poderá selecionar HHVM que usa o compilador JIT, mas faça isso por sua conta e risco)

[Aba Estatísticas]

» Tipo de Estatística Web: <– None (quando incluimos um novo espaço de site no ISPConfig automaticamente o Webalizer começa a coletar estatísticas, configure para não usar este recurso para o site)

[Aba Opções]

» NginX Directives: (em sites WordPress ou Magento é necessário adicionar diretivas personalizadas para que os permalinks (Links Permanentes com “Nome do Post”) funcionem corretamente). Desligaremos também os logs de acesso ao site pois os arquivos podem ficar muito grandes deixando-o lento:

* Observe que listei abaixo diferentes diretivas para os tipos de sites mais conhecidos, escolha somente a que representa o seu site.

#Desativando os logs para melhorar a performance
access_log off;
log_not_found off;
#Diretivas NginX para WORDPRESS
location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
} 
#Note a alteracao na diretiva location para o Magento. Se for usada a diretiva antiga uma URL aparecerá na caixa de pesquisa da loja dando a impressao de que a instalacao esta bugada.
#Para maiores informacoes veja o arquivo nginx.conf.example que esta incluido no download do proprio Magento

#Diretivas NginX para MAGENTO
location / {
    #try_files $uri $uri/ /index.php?q=$uri&$args;#Nas ultimas versoes do Magento esta diretiva foi alterada, use a linha abaixo
    try_files $uri $uri/ /index.php?$args;
}
location ~* \.php/ {
    rewrite ^(.*.php)/ $1 last;
}

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!

Tutorial Debian 8 x64 com ISPConfig e NginX: Tabela DNS

Nesta parte do tutorial mostrarei como configurar a zona DNS de um domínio, adicionando os registros necessários para o bom funcionamento. A correta configuração da tabela DNS poderá ser feita seguindo os exemplos abaixo. Darei exemplos de como adicionar as tabelas na Digital Ocean e na CloudFlare.

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

*Regarding english support please contact me by email or post a comment using the Disqus system. I do offer monthly support and custom server deploy. Now accepting Paypal and Bitcoin!