Anda di halaman 1dari 13

SERVIDOR CLOUD COM

ACESSO EXTERNO
UTILIZANDO RASPBERRY PI
Pedro Celestino de Mello

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 1


Materiais Necessários:
- Raspberry Pi
- Cartão de Memória MicroSD 8GB ou mais (classe 10 de preferência);
- HD Externo (ou Interno com Gaveta Adaptadora USB);
- Fonte de Alimentação (2A no mínimo);
- Teclado, Mouse, Cabo HDMI ou VGA com Adaptador + TV/Monitor para as configurações
iniciais;
- Cabo de Rede (para o servidor rodar liso tem que ser no cabo de rede);

Programas utilizados:
- SD Card Formatter;
- Win32DiskImager;
- PuTTY;

Esse tutorial deu certo para mim todas as vezes que fiz seguindo o passo-a-passo. Siga
EXATAMENTE como eu falo, entenda o processo para depois tentar suas modificações. Se houver
qualquer problema no decorrer do tutorial, entre em contato comigo pelo meu e-mail para
verificarmos uma solucação.

O passo inicial é baixar todos os programas listados e preparar todos os materiais. Só siga em diante
se houver tudo isso em mãos.

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 2


1. Configuração do SD Card
Nesse servidor, usaremos a versão do Raspbian Stretch mais atual que pode ser baixada diretamente
do site oficial https://www.raspberrypi.org/downloads/raspbian/ baixe a versão "WITH DESKTOP".

Quando o download for terminado, insira seu SD Card no computador. Vamos começar com uma
formatação utilizando o programa SD Card Formatter. Selecione o drive do SD e clique em
"Format" (Figura 1).

Figura 1

Com o SD formatado, inicie o Win32DiskImager (Figura 2). Selecione a imagem do Raspbian


Stretch baixado e o drive referente ao SD. Clique em write em aguarde o processo que pode ser
rápido ou demorado dependendo da classe do SD.

Figura 2

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 3


2. Instalação do Raspbian no Raspberry Pi
Insira o SD no Raspberry, conecte o USB do teclado, mouse e ligue o HDMI do monitor. Por
último, ligue a fonte de energia e aguarde o boot do sistema operacional. Será necessário inserir
login e usuário nesse primeiro login, o padrão é usuário "pi" e senha "raspberry". Com o Raspbian
carregado, vá ao canto superior direito e clique com o botão direito no símbolo da internet e
selecione "Wireless & Wired Network Settings" (Figura 3). Com a nova janela aberta, selecione a
interface "eth0" (Figura 4), digite um IP fixo para o Raspberry e o IP do Roteador (normalmente
será 192.168.xxx.1, onde xxx é o seu provedor de internet).

Figura 3

Figura 4

Agora abra o terminal e digite "sudo raspi-config". Selecione a opção "Interfacing Options" (Figura
5) – opção 5 do menu. Agora, selecione "SSH" e clique em "Yes". Reinicie seu Raspberry.

Figura 5

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 4


3. Acesso via SSH e Atualização
Para o acesso via ssh, vamos utilizar o PuTTY (ou o acesso pode ser diretamente pelo terminal
linux).

- Utilizando o PuTTY: insira o IP setado como fixo no Raspberry (Figura 6) e clique em Open. Uma
nova janela será aberta solicitando login e senha ("pi" e "raspberry", respectivamente). Pronto! Você
já tem acesso ao seu Raspberry via ssh pelo PuTTY!

Figura 6

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 5


- Utilizando o terminal linux: digite "ssh pi@ip.do.raspberry" (Figura 7), tecle enter, digite "yes"
para confirmar a conexão e insira a senha ("raspberry"). Pronto! Você já tem acesso ao seu
Raspberry via ssh pelo terminal linux!

Figura 7

Utilizando o acesso ssh, vamos entrar com permissão de super usuário e iniciar as preparações para
o servidor. Para isso, usaremos os comandos abaixo:

O processo tende a ser um pouco demorado, porém instalará todas as atualizações e pendências de
pacotes que existem entre as versões. Até agora achou tudo tranquilo? Vamos para uma parte um
pouco mais complicada que exige extrema atenção: vamos configurar nosso HD Externo para
receber os arquivos do servidor!

4. Configuração do HD
Como o foco desse tutorial é a configuração do Servidor, passarei mais batido nessa parte sem
muita explicação. Apenas siga o passo-a-passo para certificar que não haverá problemas. Como eu
disse no início, espere algumas tentativas para personalizar sua instalação.

Conecte seu HD Externo no Raspberry Pi em alguma das entradas USB. Ainda como super usuário
no terminal, digite a seguinte sequência de comandos:

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 6


Seu terminal exibirá as opções do Fdisk (que não entraremos em detalhes agora. Digite os seguintes
comando em ordem:

Para verificar se a partição foi criada, digite "fdisk -l" novamente no seu terminal. A nova partição
deve estar localiza abaixo da "/dev/sda" com o nome "/dev/sda1".
Com o HD formatado e com a partição criada, hora de instalar o FileSystem. Basta digitar o
comando:

Nesse ponto, já temos nosso HD devidamente configurado para receber os arquivos do servidor.

Vamos automatizar a montagem do HD toda vez que ligarmos o Raspberry. Novamente, passaremos
batido sem muitas explicações, já que o foco do tutorial é a configuração do servidor.

Lembre sempre de estar como super usuário (sudo su) para todos esse procedimentos.
Dê um reboot no seu Raspberry e estamos prontos para iniciar a configuração do servidor!

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 7


5. Instalação dos Pacotes para o Servidor
Como estamos até esse ponto? Tudo funcionando bem? Já tomou um copo de água? Então vai lá,
pega uma garrafinha com água, estica essas pernas um pouco e vamos continuar.

Abra o terminal, entre com super usuário ("sudo su", o tempo todo temos que estar com permissão
de super usuário, ok?) e vamos instalar os pacotes necessários para o servidor rodar:

O MySQL deveria solicitar uma senha para você durante a instalação, mas é muito provavél que
isso não ocorra, assim como não ocorreu comigo. Para configurar essa senha vamos acessar o
MySQL e mudar as configurações de usuário, setando uma senha para o usuário root. Essa senha
será de extrema importância para a instalação do servidor cloud, portanto siga esse próximos passos
com MUITA ATENÇÃO e ANOTE a senha de seu usuário root do MySQL.

Vamos começar pausando o serviço do MySQL e inicia-lo em modo seguro para efetuar as
mudanças que queremos. Mais uma vez: ATENÇÃO!!!!
Qualquer erro pode ser fatal para as próximas etapas. Leia tudo com atenção antes de executar e
caso tenha dúvidas, me pergunte ou arrisque uma pesquisa no google.

Toda as mudanças serão feitas dentro do MySQL, portanto não se assuste com os próximos
comandos que serão digitados. E eles serão:

Nossa, que tanto de coisa!! Tomou aquele gole de água? Respira, se ajeita na cadeira e vamos
continuar que a brincadeira nem começou ainda.

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 8


Agora já temos nosso banco de dados MySQL configurado com usuário root e senha. Tenha tudo
isso anotado para a instalação do Cloud.
Reinicie o serviço do apache através do comando "service apache2 restart" para aplicar todas as
mudanças e começarmos a instalação do Nextcloud, nosso servidor cloud!

6. Instalação do Nextcloud
Bem simples e direto. Execute os comandos abaixo:

É bem provável que o Nextcloud já tenha lançado outras versões quando você estiver lendo esse
tutorial, portanto acesse a página oficial do Nextcloud e altere a linha "curl https://..." com o link de
download para Linux mais recente.

Um progresso e tanto! Já podemos acessar nosso Nextcloud pelo navegador e concluir a instalação.
Abra seu navegador e digite na barra de endereços: ip.do.rasp.berry/nextcloud (no meu caso,
192.168.100.32/nextcloud).

Seu navegador deve te redirecionar para uma página do Nextcloud onde você deverá inserir um
login e senha para o usuário administrador do Nextcloud e também as informações de root do seu
banco de dados MySQL (lembra que eu pedi pra você anotar e ter muita atenção?).

As informações que o Nextcloud solicitará serão essas:

Usuário e Senha do Nextcloud você criará nesse momento. As informações logo abaixo são
referentes ao banco de dados e devem ser escritas dessa forma.

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 9


Após tudo digitado e conferido, prossiga com a instalação e aguarde até ser redirecionado para a
guia "Arquivos" do seu Servidor Nextcloud.

Seu servidor está pronto! Porém ele é acessível apenas localmente e o armazenamento é direcionado
para seu cartão SD ao invés do HD que configuramos no começo de tudo. Acho que não é vantagem
nenhuma desperdiçar o HD, correto? Vamos alterar as configurações do servidor para redirecionar
os arquivos para o HD.

7. Redirecionamento dos Arquivos para o HD


Aqui estamos. Vamos criar uma nova pasta no HD com o nome de "nextcloud" e transferir a pasta
"data" do nosso servidor para lá. Mas é claro que só isso não vai adiantar, também temos que alterar
o arquivo de configuração para redirecionar as informações. Não é nenhum bicho de sete cabeças,
mas pode te confundir. Vamos lá:

E, finalmente, depois de todo esse trabalho, temos nosso servidor cloud redirecionando os arquivos
para o HD.
A partir desse ponto, apontarei algumas melhorias particulares para o servidor, como mudar o
tamanho máximo dos arquivos de download e upload e configurar certificados para ajudar no
acesso externo. Esse próximo passo é opcional, portanto se você não tiver interesse pode
simplesmente pular ele e partir para o próximo tópico, onde auxilio a colocar seu Raspberry
disponível para acesso externo.

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 10


8. Melhorias no Servidor
Vamos modificar os arquivos do apache para nos permitir algumas melhorias no nosso servidor
cloud. As alterações serão quanto ao tamanho máximo de arquivos de download e upload, seguida
de uma alteração na permissão de sobrescrita de arquivos. Vamos ao código:

Vou repetir: sempre com permissão de super usuário!!!


Agora vamos criar um certificado SSL pra facilitar no acesso externo. Como será um código
extenso, vou deixar ele comentado no próprio arquivo pra não te fazer digitar isso tudo.

mkdir -p /etc/apache2/ssl #criar o diretorio para os certificados

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.key -out
/etc/apache2/ssl/apache.crt

Responda o questionário apresentado e aguarde o final da criação do certificado.


Com o certificado criado, vamos alterar o documento do apache para ler a nossa certificação:

Se você chegou até esse ponto, parabéns! Seu servidor agora possui melhorias além do padrão e já
pode ser disponibilizado para acesso externo.

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 11


9. Acessando de Forma Externa
Existem 2 modos que eu testei e posso afirmar que funcionam: DNS e Dataplicity. O menos
complicado é o Dataplicity e não exige tanto conhecimento sobre redes para fazer a mágica
acontecer.

Primeiro passo é acessar o site https://www.dataplicity.com e criar uma conta, confirmar no email
de ativação e aguardar o raspberry ser reconhecido pela rede. Assim que confirmar o email,
aparecerá uma página com um comando que você deve digitar no terminal do seu Raspberry para
disponibilizar o acesso ao Dataplicity.

Abra a conexão ssh com o Raspberry, inicie o terminal com permissão de super usuário e digite o
código informado no terminal. A instalação deve ocorrer normalmente, aguarde alguns momentos e
então volte para seu navegador e atualize a página do Dataplicy (Figura 8) . Ele deve retornar uma
página como a da figura abaixo.

O endereço que eu ocultei é o endereço público do seu Raspberry! Ative o "Wormhole" e teste a
conexão ao Nextcloud usando "esse_ip_abaixo/nextcloud". Teste de dispositivos externos, que não
estejam conectados na sua rede (uma dica é testar no seu celular usando o 4G).

Agora esbarramos em um outro problema: estética.


Imagina você tentando acessar seu próprio cloud de outro local e não lembrando nem o endereço. A
solução pra isso é registrar esse endereço "feio" em um domínio público (e de preferência gratuito).
Pra essa parte não existe regra: você faz aquilo que achar melhor. Pode contratar um serviço ou
apelar para os serviços gratuitos (que são temporários, na grande e massiva maioria).

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 12


Minha sugestão é um domínio da FreeNom http://www.freenom.com/ que você pode contratar por 1
ano sem pagar nada e renovar anualmente. Basta criar uma conta no site, inserir um domínio que
tenha interesse e verificar a disponibilidade. Se estiver dispónivel, insira no carrinho de compras e
finalize a aquisição (de forma gratuita por 1 ano). Quando for confimada a aquisição, configure o
redirecionamento da URL para "seu_ip_do_dataplicity/nextcloud". Aguarde alguns segundos para a
propagação da informação pela internet e então teste o acesso através do domínio adquirido.

10. Conclusão

Existem outras diversas formas de manter o servidor online fora do dataplicity, porém por questões
meramente didáticas ele foi adotado nesse tutorial. A utilização do Raspbian Stretch ao invés do
Stretch Lite foi proposital, pois assim temos um Raspberry com interface gráfica (podendo ser
utilizado como um computador normalmente) e nosso servidor rodando.

Infelizmente todas as opções gratuitas possuem limitações, mas estamos aqui para provar que é
possível montar um servidor local com acesso remoto com o preço mais baixo possível. Para manter
um servidor com qualidade, recomendo pesquisar sobre os serviços da AWS para manter online e
com alta taxa de transferência (que o Dataplicity limita no plano gratuito).

Pedro Celestino de Mello - pedrocmello.bsi@gmail.com 13

Anda mungkin juga menyukai