NPDD/Baobáxia/Documentação

(Diferença entre revisões)
Ir para: navegação, pesquisa
(adicionando docs para uso geral da ferramenta (estrutura))
Linha 1: Linha 1:
 
Documentação do Baobáxia
 
Documentação do Baobáxia
 +
 +
== Uso geral ==
 +
 +
Tutorial sobre o uso geral da plataforma Baobáxia
 +
 +
=== Navegação básica no ambiente ===
 +
 +
Conteúdo da mucua local
 +
-> barra lateral
 +
 +
Conteúdo da rede
 +
-> Listar mucuas
 +
 +
Conteúdo de outras mucuas
 +
 +
Ver um conteúdo
 +
-> galeria / slideshow
 +
-> página da mídia
 +
 +
Rodapé
 +
-> informações de uso da mucua
 +
 +
=== Buscando conteúdos ===
 +
-> Busca - princípios gerais
 +
  -> grid
 +
  -> galeria / (slideshow)
 +
 +
  -> lista
 +
  -> ordenar listagem
 +
  -> paginação
 +
  -> adicionar/remover colunas
 +
 +
-> Busca por tags
 +
-> Busca composta
 +
-> Buscar nas mucuas
 +
-> Buscar por usuários
 +
 +
=== Criar usuári@ ===
 +
-> pela interface
 +
-> pela administração
 +
 +
=== Adicionar / editar conteúdos ===
 +
-> Como publicar conteúdo
 +
-> Como publicar galeria
 +
-> Como editar conteúdo
 +
-> Como editar muitos conteúdos
 +
-> Categorização de conteúdos / tags
 +
-> Como apagar conteúdos
 +
 +
 +
== Instalação e operação técnica ==
 +
 +
Tutorial sobre a parte mais técnica do Baobáxia, incluindo a instalação da mucua, sincronização e gestão geral do software
  
 
=== Preparação da Mucua ===
 
=== Preparação da Mucua ===

Edição das 18h21min de 20 de abril de 2015

Documentação do Baobáxia

Conteúdo

Uso geral

Tutorial sobre o uso geral da plataforma Baobáxia

Navegação básica no ambiente

Conteúdo da mucua local

-> barra lateral

Conteúdo da rede

-> Listar mucuas

Conteúdo de outras mucuas

Ver um conteúdo

-> galeria / slideshow
-> página da mídia

Rodapé

-> informações de uso da mucua

Buscando conteúdos

-> Busca - princípios gerais
 -> grid
  -> galeria / (slideshow)
 -> lista
  -> ordenar listagem
  -> paginação
  -> adicionar/remover colunas
-> Busca por tags
-> Busca composta
-> Buscar nas mucuas
-> Buscar por usuários

Criar usuári@

-> pela interface
-> pela administração

Adicionar / editar conteúdos

-> Como publicar conteúdo
-> Como publicar galeria
-> Como editar conteúdo
-> Como editar muitos conteúdos
-> Categorização de conteúdos / tags
-> Como apagar conteúdos


Instalação e operação técnica

Tutorial sobre a parte mais técnica do Baobáxia, incluindo a instalação da mucua, sincronização e gestão geral do software

Preparação da Mucua

* Instalação zerada de Debian Stable
 - único pacote que precisa de debian testing é o 'git annex' 

Instalação da Mucua

Baixe a versão mais atualizada do Baobáxia (pacotão) em:

http://media.mocambos.net/

Entre como root:

$ su -
# pwd
/root

Instale aplicativos básicos

# apt-get update && apt-get install bzip2 less

O git annex é o único pacote que precisa ser baixado de outra distribuição mais adiantada do debian (debian wheezy-backports) Adicione a linha do wheezy-backports aos seus repositórios do apt e salve:

# nano /etc/apt/sources.list
  # Repósitorio Wheezy debian-backports
  deb http//ftp.debian.org/debian debian wheeezy-backports main

Instale o git annex do backports:

# apt-get update
# apt-get install -t wheezy-backports git-annex

Baixe o arquivo e descompacte

# wget http://media.mocambos.net/baobaxia_20150402.tbz
# tar xjvf baobaxia_20150402.tbz
Explore a pasta do baobáxia e leia os arquivos INTRODUCAO.txt, INSTALL e README
# cd baobaxia
# ls 
app  AUTHORS.txt  _bbx_INTRODUCAO.txt  bin  clean.sh  conf  doc  INSTALL  install.sh  LICENSE.txt  local  mocambos  README  TODO  upgrade
 
Se houver internet, atualize o repositório de código do Baobáxia:
# git pull github master
Rode o instalador:
# ./install.sh
Caso precise reiniciar a instalação (USE COM CUIDADO, VAI ZERAR A INSTALAÇÃO DA MUCUA)!
# ./clean.sh

Ao rodar o instalador, verifique se há mensagens de erro

Ao rodar o instalador, ele vai: 1) Baixar pacotes e perguntar se você quer instalar. Responda SIM ou YES (colocar mensagem de aviso do Baobáxia logo no começo) 2) Entra no instalador do Baobáxia 3) Vai perguntar nome da mucua. Responder s/n 4) abdias.mocambos.net s/n. Responder s 5) pergunta se quer pegar do repositório da rede ou local (rede é padrão) -> para instalações sem acesso a internet 6) clona repositório de arquivos do código e copia arquivos básicos do baobáxia (nota mental: talvez seja mais interessante só instalar o baobáxia ao finalizar toda a instalação das dependências do django) 7) instala dependências do django 8) sobe sistema 9) syncdb 10) update_templates * 10) configura usuários 11) sincroniza 12) process_requests

Programas por trás - supervisor:

 Gerencia programas que estão rodando. No caso do baobáxia, são as aplicações:
 -> bbx
 -> celery

Certifique-se de que os programas estão rodando, com:

# supervisorctl status
 bbx                              RUNNING    pid 29839, uptime 23:51:16
 celery                           RUNNING    pid 944, uptime 28 days, 9:09:26

A mucua deve estar instalada. Mas ainda não foi sincronizada.

Faça o primeiro sync:

# su - exu
$ /srv/bbx/bbx-cron.sh
$ cd /srv/bbx/baobaxia
$ git remote add github https://github.com/RedeMocambos/baobaxia

Cuidando da mucua

Atualmente algumas funcionalidades não tem acesso pela interface web mas são acessíveis diretamente pelo terminal.

Importante Sempre entre como usuário "exu" no coco (ou como root e depois passe ao usuário exu, com "su - exu"):

ssh root@coco (aquela senha)
su - exu

O Baobáxia é instalado em dois repositórios git, um para o software que fica em:

/srv/bbx/baobaxia

e outro do acervo em si em:

/data/bbx/repositories/mocambos

Como todos os repositórios git, podemos verificar e atualizar os links para outros clones "remotos". Para ver como estão configurados:

cd /srv/bbx/baobaxia
git remote -v

No caso do software deveria ter:

github      https://github.com/RedeMocambos/baobaxia

Que podemos adicionar assim:

git remote add github https://github.com/RedeMocambos/baobaxia

Conectando as outras mucuas

Para verificar a conexão dos acervos das mucuas:

cd /data/bbx/repositories/mocambos
git remote -v

deveria ter uma rota para o dpadua (ou outra mucua):

dpadua      ssh://exu@dpadua.mocambos.net:9022/data/bbx/repositories/mocambos

Pode adicionar outra conexão, por exemplo pirriera, com:

git remote add pirriera ssh://exu@pirrieta.mocambos.net/data/bbx/repositories/mocambos

Uma vez verificados os remotes podemos sincronizar os repositórios. Em geral o git pode baixar (pull) ou enviar (push) as mudanças para outros clones.

Atualizando o codigo do Baobáxia

Então para atualizar o código com a ultima versão no github.com

cd /srv/bbx/baobaxia
git pull github master

Uma vez atualizado o codigo precisa rodar alguns comandos para instalar as atualizações:

cd /srv/bbx/baobaxia/app/django-bbx
. /srv/bbx/envs/bbx/bin/activate
python manage.py collectstatic --noinput
python manage.py syncdb --all
python manage.py migrate --all
/srv/bbx/bin/update_templates.sh

Sincronizando o acervo

Em vez desse comando para atualizar o acervo do Baobáxia usamos o comando:

/srv/bbx/bin/bbx-cron.sh

Que alem de baixar (pull), juntar (merge) e enviar (push) as mudanças, atualiza localmente os media no Baobáxia.

Enviar ou pedir copias dos conteúdos

O Baobáxia usa para gerenciar os arquivos o software git-annex que permite gerenciar copias dos arquivos entre as mucuas (clones dos repositórios).

A estrutura da pasta, do repositório do acervo (/data/bbx/repositories/mocambos):

├── chasqui
│   ├── mocambolas
│   └── video
│       └── 14
│           └── 08
│               └── 13
│                   ├── mineral-b8469.json (Arquivo de metadados)
│                   └── mineral-b8469.mp4
├── coco
│   ├── imagem
│   │   └── 14
│   │       └── 10
│   │           ├── 04
│   │           │   ├── grafiti-coco-b0fe2.jpg 
│   │           │   ├── grafiti-coco-b0fe2.json (Arquivo de metadados)
│   │           │   ├── logo-coco-e4b4e.json (Arquivo de metadados)
│   │           │   └── logo-coco-e4b4e.png 
│   │           └── 06
│   │               ├── plantio-mucua-coco-oficina-nufac-a7152.jpg
│   │               └── plantio-mucua-coco-oficina-nufac-a7152.json (Arquivo de metadados)
│   ├── mocambolas
│   │   ├── bethdeoxum@coco.mocambos.net.json
│   │   ├── braza@coco.mocambos.net.json
│   │   ├── daniel@coco.mocambos.net.json
│   │   ├── iris@coco.mocambos.net.json
│   │   ├── meme@coco.mocambos.net.json
│   │   ├── pc@coco.mocambos.net.json
│   │   └── raiol@coco.mocambos.net.json
│   └── video
│       └── 14
│           └── 10
│               ├── 04
│               │   ├── oficina-de-coco-em-cuba-com-mae-beth-dd7d3.json (Arquivo de metadados)
│               │   └── oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg 
│               └── 06
│                   ├── alma-no-olho-ff46d.json (Arquivo de metadados)
│                   └── alma-no-olho-ff46d.mp4
└-OUTRAS_MUCUAS...

Para enviar uma copia de um conteúdo para outra mucua, por exemplo o video "oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg" entramos na pasta e usamos o comando git annex copy:

cd /data/bbx/repositories/mocambos/coco/video/14/10/06/
git annex copy --to dpadua oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg

Para receber uma copia de outra mucua a logica e' a mesma, por exemplo para pegar uma copia do video "mineral-b8469.mp4" publicado no chasqui:

cd /data/bbx/repositories/mocambos/chasqui/video/14/08/13/
git annex get mineral-b8469.mp4

O git annex vai tentar pegar a copia atraves das mucuas configuradas como "remote".

Acesso a Mucua via tunnel

Aqui no Coco não temos acesso a todos os roteadores para reancaminhar a porta do ssh para o acesso externo. Nesse caso usamos um tunnel ssh reverso que cria uma conexao para dpadua. Assim o ssh do coco esta acessivel na porta 6666 do dpadua.

ssh -fNT -R 6666:localhost:22 exu@dpadua.mocambos.net -p 9022

Para manter ativo o tunnel pode colocar esse script no /etc/rc.local (é necessário antes criar as autenticação via chaves para o usuario exu)

HOME=/home/exu/
autossh -f -N -M 10984 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /home/exu/.ssh/id_rsa -R 6666:localhost:22 exu@dpadua.mocambos.net -p 9022 &
exit 0
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas
Rede Mocambos