ACESSO EXTERNO
UTILIZANDO RASPBERRY PI
Pedro Celestino de Mello
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.
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
Figura 2
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
- 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
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:
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!
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.
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?).
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.
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.
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.
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.key -out
/etc/apache2/ssl/apache.crt
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.
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).
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).