Pages

terça-feira, 25 de setembro de 2012

Owncloud 4 - Tenha sua própria nuvem.

Já falei anteriormente aqui neste blog sobre owncloud 3, agora temos owncloud 4 com melhorias no dsigner e algumas funções extras. Vamos a Instalação.


Introdução

Este é um artigo e guia sobre o Owncloud, um produto que pretende dar às pessoas a possibilidade de criarem, de forma privada, uma cloud pessoal, dando assim total liberdade e privacidade ao utilizador final.
De referir que a palavra cloud sofre constantes abusos e nunca se sabe o que quer dizer realmente.
Neste caso, o produto tem como principal funcionalidade a criação de um repositório central de ficheiros que sejam de fácil acesso a partir de vários dispositivos.
Na prática é um competidor com o famoso serviço “Dropbox”, mas em que a parte servidor é controlada pelo próprio utilizador, tendo ele total controlo sobre limites e formas de uso.
Esta é só a principal funcionalidade, porque com um sistema de plugins, é possível ter mais funcionalidades, como vão poder ver neste artigo.
Ficam aqui as principais características deste produto:
- Solução integrada de storage.
- Fácil acesso aos ficheiros, através de uma página Web, um Cliente que pode ser instalado nos principais sistema operativos ou por WebDav.
- Página Web de fácil acesso, usando html5. É possível fazer drag and drop de ficheiros na página Web.
- Possibilidade de criação de utilizadores e com isso, partilha de ficheiros.
- Versões de ficheiros, que permitem recuperar versões antigas.
- Encriptação.
- Temas.
- Editores e visualizadores de vários ficheiros, como ficheiros de imagens, som ou texto.
- Uma api para uso com outras aplicações ou plugins.
- Migração dos dados ou utilizadores.
- Integração de calendário e tasks que podem ser acedidos por outros dispositivos.
- Uma store onde é possível instalar aplicações dentro do Owncloud.
Por fim, referir que este artigo está dividido em duas partes principais. Primeiro a instalação e segundo a utilização do Owncloud.

Instalação

Para este artigo, decidi criar duas máquinas virtuais. Uma é o servidor onde vou instalar o Owncloud 4 e o segundo é uma máquina cliente onde vou aceder e utilizar o Owncloud de várias formas.
Devido à sua popularidade, vou utilizar o Windows 7 como máquina cliente, utilizando o Firefox 12 como browser.
Também devido à sua popularidade no mundo linux, no servidor vou utilizar Ubuntu Server, na sua versão mais recente a 12.04.

Para criação das máquinas virtuais, usei Virtualbox, onde coloquei as duas máquinas num ambiente de testes.

No servidor com Ubuntu, fiz a instalação base, adicionando só a funcionalidade do serviço de openssh, para poder aceder remotamente.

O Windows 7 é uma instalação base, sem adicionar nada. Apenas confirmei que estavam as duas máquinas na mesma rede.

Para efeitos de teste e para não estar sempre a passar o comando “sudo”, coloquei uma password no utilizador “root” e acedo ao servidor com este utilizador.
Para colocar uma password neste utilizador, corri o comando:
sudo passwd

A primeira coisa que se deve fazer, no servidor, é ter a máquina actualizada, com o comando:
apt-get update && apt-get dist-upgrade
Em seguida é preciso instalar os requisitos para instalar o Owncloud. Para tal, devemos correr o comando:
apt-get install apache2 php5 php5-gd php5-sqlite curl libcurl3
libcurl4-openssl-dev php5-curl php5-common php-xml-parser sqlite openssl

Por sua vez, este software tem outras dependências, que são listadas. Basta apenas aceitar carregando no “y”.

Na máquina Windows, como é um teste e estou a aceder por rede local, no ficheiro “hosts” que se encontra em “C:\windows\system32\drivers\etc” coloco a seguinte entrada:
192.168.1.112       cloud.own
Este ip é o ip do servidor e esta entrada serve para poder aceder ao Owncloud com aquele nome.

Acedendo por browser a “cloud.own” podemos ver que o Webserver está a funcionar.

Devido a várias funcionalidades no Owncloud, é necessário activar vários módulos de Apache. Para isso, é necessário correr os seguintes comandos
a2enmod rewrite
a2enmod headers
service apache2 restart
O último comando serve para reiniciar o serviço do apache e assim os módulos sejam activados de forma efectiva.
É dado uma mensagem que o apache não sabe o nome do servidor. Isto acontece porque não tenho esse parâmetro definido no ficheiro de configuração.
Num teste, isto não é problemático.

Em seguida devemos efectuar o download do Owncloud 4 com o comando:
wget -O owncloud4.tar.bz2 http://owncloud.org/owncloud-download-4-0-0

Devemos depois descomprimir o ficheiro que efectuamos o download, com o comando:
 tar -jxvf owncloud4.tar.bz2

Se listarmos os ficheiros, com o comando:
ls
Podemos ver que temos uma pasta com o Owncloud. Devemos por isso copiar a pasta para o local onde se encontram os ficheiros do Webserver, com o comando:
cp -r owncloud /var/www/owncloud

Podemos então aceder à pasta onde se encontram agora os ficheiros, com o comando:
cd /var/www/owncloud
Correndo o comando para listar, visualizamos o seu conteúdo.

Para o Owncloud poder manipular os ficheiros é preciso que o dono dos ficheiros seja o utilizador com que é executado o apache.
Para tal, devemos correr o comando:
chown -R www-data:www-data /var/www/owncloud

Podemos aceder ao Owncloud de duas formas. De uma forma pouco segura, por http, em que tudo o que é transmitido vai em clear text ou por https em que a ligação é encriptada.
Penso que a melhor forma é por https e para tal vão ser necessárias várias alterações na configuração.
A primeira coisa é activar o módulo ssl no apache. Para tal, devemos correr o comando:
a2enmod ssl
service apache2 restart

Para usarmos https, é preciso tratar de gerar certificados. Começamos por correr.
openssl genrsa -des3 -out servidor.key 1024

Em seguida:
mv servidor.key servidor.old.key
Seguido por:
openssl rsa -in servidor.old.key -out servidor.key

Devemos correr em seguida:
openssl req -new -key servidor.key -out cert.csr
Durante a execução deste comando é necessário preencher os nossos dados.

Quase a finalizar, correr o comando:
openssl x509 -req -days 9000 -in cert.csr -signkey servidor.key -out cert.crt

Temosn que mover os ficheiros para a sua localização correcta, com os comandos:
mv cert.csr /etc/ssl/certs/
mv servidor.key /etc/ssl/private

Para configurar o apache, podemos criar um novo virtual host, ou podemos editar o ficheiro de configuração do site de default. Para este teste, escolhi a segunda hipótese, com o comando:
nano /etc/apache2/sites-availabe/default-ssl

Devemos alterar as seguintes linhas:
DocumentRoot /var/www/owncloud

< Directory /var/www/owncloud >
Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
Allow from all
< /Directory >

Também devemos alterar as seguintes linhas:
SSLEngine on

SSLCertificateFile /etc/ssl/certs/cert.csr
SSLCertificateKeyFile /etc/ssl/private/servidor.key

Finalmente, devemos activar o site, com o comando:
a2ensite
E efectuar um restart ao servidor apache, para tornarmos todas as alterações efectivas, com o comando:
service apache2 restart

Para verificarmos que temos acesso ao Owncloud e para acabar a instalação, devemos aceder ao site por:
https://cloud.own
Vamos verificar que em qualquer browser, temos um alerta de certificado, que é assinado por ele próprio e não tem ninguém que possa validar a sua autenticidade.
Isto é normal, pois é verdade que temos um certificado que passamos a nós mesmos.

Temos portanto que adicionar uma excepção para não nos dar novamente este alerta. Para tal, basta carregar no botão:
Add Exception

Se virmos as propriedades do certificado, podemos então confirmar que foi o que criamos.

Podemos então passar a excepção, carregando no botão:
Confirm Security Exception

Podemos ver finalmente o site que criamos do Owncloud.
Temos que colocar um utilizador e password que vai ser o administrador do Owncloud.

Se carregarmos nas opções avançadas, podemos definir onde vão-se encontrar os dados e onde se encontra a base de dados sqlite. Neste caso é em “localhost”.
Estando todos os dados introduzidos, podemos carregar no botão:
Finish Setup
 
Fonte: http://portal.zwame.pt/30218/guia/owncloud-4-uma-cloud-pessoal

Nenhum comentário:

Postar um comentário