Mudanças entre as edições de "IFSC remoto"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 217: Linha 217:
 
A seguir colocarei os passos para a integração com o lDap, o redirecionamento para o HTTPs e a sincronização:
 
A seguir colocarei os passos para a integração com o lDap, o redirecionamento para o HTTPs e a sincronização:
  
===Integração com o lDap===  
+
===Integração com o LDAP===  
 
Obs: O LDAP é um aplicativo dentro do ownCloud, seu uso pode ou não ser obrigatório.  
 
Obs: O LDAP é um aplicativo dentro do ownCloud, seu uso pode ou não ser obrigatório.  
 
Primeiramente temos que instalar os parâmetros necessários:
 
Primeiramente temos que instalar os parâmetros necessários:
Linha 227: Linha 227:
 
Logo em seguida, indo no seu ownCloud, clique no canto superior direito, no seu usuário:  
 
Logo em seguida, indo no seu ownCloud, clique no canto superior direito, no seu usuário:  
  
[[Arquivo:passo1.png]]
+
[[Arquivo:passo1.png|600px]]
  
 
Então procure a opção "LDAP user and group backend", clique na opção "Habilitar" (no nosso caso já está habilitado, por isso na imagem aparecerá "Desabilitar"):  
 
Então procure a opção "LDAP user and group backend", clique na opção "Habilitar" (no nosso caso já está habilitado, por isso na imagem aparecerá "Desabilitar"):  
  
[[Arquivo:passo2.png]]
+
[[Arquivo:passo2.png|600px]]
  
 
Novamente clique no canto superior direito em seu usuário e vá na opção "Admin":  
 
Novamente clique no canto superior direito em seu usuário e vá na opção "Admin":  
  
[[Arquivo:passo3.png]]
+
[[Arquivo:passo3.png|600px]]
  
 
A seguir mostrará como fizemos nossa própria configuração:  
 
A seguir mostrará como fizemos nossa própria configuração:  
  
[[Arquivo:passo4.png]]
+
[[Arquivo:passo4.png|600px]]
  
[[Arquivo:passo5.png]]
+
[[Arquivo:passo5.png|600px]]
  
[[Arquivo:passo6.png]]
+
[[Arquivo:passo6.png|600px]]
  
 
Qualquer outra dúvida sobre campos ou afins, o ownCloud disponibiliza ajuda no [http://doc.owncloud.org/server/5.0/admin_manual/configuration/auth_ldap.html Guia de configuração do LDAP (em inglês)]
 
Qualquer outra dúvida sobre campos ou afins, o ownCloud disponibiliza ajuda no [http://doc.owncloud.org/server/5.0/admin_manual/configuration/auth_ldap.html Guia de configuração do LDAP (em inglês)]
Linha 249: Linha 249:
 
Para finalizar, clique em "Teste de configuração", e se tudo deu certo deverá aparecer a seguinte mensagem:
 
Para finalizar, clique em "Teste de configuração", e se tudo deu certo deverá aparecer a seguinte mensagem:
  
[[Arquivo:passo7.png]]
+
[[Arquivo:passo7.png|600px]]
  
 
Depois é só clicar em "Save" para salvar as configurações feitas.
 
Depois é só clicar em "Save" para salvar as configurações feitas.
Linha 256: Linha 256:
  
 
Primeiramente editamos o arquivo:
 
Primeiramente editamos o arquivo:
<syntaxhighlight lang=php>
+
<code>
 
/etc/apache2/sites-enabled/000-default
 
/etc/apache2/sites-enabled/000-default
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Então colocamos a seguinte configuração:
 
Então colocamos a seguinte configuração:
<syntaxhighlight lang=php>
+
<code>
 
<VirtualHost *:80>
 
<VirtualHost *:80>
 
         ServerAdmin webmaster@localhost
 
         ServerAdmin webmaster@localhost
Linha 270: Linha 270:
  
 
Logo em seguida criamos um certificado através do comando:  
 
Logo em seguida criamos um certificado através do comando:  
<syntaxhighlight lang=php>
+
<syntaxhighlight lang=bash>
openssl req -new -days 1460 -nodes
+
openssl req -new -days 1460 -nodes -x509 -out /etc/ssl/certs/apache2.pem -keyout /etc/ssl/certs/apache2.pem   
      -x509 -out /etc/ssl/certs/apache2.pem
 
      -keyout /etc/ssl/certs/apache2.pem   
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Seguimos o que foi pedido, colocando o país, estado, cidade, instituição, local na instituição, nosso domínio (owncloud.sj.ifsc.edu.br) e um e-mail.
 
Seguimos o que foi pedido, colocando o país, estado, cidade, instituição, local na instituição, nosso domínio (owncloud.sj.ifsc.edu.br) e um e-mail.
  
 
Ativamos o ssl com os seguintes comandos:  
 
Ativamos o ssl com os seguintes comandos:  
<syntaxhighlight lang=php>
+
<syntaxhighlight lang=bash>
 
a2enmod ssl
 
a2enmod ssl
 
a2ensite default-ssl  
 
a2ensite default-ssl  
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Conferimos se o arquivo "deault-ssl" foi criado corretamente na pasta:  
 
Conferimos se o arquivo "deault-ssl" foi criado corretamente na pasta:  
<syntaxhighlight lang=php>
+
<syntaxhighlight lang=bash>
 
/etc/apache2/sites-enabled
 
/etc/apache2/sites-enabled
 +
</syntaxhighlight>
 +
e alteradas as seguintes linhas, ficando assim:
 +
<code>
 +
SSLCertificateFile    /etc/ssl/certs/apache2.pem
 +
SSLCertificateKeyFile /etc/ssl/certs/apache2.pem
 
</syntaxhighlight>
 
</syntaxhighlight>
 
E por fim reiniciamos o apache2 para a configuração funcionar corretamente usando o comando:
 
E por fim reiniciamos o apache2 para a configuração funcionar corretamente usando o comando:
<syntaxhighlight lang=php>  
+
<syntaxhighlight lang=bash>  
 
service apache2 restart
 
service apache2 restart
 
</syntaxhighlight>
 
</syntaxhighlight>
Linha 310: Linha 313:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
E temos que verificar se os seguintes arquivos estão na pasta também:  
+
E temos que verificar se os seguintes arquivos estão na pasta em '''todos''' os servidores envolvidos - criados conforme o [http://oss.linbit.com/csync2/paper.pdf seu manual]:
<syntaxhighlight lang=php>          
+
<syntaxhighlight lang=bash>
csync2.key               
+
/etc/csync2.key               
csync2_ssl_cert.csr   
+
/etc/csync2_ssl_cert.csr   
csync2_ssl_cert.pem   
+
/etc/csync2_ssl_cert.pem   
csync2_ssl_key.pem     
+
/etc/csync2_ssl_key.pem     
 
</syntaxhighlight>
 
</syntaxhighlight>
 
E por último fazer o agendamento para a sincronização através do caminho "/etc/cron.d/csync2".
 
E por último fazer o agendamento para a sincronização através do caminho "/etc/cron.d/csync2".
Colocamos para sincronizar a cada 5 minutos.
+
Colocamos para sincronizar a cada 5 minutos:
 +
<code>
 +
*/5 * * * * root /usr/sbin/csync2 -xvr > /dev/null 2> /dev/null
 +
</syntaxhighlight>

Edição atual tal como às 11h59min de 28 de março de 2016

Guia Básico de Instalação OwnCloud

Instalação do OwnCloud no Ubuntu (também servirá para o Debian “Squeeze”).

1.- Instalando as dependências necessárias, como root:

 
apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
apt-get install php5-sqlite php5-mysql php5-pgsql smbclient curl libcurl3 php5-curl
aptitude install mysql-server mysql-client

2.- Criando a base de dados MySQL

Em um terminal, rode os seguintes comando:

mysql -u root -p

Após digitar a sua senha, digite o seguinte comando:

create database nome_da_sua_base_de_dados;

O MySQL deverá responder: “Query OK, 1 row affected (0.00 sec)”

Feche o MySQL

 
quit

3.- Download e instalação:

Para Debian 7.0 execute o seguinte como root:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

Você pode adicionar a chave do repositório ao apt desta forma:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add - < Release.key

Para Debian 6.0 execute o seguinte como root:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_6.0/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

Você pode adicionar a chave do repositório ao apt desta forma:

 
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_6.0/Release.key
apt-key add - < Release.key


Para xUbuntu 13.04 execute o seguinte como root:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_13.04/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

Você pode adicionar a chave do repositório ao apt desta forma:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_13.04/Release.key
apt-key add - < Release.key

Para xUbuntu 12.10 execute o seguinte como root:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.10/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

Você pode adicionar a chave do repositório ao apt desta forma:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.10/Release.key
apt-key add - < Release.key

Para xUbuntu 12.04 execute o seguinte como root:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

Você pode adicionar a chave do repositório ao apt desta forma:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key
apt-key add - < Release.key

4.- Mova o diretório do OwnCloud para o Apache

mv owncloud /var/www

5.- Dê as permissões necessárias ao servidor web

chown -R www-data:www-data owncloud

6.- Reinicie o Apache

/etc/init.d/apache2 restart

7.- Terminando a instalação

Na barra de navegação digite: localhost/owncloud

Será aberta a janela abaixo para completarmos a instalação:

Owncloud-1-install-configuration-page.png

Crie uma conta de administrador e selecione a opção “Advanced”. Então, entre com o nome de usuário nome do banco e a senha do banco de dados e clique em “Concluir a instalação.” Uma vez dentro do seu próprio painel administrativo, você poderá configurar o serviço e criar usuários.

Diário de Bordo

24/06

Percebemos que o sistema Linux de 32-bit tem limitações para trabalhar com upload acima de 2GB. Esperávamos que o PAE do kernel pudesse resolver o problema, o que não foi possível. Assim que configuramos o PHP para trabalhar com até 2GB o problema de upload foi resolvido - apesar da limitação do tamanho do arquivo. A configuração foi assim:

  • Editado o arquivo /etc/php5/apache2/php.ini, e alterados os parâmetros:
memory_limit = 2000M
post_max_size = 2000M
upload_max_filesize = 2000M

e reiniciado o serviço Web:

service apache2 restart

Logo depois, foi testado o serviço Owncloud e funcionou devidamente com arquivos de até 1,9GB - entendendo que o código (+dados) do programa carregado em memória ocupa os 100MB restantes.

Próximo passo: 64-bit

Como há limitações no sistema 32-bit, será refeito TODO o serviço, agora com o sistema 64-bit.

25/06

Comecei todo o procedimento do zero, instalando o sistema operacional Debian 64-bit, logo em seguida instalei os recursos necessários para o funcionamento do OwnCloud, como por exemplo: apache2, PhP5, mysql. Criei uma base de dados, necessária para criação de usuário no OwnCloud. Instalei o OwnCloud versão web e desktop.

  • Editei o arquivo /etc/php5/apache2/php.ini, e alterei os seguintes parâmetros:
memory_limit = 10G
post_max_size = 10G
upload_max_filesize = 10G

e reiniciei o serviço Web:

service apache2 restart

26/06

Comecei a fazer os testes de upload, para ver se os parâmetros alterados estão funcionando. Fiz upload de um arquivo de 3.7G e ele concluiu sem problemas. Logo depois fiz um upload maior que 5G e apareceu o seguinte erro:

The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form

Comecei a pesquisar sobre o erro.

28/06

Encontrei a solução do erro, o problema estava no seguinte arquivo:

/var/www/owncloud/apps/files/templates/index.php

Tive que editar o mesmo e acrescentar o seguinte código ao arquivo:

<!--<input type="hidden" name="MAX_FILE_SIZE" id="max_upload" value="<?php p($_['uploadMaxFileSize']) ?>">-->

Logo em seguida testei um upload de 6.9G e ele conclui sem problemas!

01/07

Com o OwnCloud funcionando o upload corretamente, partimos para outros testes e implementações importantes, alguns desses são:

  • Sincronização: Upload via site e aplicativo; Inserir, modificar e apagar.
  • Compartilhamento: Como é a ocupação por espaço? É por dono ou por todos?
  • Configuração de usuários: Se outros usuários podem ou não modificar espaço e permissões.
  • Integração com Ldap
  • Redirecionamento do HTTP para o HTTPs.
  • Controle de versões de arquivos: se podemos resgatar versões anteriores.
  • Se existe uma "lixeira" e onde ela fica.
  • Sincronização entre servidores.
  • Plugins (apps)

02/07

Com o inicio dos testes, achei várias respostas e curiosidades sobre o OwnCloud:

  • Enquanto ele está executando algo (na verão web), o sincronizador, se estiver fechado, não funciona.
  • É possível recuperar versões anteriores de arquivos.
  • Quando um arquivo é compartilhado com outro usuário, o arquivo ocupa o espaço de ambos os usuários.
  • Na sua própria conta, quando o usuário faz o próprio upload, ele tem direito a todas as permissões do arquivo, e quando o arquivo é compartilhado, é o usuário que compartilha que decide quais as permissões que o compartilhado pode utilizar.
  • Se sou o administrador e crio um usuário, o usuário pode modificar seu espaço e permissões concedidos pelo administrador. Mas se sou um usuário criado pelo administrador e crio um novo usuário, este novo usuário não pode criar novos usuários e nem alterar os eu tamanho de espaço (isso quem determina é o usuário que o criou ou o próprio administrador)
  • Quando um usuário é criado, se não definido o espaço máximo, cada usuário ganha 90Gb.
  • O próprio OwnCloud versão web vem com alguns plugins (aplicativos) que podem ser habilitados. Ainda está sendo testado outros plugins que não estão na versão web.

Próximo passo de testes e implementações não completadas:

  • Integração com o Ldap.
  • Redirecionar do HTTP para o HTTPS.

05/07

Procurando por outras funcionalidades, achei algumas observações/curiosidades interessantes:

  • Se é delimitado um valor de armazenamento para um usuário e este já tem um número x de arquivos, se este valor for maior que o delimitado, eles permanecem na conta do usuário, mas ele não poderá alterar, atualizar ou colocar novos arquivos em sua conta.
  • Para colocar uma foto no seu perfil, a mesma tem que estar no OwnCloud (esta opção é um plugin que pode ou não ser ativada).
  • Os arquivos da lixeira permanecem na mesma por 180 dias, podendo ser alterado os dias no arquivo config.php editando o campo trashbin_retention_obligation. Ela não usa mais que 50% da sua capacidade do usuário.

08/07

Implementado o Ldap com sucesso, achamos um problema, pois tendo muitos números de usuários, não achamos ainda uma forma de "controlar" esses usuários. O Redirecionamento com do HTTP para o HTTPS funcionou perfeitamente. Novos objetivos:

  • Limitação de usuários, para onde eles vão, número de páginas, quais mostrar, como procurar.
  • Sincronização de arquivos usando csync2.

12/07

Havíamos achado um problema em filtrar os usuários do Ldap, pois como a rede IFSC existem muitos usuários (incluindo pessoas, computadores e outros), tivemos que fazer uma pesquisa e conseguimos chegar ao seguinte filtro:

(& (objectClass=person) (!(description=Computer)))

Sendo assim, conseguimos filtrar só usuários que realmente são pessoas, no caso, servidores e alunos. Porém ainda continuamos com o problema de usuários, em como procurar, para onde eles vão, etc.

Hoje o OwnCloud atualizou sozinho, e com a atualização voltou ao valor padrão 513MB de upload, porém, veio com a atualização a opção de mudar esse valor no próprio programa. Ainda continuamos com os seguintes objetivos:

  • Sincronização de arquivos usando csync2.
  • Usuários: para onde vão, como procurar, como "gerenciar".

30/07

Criamos uma máquina virtual, e refizemos todo o precedimento do zero, seguindo inicialmente o Guia básico de instalação do ownCloud. Então refizemos todo o procedimento de integração com o lDap, mudamos o valor de upload (que já foi ensinado acima como modificar), redirecionamento para o HTTPs e a sincronização usando o csync2. A seguir colocarei os passos para a integração com o lDap, o redirecionamento para o HTTPs e a sincronização:

Integração com o LDAP

Obs: O LDAP é um aplicativo dentro do ownCloud, seu uso pode ou não ser obrigatório. Primeiramente temos que instalar os parâmetros necessários:

aptitude install slapd 
aptitude install apache2 libapache2-mod-php5 php5 php5-cgi php5-ldap 
aptitude install phpldapadmin

Logo em seguida, indo no seu ownCloud, clique no canto superior direito, no seu usuário:

Passo1.png

Então procure a opção "LDAP user and group backend", clique na opção "Habilitar" (no nosso caso já está habilitado, por isso na imagem aparecerá "Desabilitar"):

Passo2.png

Novamente clique no canto superior direito em seu usuário e vá na opção "Admin":

Passo3.png

A seguir mostrará como fizemos nossa própria configuração:

Passo4.png

Passo5.png

Passo6.png

Qualquer outra dúvida sobre campos ou afins, o ownCloud disponibiliza ajuda no Guia de configuração do LDAP (em inglês)

Para finalizar, clique em "Teste de configuração", e se tudo deu certo deverá aparecer a seguinte mensagem:

Passo7.png

Depois é só clicar em "Save" para salvar as configurações feitas.

Redirecionamento para o HTTPs

Primeiramente editamos o arquivo: /etc/apache2/sites-enabled/000-default </syntaxhighlight> Então colocamos a seguinte configuração: <VirtualHost *:80>

       ServerAdmin webmaster@localhost
       RedirectMatch ^/$ https://owncloud.sj.ifsc.edu.br/owncloud/
       RedirectMatch ^/owncloud(.*) https://owncloud.sj.ifsc.edu.br/owncloud$1
       DocumentRoot /var/www
       <Directory />

</syntaxhighlight>

Logo em seguida criamos um certificado através do comando:

openssl req -new -days 1460 -nodes -x509 -out /etc/ssl/certs/apache2.pem -keyout /etc/ssl/certs/apache2.pem

Seguimos o que foi pedido, colocando o país, estado, cidade, instituição, local na instituição, nosso domínio (owncloud.sj.ifsc.edu.br) e um e-mail.

Ativamos o ssl com os seguintes comandos:

a2enmod ssl
a2ensite default-ssl

Conferimos se o arquivo "deault-ssl" foi criado corretamente na pasta:

/etc/apache2/sites-enabled

e alteradas as seguintes linhas, ficando assim: SSLCertificateFile /etc/ssl/certs/apache2.pem SSLCertificateKeyFile /etc/ssl/certs/apache2.pem </syntaxhighlight> E por fim reiniciamos o apache2 para a configuração funcionar corretamente usando o comando:

 
service apache2 restart

Sincronização usando csync2

Primeiramente instalamos o csync2 usando o comando:

aptitude install csync2

Na pasta /etc editamos o arquivo "hosts" e adicionamos as máquinas que irão fazer a sincronização, nesse caso utilizamos a máquina ownCloud e a máquina de tele. Isso foi necessário porque não foi usado DNS, o que seria o recomendado: que as máquinas tenham o nome interno (comando hostname) com resultado equivalente ao do DNS.

Em seguida criamos o arquivo "csync2.cfg" e colocamos a seguinte configuração:

 
group owncloud
{
        host turing owncloud;
        include /var/www/owncloud/data;
        key /etc/csync2.key;
        auto none;
}

E temos que verificar se os seguintes arquivos estão na pasta em todos os servidores envolvidos - criados conforme o seu manual:

/etc/csync2.key              
/etc/csync2_ssl_cert.csr   
/etc/csync2_ssl_cert.pem   
/etc/csync2_ssl_key.pem

E por último fazer o agendamento para a sincronização através do caminho "/etc/cron.d/csync2". Colocamos para sincronizar a cada 5 minutos:

  • /5 * * * * root /usr/sbin/csync2 -xvr > /dev/null 2> /dev/null

</syntaxhighlight>