Mudanças entre as edições de "Owncloud distribuído"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
Sobre o Owncloud
+
==Sobre o Owncloud==
  
 
O Owncloud é um serviço para armazenamento e partilha de arquivos de código aberto. É baseado no conceito de "computação em nuvem" ("cloud computing"). a implementação
 
O Owncloud é um serviço para armazenamento e partilha de arquivos de código aberto. É baseado no conceito de "computação em nuvem" ("cloud computing"). a implementação
  
  
Desenvolvimento:
+
==Desenvolvimento:==
  
  
Implementação:
+
==Implementação:==
  
 
Os passos abaixo devem ser feitos em todas os nós da implementação
 
Os passos abaixo devem ser feitos em todas os nós da implementação

Edição das 18h52min de 18 de julho de 2016

Sobre o Owncloud

O Owncloud é um serviço para armazenamento e partilha de arquivos de código aberto. É baseado no conceito de "computação em nuvem" ("cloud computing"). a implementação


Desenvolvimento:

Implementação:

Os passos abaixo devem ser feitos em todas os nós da implementação

Adicionando o repositório do Owncloud: wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key

apt-key add - < Release.key

sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list" </syntaxhighlight>

Adicionando o repositório do mariadb e galera: apt-get install software-properties-common

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

add-apt-repository 'deb [arch=amd64,i386] http://mirror.edatel.net.co/mariadb/repo/10.1/debian jessie main' </syntaxhighlight>

Instalando os pacotes necessários aptitude update

aptitude install -y rsync galera-3 mariadb-server owncloud csync2 </syntaxhighlight>

Vai pedir senha do banco, por garantia coloque a mesma senha em todos.

Modificar o arquivo /etc/hosts para colocar o ip e nome de todas as maquinas, por exemplo: 192.168.15.228 debian1 192.168.15.229 debian2 192.168.15.230 debian3 </syntaxhighlight>

Crie e edite o arquivo /etc/mysql/conf.d/galera.cnf com o conteúdo: [mysqld]

  1. mysql settings

binlog_format=ROW default-storage-engine=innodb innodb_autoinc_lock_mode=2 innodb_doublewrite=1 query_cache_size=0 query_cache_type=0 bind-address=0.0.0.0

  1. galera settings

wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_name="cluster_db" wsrep_cluster_address=gcomm://debian1,debian2,debian3 wsrep_sst_method=rsync </syntaxhighlight>

Pare o serviço mysql em todos os nós: debian1 # systemctl stop mysql

debian2 # systemctl stop mysql

debian3 # systemctl stop mysqllmente

</syntaxhighlight>

Os passos abaixo devem ser feitos somente em um dos nós:

Copie o conteúdo de /etc/mysql/debian.cnf do primeiro nó para os outros para que todos fiquem com o mesmo conteúdo.

Crie e inicie o cluste: debian1# galera_new_cluster </syntaxhighlight>

Verifique a quantidade de usuários no cluster com o comando(irá pedir a senha do banco): mysql -u root -p -e 'SELECT VARIABLE_VALUE as "cluster size" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="wsrep_cluster_size"' </syntaxhighlight>

Inicie os serviços mysql nos outros nós e verifique com o comando acima se estão entrando no cluster. systemctl start mysql </syntaxhighlight>

Deverá aparecer algo como isso(em caso de 3 nós): +--------------+ | cluster size | +--------------+ | 3 | +--------------+ </syntaxhighlight>


Criando o banco para o Owncloud(como o banco já estão sendo replicado só é necessários digitar os passos abaixo em um deles):

Digite o comando abaixo para entrar no modo de edição do banco(pedirá a senha do banco): mysql -uroot -p</syntaxhighlight>

Dentro digite: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

CREATE DATABASE IF NOT EXISTS owncloud;

GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';

quit

</syntaxhighlight>

Configurando o csync2:

Criar os certificados com os comandos abaixo em todas as maquinas: openssl genrsa -out /etc/csync2_ssl_key.pem 1024 openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem </syntaxhighlight>

  • Obs: não preencha as informações pedidas(Common Name (CN)...), somente dê enter.

Crie a pasta /etc/csync2 em todos os nós: mkdir /etc/csync2</syntaxhighlight>

Gere uma chave em um dos nós e copie para os outros: csync2 -k /etc/csync2/exemplo.key

exemplo: scp /etc/csync2/exemplo.key debian2:/etc/csync2

scp /etc/csync2/exemplo.key debian3:/etc/csync2 </syntaxhighlight>

Em todas os servidores crie e edite o arquivo /etc/csync2.cfg com o seguinte conteúdo:

  1. Grupo de sincronização

group exemplo {

       host debian1 debian2 debian3;
       key /etc/csync2/exemplo.key;
       include /var/www/owncloud/data;
       include /etc/mysql/debian.cnf;
       auto none;

}</syntaxhighlight>

Crie um agendamento na crontab, colando o conteúdo a seguir no arquivo /etc/cron.d/csync2(sincroniza a cada 1 min):

*/1 * * * * root /usr/sbin/csync2 -x > /dev/null 2> /dev/null</syntaxhighlight>

texto
texto

http://tobias.ws/blog/sincronizando-arquivos-com-csync2/

https://blog.sprinternet.at/2016/03/mariadb-10-1-galera-cluster-on-debian-8-jessie/

https://doc.owncloud.org/server/9.0/admin_manual/configuration_database/linux_database_configuration.html

http://oss.linbit.com/csync2/paper.pdf