Saltar para o conteúdo

Savannah/Savane

Fonte: Wikiversidade

Um pouco de história

[editar | editar código-fonte]
  • O website GNU Savanna começou sendo hospedado no SourceForge
  • Source forge muda para software proprietário
  • Loic Dachary, o principal administrador do site no Free Software Foundation, bifurcou (fork) o software para continuar mantendo
  • CERN (European Organization for Nuclear Research) se interessa pelo software e contrata o contribuidor Mathieu Roy para aprimorar o software
  • A nova instancia (CERN) passou a ter o nome Savane (frances), e com novas funcionalidades, foi então usado para coordenar desenvolvimento de software relacionados ao Worldwide LHC Computing Grid
  • O projeto foi abandonado em 2006, por desinteresse de Mathieu Roy, e a falta de developers interessados em continuar mantendo o software

O que oferece

[editar | editar código-fonte]
  • Sistema de Markup para usuários formatarem texto

Full markup nos itens de News, Rich markup nos comentários, Basic markup nos comentários de arquivos anexados, links e etc.

  • Pré configurações para projetos (chamados de "grupos" pela ferramenta). Pode-se setar defauts comuns para projetos e facilitar sua configuração.

No mesmo site, é possível disponiilizar sets diferentes de features para os grupos hosteados, dependendo do seu tipo, deixando isso pré configurado.

  • Request Tracking
  • Bug Tracking
  • Task Management

Trackers para a coordenação de tasks e organização de requests entre a comunidade de usuários e admins. Possui interface comum entre todos os trackers.

  • Cookbook (Documentation Management)

Recipes (intens no Cookbook, a ferramenta de documentação) podem ser entrelaçadas para especificar papéis para contextos e usuários. Isso é mostrado no menu da esquerda do Cookbook.

  • Change Management

Suporta ferramentas de versionamento como CVS, git e svn. Para a instalação local, possui configurações buit in para CVS, mas para os outros é necessário fazer configurações adicionais.

  • Mailing List

Notificações de email por categorias em adição às notificações usuais.

  • News

Notificações e plataforma de notícias.

Features adicionais:

[editar | editar código-fonte]
  • Além disso
    • Banco de dados guarda todas as dependencias entre os itens
    • Restrições de postagem deixam projetos restringir postagem de usuários baseado em seu level de autenticação.
    • É simples copiar configurações de trackers entre projetos de um mesmo administrador.
    • Mecanismo que checa se posts foram duplicados
    • Usuários podem começar votações para decisões importantes do projeto
  • Site Admin:
    • Gerência de projetos submetidos pelo task tracker
    • Fácil monitoramento de usuários suspeitos de spam

Ou instalação completa e customizada, ou pela vm pré-configurada (reconfigurável de qualquer maneira)

Como instalar o Savane in a box

[editar | editar código-fonte]

O Savannah pode ser instalado através de uma VM que facilita a instalação desse forge. Para a instalação de um manager para vms deve se seguir os seguintes passos:

  • Execute o seguinte comando para saber se sua máquina terá possibilidades de executar uma vm. Qualquer retorno diferernte de 0 é válido
$ egrep c (svm|vmx) /proc/cpuinfo
  • Use o seguinte comando para instalar pacotes KVM e de apoio. Virt-Manager é uma aplicação gráfica para gerenciar suas máquinas virtuais
$ sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager
  • Execute o seguinte comando para adicionar a sua conta de usuário ao grupo libvirtd
$ sudo adduser name libvirtd

- Logo após a instalação da VM temos que configura-la para executar o savannah.

Baixando e iniciando a VM

[editar | editar código-fonte]
  • Faça download da imagem pré-configurada (Savane in a box)
$ wget http://files.housegordon.org/gnu-sv/savane-in-a-box.tar.xz
  • Extraia os arquivos
$ tar xJf savane-in-a-box.tar.xz
  • Utilize o script que esta na pasta savane-in-a-box no terminal
$ ./savane-in-a-box.sh
  • Logo após a utilização do script ira pedir no terminal uma senha e um login

login: Miles

Senha: 12345

  • Logo em seguida acesse http://localhost:50080, admin (password admin), testuser (non-admin user, password 12345)


Logando via SSH

[editar | editar código-fonte]
  • Para iniciar sessão no vm convidado, execute: ssh -p 2222 miles@localhost
  • A senha de '**root**' é '*12345*'.
  • A Senha do usuário '**miles**' (non-root) é *"12345"*. É possível usar o sudo sem senha.
  • A senha de root do MySQL é '12345'.
  • O código está sendo executado a partir de /home/miles/savane/ .
  • Por default, *savane-in-a-box.sh* roda QEMU/KVM no modo snapshot - ou seja, as alterações são não salvas ao encerrar a VM
  • Para salvar as alterações use
$ ./savane-in-a-box.sh -S
  • Desligue a VM com o comando
$ sudo shutdown -h now


Instalação seguindo passo a passo sem a VM

[editar | editar código-fonte]

Requerimentos

[editar | editar código-fonte]
  • A parte PHP frontend requere apache2 com php5 e MySQL 5
  • Rode tudo com usuário non-root (comum, não-root)
  • Em um sistema DEB instale os seguintes pacotes:
$ sudo apt-get install apache2 libapache2-mod-php5 \
                     mysql-server mysql-client \
                     php5-mysql
  • OBS: instalar os pacotes acima vai deixar Apache2/MySQL servers rodando por padrão no seu computador. Para que isso não aconteça, rode:
$ sudo service apache2 stop
$ sudo service mysql stop
$ sudo update-rc.d apache2 remove
$ sudo update-rc.d mysql remove
  • Pegue o código Savane
$ git clone git://git.sv.gnu.org/administration/savane.git
cd savane
  • Use a revision mais nova e estável
git checkout 7d4703de
  • Pegue e aplique patches para rodar localmente
$ wget -O sv-local-run.patch.xz \
'https://savannah.gnu.org/support/download.php?file_id=32220'
xzcat sv-local-run.patch.xz | git am
  • Prepare Savane
./bootstrap
./configure
  • Inicie um demo local com uma database stub
cd local
make local-apache2-start
make local-db-setup-tiny
  • Login admin password admin, localuser password 12345
  • Edite /usr/sbin/apache2 para operar com viewvc
<VirtualHost 127.0.0.1>
  ServerName cvs.savane.testproject.net
  DocumentRoot /usr/lib/cgi-bin/viewvc.cgi
  Alias /doc/viewvc/ /usr/share/doc/viewvc/html/
  ServerAdmin lucas@hlocalhost
</VirtualHost>
  • Mude também /etc/viewcvs/viewcvs.conf
root_parents= /home/$USER/savane/cvs-repositories : cvs
  • Logue como admin. Abra administration project, e então administration area.
  • Entre em Group type management, e em #1 Default, para setar a pré-configuração para grupos desse tipo
  • Preencha:
  • Directory Creation (Para repositórios com versionamento diferente d CVS é necessário customizar o savane)

CVS directory

  • Repository Dir (path on the filesystem) [BACKEND SPECIFIC]:

/home/savane/cvs-repositories/%PROJECT

  • Repository view URL (cvsweb, viewcvs, archzoom...):

http://cvs.savane.testproject.net/?root=%PROJECT