O ownCloud é uma plataforma open source de armazenamento em nuvem que permite ao usuário criar o seu próprio servidor de cloud computing, tornando o compartilhamento de arquivos muito mais rápido e seguro.
Não por acaso, a computação em nuvem é um tema já abordado no blog, mais precisamente sobre como se tornar um profissional dessa área. A adoção pela tecnologia cresceu a ponto de 85% das companhias armazenarem seus dados sensíveis em servidores cloud.
Quanto ao ownCloud, especificamente, milhares de empresas, como Fujitsu, Digi Locker, Lufthansa Technik e grandes universidades ao redor do mundo, já utilizam em face do código aberto para criar soluções personalizadas.
Considerando os fatos, o que você acha de conhecer mais detidamente o ownCloud, seja para desenvolver um projeto, seja para se preparar para o mercado de trabalho? Neste conteúdo, falarei sobre o software, suas funcionalidades e processos de instalação e configuração.
Como funciona o ownCloud
Para melhor compreendermos o funcionamento do ownCloud, usemos como exemplo os serviços de armazenamento em nuvem mais populares: Google Docs e Dropbox. Ambos são ótimas ferramentas colaborativas para o compartilhamento de arquivos.
Agora, pense no ownCloud como uma plataforma que possibilita fazer as mesmas coisas, porém o servidor é controlado por você. É como manter e controlar o seu próprio Data Center.
Portanto a diferença entre o ownCloud e os serviços mencionados acima se assemelha aos conceitos de nuvem privada e pública. Isto é, enquanto os demais fornecem parte de suas imensas infraestruturas ao público consumidor, o ownCloud, como o nome diz, é a sua própria nuvem.
Sobretudo quando analisamos pelo contexto corporativo, o ownCloud traz benefícios imediatos, conforme veremos no próximo tópico.
As principais funcionalidades do ownCloud
Há pouco fiz uma comparação entre a funcionalidade do ownCloud e os principais serviços de armazenamento de dados em nuvem, mas sem entrar em detalhes quanto aos benefícios imediatos que a solução oferece. Abaixo, os principais deles.
Acesso a dados a partir de qualquer dispositivo
Um dos recursos mais inovadores fornecidos pela computação em nuvem é a disponibilidade de dados acessíveis de qualquer dispositivo conectado à Internet.
Como o cotidiano de trabalho exige cada vez mais agilidade em função da transformação digital, é imprescindível que informações sejam acessadas remotamente.
Imaginemos um executivo de uma multinacional. Esse profissional passa muito mais tempo fora do que dentro da empresa, onde os dados são gerados e armazenados.
Ao mesmo tempo, por ser um tomador de decisão, ele necessita das informações a qualquer momento, mesmo que esteja numa viagem de negócios. Logo, a nuvem é a tecnologia adequada para que os colaboradores se mantenham atualizados.
Segurança dos dados
Diferentemente dos serviços de terceiros, o ownCloud é gerenciado, controlado, monitorado e auditado pelo próprio departamento de TI da empresa — ou do usuário individual. Ou seja, o acesso é distribuído de acordo com os seus termos.
Além disso, o sistema conta com uma sofisticada tecnologia de encriptação de dados de ponta a ponta (end-to-end encryption – E2EE), garantindo que somente pessoas devidamente autorizadas consigam ler os dados. Nem mesmo o administrador consegue quebrar o acesso.
Comunidade de desenvolvedores
A comunidade conta com mais de mil desenvolvedores segundo o site oficial do ownCloud. Isso não representa somente o sucesso do projeto, mas que o usuário pode contar com o suporte de vários profissionais e, também, novas funcionalidades são adicionadas ao sistema em curto espaço de tempo.
Sincronia entre Desktop e Mobile
Como o ownCloud está disponível tanto para desktops (Linux, Mac e Windows) quanto para sistemas móveis (Android e iOS), é certo que o usuário terá a melhor experiência possível para acessar os arquivos na nuvem.
Marketplace
Além de todos os benefícios apresentados até aqui, o ownCloud oferece um marketplace para que usuários baixem apps que servem de complemento ao programa. Em outras palavras, a sua nuvem privada pode receber melhorias sem a necessidade de mexer no código fonte.
O uso do ownCloud como solução de nuvem privada
Agora que você já compreende os benefícios do ownCloud, assim como as suas diferenças para os serviços de armazenamento em cloud, vejamos como instalar uma nuvem privada usando o ownCloud no Ubuntu.
Pré-requisitos para o funcionamento do ownCloud
Sempre que mexemos com servidores, é fundamental que se tenha um usuário com privilégios sudo. Para utilização do ownCloud, é necessário, também, a obtenção de um certificado SSL (Secure Sockets Layer) — se você não tem um domínio, utilize um certificado auto-assinado.
Outro requisito importante é a configuração de uma LAMP stack no computador. Trata-se de um conjunto de programas que, juntos, fornecem um sistema operacional (Linux), um servidor web (Apache), um banco de dados (MySQL) e uma linguagem de script (PHP).
Instalação do sistema
Como os pacotes do ownCloud não acompanham o Ubuntu por padrão, é necessário baixá-los; portanto abra o terminal e digite:
curl https://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/Release.key | sudo apt-key add -
Em seguida, crie um arquivo chamado owncloud.list no diretório sources.list, localizado na pasta apt.
echo 'deb http://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list
A próxima etapa é atualizar o pacote local para instalar algumas bibliotecas PHP que podem ser necessárias.
sudo apt update sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files
Modificação do DocumentRoot
Ajustar o DocumentRoot para que os arquivos da web sejam enviados para o diretório correto é uma medida necessária.
Para isso, usaremos a ferramenta apache2ctl com a opção DUMP_VHOSTS para descobrir os arquivos do host virtual que fazem referência ao seu domínio / endereço IP:
sudo apache2ctl -t -D DUMP_VHOSTS | grep domínio_ou_IP
Quando o terminal retornar uma mensagem, você poderá localizar o seguinte conteúdo:
domínio_ou_IP (/etc/apache2/sites-enabled/domínio_ou_IP-le- port 80 namevhost domínio_ou_IP (/etc/apache2/sites-enabled/domínio_ou_IP.conf:1)
O que está entre parenteses são os arquivos relacionados ao seu domínio / IP e que serão usados para acesso ao ownCloud; portanto é necessários editá-los. Abra cada um dos arquivos relacionados no editor de texto com privilégios sudo.
sudo vim /etc/apache2/sites-enabled/server_domain_or_IP.conf
Em cada um deles, modifique a linha DocumentRoot e, à frente dela, modifique o diretório para /var/www/owncloud
Depois de fazer os ajustes, use o comando apache2ctl configtest para checar se há erros a serem corrigidos. Caso não haja problemas, reinicie o Apache digitando os comandos:
sudo systemctl reload apache2
Agora, vamos às configurações do banco de dados MySQL.
Configuração do MySQL
Primeiramente, faça o login no MySQL e, em seguida, crie uma base de dados para o ownCloud. Exemplo:
mysql> CREATE DATABASE owncloud;
Prossiga criando uma conta específica para gerenciamento da nova base de dados. Exemplo:
GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'usuario_owncloud_database_password';
Para conceder os devidos privilégios ao usuário recém-criado, acione o comando FLUSH PRIVILEGIES e feche o MySQL:
mysql> FLUSH PRIVILEGES; mysql> exit
Configuração do ownCloud
Por fim, a configuração do ownCloud é feita usando o browser. Sendo assim, digite o seu domínio ou IP na barra de endereços do navegador. Quando a página carregar, crie uma conta de administrador.
As próximas janelas que surgirem devem ser preenchidas de acordo com suas preferências e, quando for o caso, baseadas nas configurações que realizamos nos tópicos acima. Assim que finalizar o setup o ownCloud estará pronto para uso.
Com o ownCloud plenamente configurado, você passa a contar com um sistema à altura de serviços pagos de armazenamento em nuvem, inclusive permite que arquivos sejam compartilhados por meio de URLs.
Entretanto, diferentemente de serviços externos, o ambiente de armazenamento ownCloud é controlado apenas pelo usuário. Aproveitando que estamos falando em segurança, você sabe como implementar um firewall corporativo?
Para ter acesso a mais informações para construir a sua carreira Linux, você tem à disposição um ebook completo do nosso curso Linux Ubuntu, o qual ensina a fazer diversos procedimentos por meio desse poderoso sistema.