Savannah/Savane
Um pouco de história
editar- 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- 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- 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
Instalação
editarOu instalação completa e customizada, ou pela vm pré-configurada (reconfigurável de qualquer maneira)
Como instalar o Savane in a box
editarO 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- 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- 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
editarRequerimentos
editar- 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
Instalação
editar- 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
- Visite http://localhost:50080
- Login admin password admin, localuser password 12345
Src Hosting
editar- 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...):