NPDD/Baobáxia/Documentação
(→Instalação da Mucua) |
(→Instalação da Mucua) |
||
Linha 124: | Linha 124: | ||
# cd /root/baobaxia | # cd /root/baobaxia | ||
− | # git pull | + | # git pull https://github.com/RedeMocambos/baobaxia |
Edição das 17h44min de 23 de abril de 2015
Documentação do Baobáxia
Conteúdo |
Uso geral
Tutorial sobre o uso geral da plataforma Baobáxia
Conteúdo da mucua local
- listagem de conteúdos publicados naquela mucua
- quando usuário entra no baobáxia, vai para a página da mucua
Barra lateral:
- informações sobre a mucua atual
- etiquetas
- acesso a outras mucuas
Conteúdo da rede
- listagem de todos os conteúdos da rede - publicados em várias mucuas
Visualização dos conteúdos
- a partir de uma busca, chega-se a formas de visualização variadas:
- galeria / slideshow
- página da mídia
Rodapé
- informações de uso de disco da mucua
Buscando conteúdos
- Princípio: chegar a todos os conteúdos
- Saída genérica
Formas de exibição da busca
- grid - boa para exibição
- -> galeria / (slideshow/tv)
- lista - boa para encontrar conteúdos específicos
- ordenar listagem
- adicionar/remover colunas
Tipos de buscas:
- por tags
- nas mucuas
- por usuários
- composta
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
Se estiver usando debian
Se voce estiver usando DEBIAN, eh necessario fazer o seguinte procedimento:
- existe um pacote que precisa de debian testing (uma versao mais recente do software), que é o 'git annex'
* Para isso, eh preciso adicionar o repositorio debian wheezy-backports ao seu apt.
O git annex é o único pacote que precisa ser baixado de outra distribuição mais adiantada do debian (debian wheezy-backports)
APT eh um programa que o gerencia os pacotes (programas) do debian.
Abra o terminal e entre como root.
Para isso adicione no /etc/apt/sources.list a linha, como usuario root:
Entrar como usuario root:
$ su - #
Entre na pasta /root
# cd /root
nano /etc/apt/sources.list
(adicione a linha)
deb http://ftp.it.debian.org/debian wheezy-backports main
atualize o repositorio apt
# apt-get update
Instale o Git
# apt-get install -t wheezy-backports git-annex
Se nao estiver usando debian (testado no ubuntu)
Entre como root
$ su - #
Instale o git
# apt-get install git
Instalação da Mucua
Entre no navegador web e baixe a versão mais atualizada do Baobáxia (pacotão) em:
http://media.mocambos.net/
Instale aplicativos básicos
# apt-get update && apt-get install bzip2 less
Baixe o arquivo e descompacte
Atualize o codigo do baobaxia do git:
# cd /root/baobaxia # git pull https://github.com/RedeMocambos/baobaxia
# 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