anúncios

terça-feira, 3 de novembro de 2015

OwnCloud - Criando sua própria nuvem privada no Linux

Se você procura uma ferramenta para compartilhamento de arquivos, documento, planilha, etc e pretende ter sua própria nuvem privada no seu servidor Linux como alternativa ao Dropbox, então você está no lugar certo.

Neste post será explicado passo a passo como instalar e configurar sua própria nuvem privada com o ownCloud.

Você deve se questionar, por que não usar o Dropbox ? A vantagem de ter sua própria nuvem privada é ter o maior controle e com menor custo possível.

O que é ownCloud ?

ownCloud é um software que torna fácil configurar uma nuvem privada em servidores de plataformas Windows, Linux, FreeBSD. Fornece uma área de armazenamento de dados, com opções de sincronização de arquivos, visualização e compartilhamento com outros usuários.

Com isso permite que os funcionários da empresa possa ter acesso a arquivos de qualquer lugar e o controle onde reside os dados é de sua propriedade.

Depois de conhecer o ownCloud e pra que ser serve, podemos seguir os procedimentos de instalação e configuração do ownCloud em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e a versão do ownCloud é 8.2.0 até a data de publicação deste post.

Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 libmysqlclient15-dev mysql-server php5 php5-gd php5-mysql php5-curl

Criando o banco de dados ownCloud no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database owncloud character set utf8;


Criar o usuário owncloud para o banco owncloud
mysql> GRANT ALL PRIVILEGES ON *.* TO owncloud@localhost IDENTIFIED BY 'senha_owncloud' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> quit

Download do ownCloud
Opcional: Criar um diretório owncloud em Downloads
$mkdir /home/SEU-USUARIO/Downloads/owncloud
$cd /home/SEU-USUARIO/Downloads/owncloud
$wget -c "https://download.owncloud.org/community/owncloud-8.2.0.zip"


Extrair o ownCloud na raiz do Apache
#unzip owncloud-8.2.0.zip -d /var/www/html

Criar o diretório data no diretório /var/www/html/owncloud
#mkdir /var/www/html/owncloud/data

Setando usuário/grupo sendo o proprietário no diretório /var/www/html/owncloud
#chown -R www-data:www-data /var/www/html/owncloud/data

Aumentar o limite de uploads de arquivos no Apache que por default é 2MB
Editar o arquivo php.ini os parâmetros: upload_max_filesize e max_file_uploads
#vim /etc/php5/apache2/php.ini
Altere o tamanho de acordo com a necessidade e restrição do seu servidor na nuvem ownCloud
Linha 810: upload_max_filesize = 2M
Linha 813: max_file_uploads = 20
ESC + :x (salva e sai do editor Vim)

Setup de instalação do ownCloud
No browser acesse - http://IPSERVIDOR/owncloud
Preencha os campos solicitados, conforme o screenshot
Criar a conta de administrador
Escolha um nome de usuário e uma senha para administrador
Clica em Armazenamento & banco de dados, irá aparecer, o campo já preenchido da pasta de dados, que foi criado anteriormente.
Configurar o Sistema Gerenciador de Banco de Dados
Por default, o ownCloud utiliza o banco SQLite, mas no nosso caso será usado o MySQL, que foi criado o database e usuário owncloud no MySQL.
Então, selecionar MySQL/MariaDB, preencher o nome de usuário, senha, database, criado anteriormente, o IP do servidor do banco de dados, caso esteja no mesmo servidor, use localhost.
Clique no botão, Concluir configuração.


Com o preenchimento correto dos dados, será redirecionado no primeiro acesso ao ownCloud, conforme o screenshot.


A instalação e configuração do ownCloud está finalizada, porém se quiser aplicar segurança, utilizando o protocolo HTTPS, continue seguindo os procedimentos abaixo.

Configurando a segurança do ownCloud utilizando o protocolo HTTPS do Apache
Primeiro é necessário instalar o pacote openssl
#apt-get install openssl

Habilitar o módulo SSL
#a2enmod ssl

Reinicie o Apache
#service apache2 restart

Crie um VirtualHost ownCloud com suporte SSL
Para isso, acesse até o diretório /etc/apache2/sites-available/
#cd /etc/apache2/sites-available/
Copiamos o arquivo de exemplo para o novo
#cp default-ssl.conf owncloud-ssl.conf

Habilitar o VirtualHost criado
#a2ensite owncloud-ssl.conf

Fazer o reload do Apache
#service apache2 reload

Utilizando o OpenSSL para gerar a chave criptográfica e o seu certificado.
Gerar chave criptográfica
#openssl genrsa -des3 -out certificado.key 1024

Gerar o certificado personalizado
#openssl req -new -key certificado.key -out certificado.csr

Gerar um novo certificado que não solicite a passprhase ao reiniciar o Apache
#openssl rsa -in certificado.key -out certificado.key.insecure

Fazer uma cópia de segurança do certificado original
#mv certificado.key certificado.backup

Renomear o certificado sem senha para o nome padrão
#mv certificado.key.insecure certificado.key

Gerar o certificado final com a extensão .crt definindo o prazo de expiração e a chave criada anteriormente com extensão .key, ambos serão utilizados na configuração do Apache.
#openssl x509 -req -days 365 -in certificado.csr -signkey certificado.key -out certificado.crt

Copiar o arquivo do certificado e a chave para o local /etc/ssl/certs e /etc/ssl/private, respectivamente
#cp certificado.crt /etc/ssl/certs/
#cp certificado.key /etc/ssl/private/

Editar o arquivo owncloud-ssl.conf criado no VirtualHost Abrir o arquivo owncloud-ssl.conf com o editor texto de sua preferência, no meu caso é o Vim
#vim owncloud-ssl.conf

Na linha 32: SSLCertificateFile /etc/ssl/certs/certificado.crt
Na linha 33: SSLCertificateKeyFile /etc/ssl/private/certificado.key

ESC + :x (salva e sai do editor Vim)

Reiniciar o serviço do Apache
#/etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2.


Agora para facilitar o acesso ao seus arquivos, instale os clientes disponíveis na página Install Clients com opções de Desktop Clients (Windows, Linux, MacOS) e Mobile Apps (Android, iOS).

Para poder ouvir músicas armazenadas no ownCloud, com o ampache é possível usar o serviço de transmissão de músicas (Music Streaming).
Primeiro, faça a instalação do pacote ampache no client Desktop ou client Mobile.
clients ampache
E depois acesse no endereço - http://SEUDOMINIO/owncloud/remote.php/ampache
Feito!

2 comentários:

  1. Boa noite Reginaldo, excelente material.
    Porém surgiu uma dúvida, qual é a porta padrão de acesso remoto no owncloud, como eu posso realizar a alteração da mesma???

    ResponderExcluir
    Respostas
    1. @André Gomes,
      O servidor web utilizado foi o Apache, a porta default é 80, porém se pretende acessar externamente por meio de uma internet residencial, normalmente as operadores de internet bloqueiam as portas baixas, 80 para servidor web principalmente, uma forma de driblar isso é alterar a porta default 80 por outra porta alta, por exemplo 9090, como o IP é dinâmico registra no no-ip e ao acessar deve informar a porta que definiu no Apache.
      No acesso de exemplo seria: http://dominio.no-ip.net:9090

      Para alterar a porta default 80 por outra porta alta
      No arquivo /etc/apache2/ports.conf em Listen 80 troque por 9090 por exemplo. Salva e reinicia o Apache.

      Feito!

      Excluir