Como já vimos, a Raspberry Pi é uma placa muito poderosa para seu tamanho, que permite rodar o sistema operacional Linux. É de se esperar que várias aplicações diferentes surjam, levando recursos antes somente do desktop para a diminuta peça. Dessa vez, porém, vamos além do desktop, mirando nas nuvens com a criação de um servidor de arquivos usando Nextcloud!
Quem já usou serviços como Google Drive, Microsoft OneDrive e Dropbox, frequentemente deve se perguntar se os serviços se preocupam com a privacidade dos dados. Por mais que as empresas responsáveis garantam que a privacidade é a primeira premissa em seu desenvolvimento, muitos usuários se sentem inseguros em deixar os arquivos nas mãos de terceiros. Afinal de contas, “não existe nuvem, é apenas o computador de outra pessoa”
Apresentando Nextcloud
O Nextcloud vem justamente resolver esse problema. Ele é um servidor de arquivos que permite acesso externo e seguro, basicamente um servidor de arquivos em nuvem privada! Foi criado a partir de outro servidor, o Owncloud. A escalabilidade dele é muito consistente, permitindo a utilização desde à uma interface web para arquivos de um cartão SD, até um cluster de arquivos privados de qualquer lugar do mundo, dependendo apenas da sua conexão com a Internet. Se você tiver a intenção de trafegar/sincronizar vários arquivos fora da rede simultaneamente, e ininterruptamente, a velocidade total vai depender quase em sua totalidade da própria conexão.
Além de uma interface web, o Nextcloud conta com aplicativos mobile (Android e iOS), e um cliente desktop (Windows, macOS e Linux) que lhe permite usá-lo como sincronizador de arquivos, dependendo somente da rede local.
Instalação Apache e PHP
Como dito anteriormente, o Nextcloud possui versões para Windows, macOS e Linux. Nesse exemplo iremos utilizar a distribuição Raspbian Stretch para instalação do Nextcloud na Raspberry Pi 3 Model B. Para tal, precisamos que o cartão SD rodando na placa esteja com o Raspbian Stretch configurado e conectado à rede. Antes de mais nada, atualizar o sistema é sempre uma boa prática, com os comandos a seguir executados no Terminal:
sudo apt-get update sudo apt-get upgrade
O Nextcloud roda em cima de um servidor web, pois ele provê uma interface via browser para gerenciamento dos arquivos. Como é desenvolvido usando linguagem PHP, precisaremos instalar o servidor web Apache para sua execução satisfatória. Em teoria, qualquer servidor web que rode PHP suporta a instalação do Nextcloud, mas nesse tutorial seguiremos com o Apache.
sudo apt-get install apache2
É necessário verificar se o Apache foi instalado corretamente. Para isso, no browser, devemos digitar o endereço IP ao qual a Raspberry está vinculada. O comando ifconfig permite descobrir o IP de maneira mais fácil. Se a placa estiver conectada via cabo, retornaremos o IP através do comando
ifconfig eth0
Para conexões sem fio, através do adaptador wireless, teremos
ifconfig wlan0
Em ambos os casos, o endereço IP atribuído estará próximo à palavra “inet”, na segunda linha. Informando o endereço no browser, teremos a seguinte tela, caso o Apache tenha sido instalado corretamente.
Precisamos agora instalar o PHP7 e demais componentes para que se integrem ao Apache, permitindo que aplicações web escritas em linguagem PHP (como o Nextcloud!) possam rodar sem problemas. Vamos instalar diversos pacotes, por isso o processo pode ser demorado
sudo apt-get install php7.0 php7.0-bz2 php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-sqlite3 php7.0-xml php7.0-zip php-apcu php-pear libapache2-mod-php7.0
Após a instalação dos pacotes do PHP, reiniciamos o servidor apache através do comando
sudo service apache2 restart
Instalação Nextcloud
O Apache possui uma pasta onde as aplicações rodam nativamente. Antes de baixar/instalar o Nextcloud, mudamos para ela
cd /var/www/html
Agora sim, fazemos o download da última versão do Nextcloud, descompactando-o em seguida
curl https://download.nextcloud.com/server/releases/latest.tar.bz2 | sudo tar -jxv
Mudamos para a pasta do Nextcloud, criada após o download
cd /var/www/html/nextcloud
Criamos uma pasta de data
sudo mkdir -p /var/www/html/nextcloud/data
E alteramos as permissões da pasta para que o Nextcloud possa escrever nela
sudo chown www-data:www-data /var/www/html/nextcloud/data sudo chmod 750 /var/www/html/nextcloud/data sudo chown www-data:www-data config apps
Tudo instalado, agora vamos à configuração
Configurando Nextcloud na primeira execução
Para acessar o Nextcloud, vamos diretamente ao browser, informando o endereço http://MEUENDERECOIP/nextcloud, o que nos retorna a seguinte página
Informe um usuário e senha que você se lembre, e estamos prontos para concluir a configuração, exibindo uma lista de arquivos e pastas previamente configurados!
Considerações Finais sobre o servidor de arquivos com Nextcloud
Essa é apenas a interface web do Nextcloud. É possível abrí-lo para acesso externo através de configurações do roteador e servidos de DNS específicos, além de expandir o armazenamento para uso com HDs externos, pen drives e demais dispositivos USB. A utilização de aplicativos mobile para controle de arquivos e sincronia de fotos também é amplamente utilizada no servidor de arquivos, levando realmente um pedaço da nuvem para sua placa Raspberry Pi. Nos próximos artigos vamos abordar também alguns desses recursos, juntamente com um servidor de mídia.
Gostou do post do servidor de arquivos com Raspberry Pi? Deixe seu comentário logo abaixo.
Estou com problemas ao tentar acessar o site pela primeira vez, ele me retorna um código php
Olá Robson,
Consegue demonstrar qual o código php que aparece?
Abraços!
Vinícius – Equipe MakerHero
Olá. Estou tentando configurar o meu PI 3 para este uso, mas quando tento executar o nextcloud, informa que preciso pelo menos o PHP7.2.
Como sou um zero à esquerda em Linux, não consegui ir adiante e fazer a atualização de versão. Nem na internet achei ajuda que funcionasse.
Conseguem me ajudar?
Obrigado
Ildomar Gaedke
Ildomar,
Na linha de comando em que se instala o PHP 7.0, substitua por 7.2, e verifique se isso resolve.
Abraços!
Diogo – Equipe MakerHero
Olá. O meu caso é o mesmo. Acusa que preciso ter pelo menos o php7.2. Fiz o necessário para atualizar, ao final dei um php –version e mostrou que a última versão é a php7.3. Até aí, OK. Mesmo assim digito meu endereço interno da minha wlan0/nextcloud e continua mostrando a mesma notificação pendente.
Reestartei meu apache2 e nada também
Eu consegui instalar o PHP Versão 7.2, seguindo as instruções constantes neste endereço:
https://cursos.alura.com.br/forum/topico-instalacao-de-servidor-web-e-do-php-97157
Mas agora apareceu outro problema. Ao abrir o navegador no endereço Ip do Raspberry, surte a tela do PHP. Travei de novo.
Ildomar, consegue demonstrar como é esta página em que você está travado?
Abraços!
diogo – Equipe MakerHero
Marcello
O ideal é utilizar a 7.2 para garantir. Uma opção é utilizar uma versão anterior do OS.
Abraços!
Diogo – Equipe MakerHero
Falta um monte de pacote no pi3, quais os repositórios vc utiliza? No meu ele não encontra um monte de pacotes para instalação.
Boa noite.
Esclareça uma dúvida por favor, no lugar do nextcloud eu poderia usar o openmediavault?Teria a mesma função?
Olá Fabio,
Eles são diferentes. O NextCloud é mais ou menos uma “solução de armazenamento em nuvem local”. Já o OpenMediaVault é uma solução NAS/servidor, você apenas se conecta a ele pela rede local.
Abraço!
Rosana – Equipe MakerHero
Estou há quase uma semana procurando tutorial, no YouTube, de como criar uma nuvem em raspberry pi e nada.
Graças a Deus tive o bom senso de procurar no Google e encontrei aqui no seu site.
Parabéns o conteúdo está muito bem explicado, obrigado pela grande ajuda. Sucesso!!!!
Olá Fábio,
Que bom que nosso post foi útil para você!
Abraço!
Rosana – Equipe MakerHero
Olá tenho algumas duvidas, eu cosigo criar um site proprio para usar dessas funções que ele me proporciona? e um aplicativo android tambem ?
O owncloud possui na playstore e na appstore aplicativos.
Parabéns pelo tutorial. Consegui instalar sem problemas o Nextcloud em meu Raspberry Pi 2. Agora gostaria de atualizar e manter as configurações. Como faço isso?
Olá Genilson,
Você deseja atualizar o Raspbian ou o Nextcloud?
Abraço!
Rosana – Equipe MakerHero
eu queria conectar um hd no nextcloud mas não sei como se faz, alguém pode me ajudar ?
Eu conectei e configurei depois como armazenamento externo. Assim fica mais fácil, é só colocar o caminho no qual ele é montado.
Olá, muito bom esse tutorial, mais eo bando de dados? nao precisa? vi alguns outros tutoriais por ae e utilizam MariaDB ou MySql, dessa forma posso instalar no ubuntu server no PC?
Oi Edmar, boa tarde!
Quando você não configura o MySQL (ou até o MariaDB), o Nextcloud por padrão utiliza um banco de dados chamado SQLite… Ele serve bastante à um usuário local, mas não é recomendado quando vários usuários acessam o serviço.
E pode instalar sim no seu computador rodando Ubuntu, os pacotes serão baixados de acordo com a arquitetura do processador (Arm no caso do Raspberry, e x86/x64 no caso do PC)
Grande abraço!
Boa tarde Aliston,
Na parte de configuração do nextcloud que vc diz: “Informe um usuário e senha que você se lembre, e estamos prontos para concluir a configuração, exibindo uma lista de arquivos e pastas previamente configurados!”.
Eu não entendi, porque anteriormente neste tutorial não houve um momento que esta configuração foi realizada, então estou travado nesta parte e não sei o que fazer, não entendi isso.
Podem me ajudar?
Obrigado.
Oi Cirleno,
Você chegou a informar o endereço IP do seu servidor no browser, seguido do caminho /nextcloud?
No meu exemplo, ficaria “http://192.168.1.21/nextcloud”
Se sim, o que aparece nessa aba?
Me deixa entender em que passo você está, e daremos continuidade à sua configuração!
Grande abraço!
Alliston,
Como faço pra no lugar de um ip local ser um ip externo?Preciso instalar e acessar o apache de fora da rede local.
Obrigado
Olá! sou iniciante nesse mundo mas consegui fazer funcionar aqui pelo seu tutorial!
Tenho algumas duvidas, como por exemplo:
a) onde ficam os arquivos (local no raspi) utilizando a configuração padrão feita aqui no tutorial?
b) como posso alterar o local onde são salvos os arquivos? como por exemplo usar um hd (imagino que eu deva “montar um disco”, ja ouvi o termo algumas vezes mas tenho dificuldades em realizar isso, se puder fazer um tutorial eu agradeceria muito!
c) na tela inicial, o nextcloud recomenda de uma serviço mais robusto além do SQlite, eu segui alguns passos do tutorial em inglês que foi postado no comentário acima pra utilizar o MySQL, mas só funcionou mesmo quando fiz seu tutorial. entendo que eu esteja tanto com o SQlite quanto com o MySQL instalados, mas nao sei como optar por um ou por outro.
Valeu pela atenção!
teste
Olá, não estou conseguindo postar tudo aqui, veja este link com as respostas as suas perguntas:
https://pastebin.com/JFr7rksA
Olá, tenho milhões de dúvidas, vamos começar pela mais básica, pelo que entendi o Apache e o PHP são nativos mas não estão instalados corretos?
Pq não vi informações de onde baixar esses pacotes, apenas o comando para instalar.
Vamos lá Allan! Pode mandar todo o milhão de dúvidas que trocamos algumas ideias!
Sobre Apache e PHP, eles não são nativos. São pacotes (servidor web e linguagem de programação, respectivamente), que você pode instalar em qualquer lugar, seja Windows, Linux ou macOS.
A maneira mais direta de instalá-los no Linux é justamente executando esses comandos. Digamos que seja a maneira “oficial” da comunidade. Para baixar, existe o XAMPP, por exemplo, que instala MySql e Perl além dos pacotes previamente ditos. Mas como você pode ver, instala mais coisas do que o necessário.
Muito legal o tutorial. Teria como colocar dois hds em raid 1 e deixar o servidor mais seguro? Obrigado
Oi Danilo! Tem sim, tanto o raid quanto a melhoria de segurança. Mas aí você teria que configurar a partir do Raspbian, e talvez até pelo seu roteador. Já foge da proposta do Plex em si.
Abraços!
Alliston, muito bom post, meus parabéns!
Tenho somente dois complementos que gostaria de fazer ao artigo:
1) Somente a partir das versões mais novas do Raspbian (versões acima da Jessie) que o php7 está disponível para download via gerenciador de pacotes (apt-get). Eu experimentei utilizar o php5 (que está presente no gerenciador de pacotes da versão Jessie e anteriores) e funcionou bem! Para instalar todos os módulos de php5 necessários, utilize o comando abaixo:
sudo apt-get install -y php5 php5-gd sqlite php5-sqlite php5-curl
2) Fiz testes com o nextcloud utilizando como banco de dados o SQLite e vi que ele é muito suscetível a corromper-se. Consegui corromper só de mandar a placa dar shutdown enquanto acessava o nextcloud via navegador.
Portanto, recomendo fortemente o uso do MySQL coo banco de dados (fiz testes e se mostrou muito mais robusto e estável. Para mais informações de como utiizá-lo, veja esse site: http://unixetc.co.uk/2016/11/20/simple-nextcloud-installation-on-raspberry-pi/
Espero ter contribuído para seu post. Novamente, parabéns pelo post!
Atenciosamente,
Pedro Bertoleti
Grande Pedro!
Muito obrigado, pelos parabéns e pelos complementos. Enriqueceu ainda mais o post, o que dá mais capacidade de escolha para os leitores que estão querendo customizar o servidor. Sempre bom poder contar com um apoio desse nível!
Um grande abraço!