segunda-feira, 30 de junho de 2014

Definindo a URL do seu site

Bom dia geral.

No último post, eu mostrei como construir um servidor de aplicações barato para hospedar suas aplicações e sistemas (caso voce não tenha visto, dê pelo menos uma lida rápida aqui para ajudar no entendimento). No entanto, o acesso SSH é feito através do endereço IP que o digitalocean disponibiliza para nós. Quando eu fiz a hospedagem no kinghost, esse gerenciamento da URL do site é todo feito por eles. Mas como optamos por fazer na mão todas essas configurações, ficou faltando esse ponto.

Primeiramente, temos que comprar a URL. Ela precisa estar disponível. Existe vários sites que fazer esse serviço de venda de URL, como o http://registro.br/ e o http://godaddy.com. No meu caso, vou usar o godaddy.com e tentar registrar o domínio http://voudarumjeito.com.br


Olha que beleza. Está disponível. Só tenho que criar uma conta no site e comprar o domínio por 30 reais no ano e pronto. Essa url http://voudarumjeito.com.br será minha. No entanto, quando alguém acessar essa url, não vai ter nada pois ainda tenho que fazer o redirecionamento para meu servidor do digital ocean (vou até desenhar isso pra ficar fácil entender).


A lógica é a seguinte


  1. O usuário acessa pelo celular a url http://voudarumjeito.com.br
  2. A requisição chega no godaddy e ele redireciona para nosso servidor no digitalocean
  3. O nosso servidor atende à requisição retornando a resposta
  4. O godaddy retorna para o celular o que o servidor no digitalocean retornou
Simples assim! No entanto, o passo 2 e 3 ainda não existe. Quando a requisição chega no godaddy, ele não sabe que deve redirecionar para nosso servidor no digitalocean. Então vamos fazer esse passo funcionar!

Acesse o godaddy com usuário e senha que voce criou para criar o domínio. Então acesse Domínios, e clique no botão Iniciar.



Na sessão Encaminhamento, clicar em Administrar logo abaixo de Domínio e criar seu encaminhamento para seu ip no digitalocean. Simples assim.
Agora temos a url que aponta para nosso servidor e tudo funciona perfeitamente.
Se tiver dúvida em relação à esse direcionamento, aqui tem um manual de ajuda do godaddy. Ou então é só postar aí nos comentários que vou dar um jeito. 

Abrassss

quinta-feira, 26 de junho de 2014

Criando um servidor do seu jeito... e barato!

Aooo moçada.

Como tinha muito tempo que não aparecia por aqui resolvi fazer dois posts hoje. E de longe, esse aqui é disparado o mais interessante até hoje.
Mesmo postando sempre assuntos relacionados à redes, eu sou desenvolvedor de origem. Vi necessidade de estudar redes pois no curso de ciência da computação aprendemos muito pouco nesse assunto. Eu sempre ficava com dúvidas de como colocar minha aplicação na internet. Um das formas (e a que não possui custo) é utilizando DDNS que expliquei nesse tópico. A outra forma é registrar um domínio e hospedar em um servidor na internet. E é disso que vamos falar.

Atualmente possuo uma conta no kinghost. Nada a reclamar. Inclusive é o melhor serviço de hospedagem que já contratei no Brasil (e único.. hehehehe). Ele te provê várias ferramentas previamente instaladas como

  • Subversion
  • Tomcat (servidor java)
  • MySQL, Firebird, Postgres, Oracle
  • Mais uma cacetada de coisa (não vou ficar falando porque eles não me pagam pra isso. Quem quiser dá uma olhada lá).
No entanto, eu fazia pagamento de 124 reais trimestrais. Isso dá uns 42 reais por mês e queria algo mais barato. E foi aí que o Geléia me apresentou o digitalocean. Vou mostrar passo a passo como fazer uma hospedagem no site.

O primeiro a se fazer é uma conta no site. Assim que entrar no digitalocean, já tem a opção de adicionar email e senha e criar uma conta. Simples assim. Voce será direcionado para a tela inicial onde existe o seguinte fluxo:



  1. Update Billing (Cadastro da forma de pagamento): coloque o seu cartão de crédito. Pode colocar sem medo. Ele ficará cadastrado e só será cobrado de acordo com o perfil (numero de CPU's, memória, etc) que voce escolher. Vale lembrar que a cobrança é em dólar.
  2. Create Droplet: O site se chama oceano digital. E as gotas desse oceano são os servidores. Então quando voce ver droplet, significa servidor. É aqui que voce irá criar a sua máquina e é também o o ponto mais impressionante desse serviço.
  3. Root Access: Depois que voce criar seu droplet (servidor), voce receberá a senha do root por email. E aí já pode fazer acesso via SSH.
OBS.: Caso tenha algum novado em linux lendo esse tutorial, ja adianto que todo o acesso ao seu droplet é por linha de comando. Logo, caso tenha dificuldades, estude linux primeiro ou então me pergunte ao final deste post.

Criando um Droplet

Chegamos ao que realmente interessa. A criação no nosso servidor.
Primeiramente, não possui windows pois windows é pago e precisa de licença. Então teremos apenas distribuições linux.
As configurações de máquina variam da quantidade de CPU's, a capacidade de armazenamento do disco rígido, a quantidade de memória e o tráfego de rede. Tem configuração pra tudo que é gosto.
  • Pior configuração: 512 MB de RAM, 1 CPU, 20 GB de SSD e 1 TB de transferência
  • Melhor configuração: 64 GB de RAM, 20 CPU's, 640 Gb de SSD e 9TB de transferência
A configuração da sua máquina depende muito do que voce vai fazer. Como eu precisava de um servidor para aplicação Java, escolhi a segunda máquina com 1 CPU e 1 GB de memória RAM.


Depois de escolher a configuração de máquina, há a opção de escolher até a localidade da máquina. As opções são apenas Nova Iorque, Amsterdam, São Francisco e Singapura. 

Após isso, é hora de selecionar a distribuição linux desejada. As opções são:
  • Ubuntu (versão 10.04 até a 14.04)
  • Fedora (versões 19 e 20 com 32 e 64 bits)
  • Debian (versões 6 e 7 com 32 e 64 bits)
  • CentOS (versão 5.8 até a 6.5)
  • Arch Linux (está sendo descontinuado pelo digitalocean. Melhor não usar)


Como o acesso é feito por SSH, é necessário criar uma chave privada na sua máquina e adicioná-la ao servidor. Quem não tem nem ideia do que estou falando, acesse esse link, crie sua chave, e depois adicione à sua conta. E por fim, é só clicar para criar seu droplet. Simples assim.

OBS.: ao final, antes de clicar para criar o droplet, há a opção de backup. Essa opção custa um pouco mais caro mas é uma segurança de que voce possui backup da máquina inteira caso aconteça alguma cagada.

Com o acesso SSH funcionando, voce possui uma máquina só sua. Inclusive cuidado ao usar o usuário root e ferrar com a máquina toda (sim, isso é possível). Agora basta copiar um servidor para lá e iniciá-lo. Outro fato importante é se atentar a ataques. Quando coloquei meu tomcat (servidor java) no meu droplet e iniciei, sofri 2 ataques em dois dias. Mas eu também deixei ele prontinho pra sofrer ataque. Depois faço um post mostrando como foi o ataque, como fazê-lo e como se defender desse ataque.

Outra coisa importante. O digitalocean te dá apenas um IP público estático para voce fazer a conexão. Então voce terá que fazer acesso como ssh@163.244.123.32. Ou entao para acessar seu servidor, deverá digital no navegador http://163.244.123.32
Caso voce tenha interesse em ter um nome que represente esse domínio (exemplo: http://voudarumjeito.com.br), criei um tutorial de como fazer aqui.

Qualquer problema com seu droplet, posta a dúvida aí embaixo que eu dou um jeito! :P



terça-feira, 10 de junho de 2014

Instalação de servidor FTP

Boa noite.

Esse tópico sai um pouco da área de redes mas tem tudo a ver com os tópicos da camera ip. Isso porque a nossa camera possui uma funcionalidade muito interessante que é de enviar fotos para um servidor FTP quando detecta movimento. Então para podermos tirar o máximo proveito das suas funcionalidades, vamos realizar a instalação de um servidor FTP.

No meu caso, usarei um servidor linux Ubuntu 12.04.
O procedimento é extremamente simples (nem sei se precisava desse tutorial).

O servidor a ser instalado será o vsftpd.
Primeiro passo, é utilizar o apt-get para realizar a instalação:
Como root, realizar o comando apt-get install vsftpd


Caso voce seja completamente iniciante em linux e não tenha entendido a parte do apt-get, deve ser porque voce está usando uma interface gráfica (com janelas, imagens parecido com o windows). Nesse caso, você precisa ir para um terminal de comandos. Segure as teclas CTRL + ALT e aperte a letra T. Isso abrirá um terminal e voce poderá executar o comando na imagem.

O apt-get é um programa utilizado para instalar outros programas ou bibliotecas. Ele consulta um repositório e exibe as opções de sistemas disponíveis para instalação. Após a execução do apt-get, o vsftpd é instalado e já colocado em execução. Para garantir que o servidor está funcionando, execute o comando ps aux | grep vsftpd . Deverá aparecer a seguinte linha como na imagem abaixo:


Com o servidor funcionando, já podemos realizar conexão. Vou utilizar o cliente FTP chamado Filezilla. Nesse momento é importante lembrar que é necessário se autenticar para acessar os arquivos do servidor. Usaremos o usuário anonymous (usuário padrão do servidor FTP) que não possui senha.


No primeiro frame do programa, mostra o log da conexão. Podemos ver as seguintes linhas:

  • USER anonymous
  • PASS **************
  • 230 Login successfully
Ou seja, conseguimos autenticar com o usuário anonymous. No segundo frame do Filezilla, vemos o Local site (minha maquina) e Remote site (servidor FTP). No entanto, não aparece nenhum arquivo no Remote site. Isso acontece pois o usuário anonymous não possui permissão de visualização de nenhum arquivo e não pertence a nenhum grupo de usuários do linux. Logo, o melhor a ser fazer é utilizar os usuário e senha do linux para efetuar login no servidor FTP também. Para isso teremos que modificar o arquivo /etc/vsftpd.conf


OBS.: É extremamente recomendável comentar a linha anonymous_enable=YES para que usuários anonymous não consigam se autenticar.

Nesse ponto o que precisa ser feito é descomentar as seguintes linhas:
  • local_enable=YES
  • write_enable=YES
Para descomentar basta retirar o caracter # do início da linha.
Como o servidor estava funcionando, ele precisa ser reiniciado para ler o arquivo de configuração novamente e aceitar autenticação com os usuários do sistema.
Como ele foi instalado como serviço, utilizamos o comando service do linux para chamar um serviço.
  • service vsftpd restart
Agora conseguimos autenticar com os usuários cadastrados no linux.



Observações:
  • service vsftpd stop (parar o serviço do vsftpd)
  • service vsftpd start (parar o serviço do vsftpd)
  • service vsftpd restart (reiniciar o serviço do vsftpd)

Para maiores dúvidas sobre a instalação, click aqui
Caso voce queira instalar um servidor FTP no Windows, existe o servidor de FTP do Filezilla aqui. Atente-se para realizar o download do arquivo que é servidor FTP e não cliente FTP.

Qualquer dúvida, posta aí nos comentários que vou dar um jeito.
Abraço.