The Ultimate Server Guide: Servidor Subversion com Redmine
Esta nova rubrica tem como objectivo a criação de alguns servidores básicos para ajudar no desenvolvimento das "nano, mini, micro e pequenas empresas" aproveitando tudo o que de melhor o mundo do opensource tem para oferecer. Neste caso, iremos começar pela criação de uma plataforma de gestão e partilha de código para "startups" na área da informática tendo como base o novíssimo Ubuntu 12.10 Server.
Configuração SVN:
Subversion é um sistema opensource de controlo de versões de código para que vários programadores tenham sempre acesso à versão mais recente do mesmo, permitindo também controlar quem fez o quê e quando.
Passando à configuração:
1. Em primeiro lugar vamos criar a localização para o repositório:
1 2 | sudo mkdir /var/svn/ sudo mkdir /var/svn/repositorio |
2. Criar o repositório para o projecto Pplware:
1 | sudo svnadmin create /var/svn/repositorio/pplware |
3. Copiar o texto seguinte para dentro da tag <VirtualHost *80> no ficheiro "/etc/apache2/sites-available/default"
1 2 3 4 5 6 7 8 9 | <Location /svn> DAV svn SVNListParentPath on SVNParentPath "/var/svn/repositorio" AuthType Basic AuthName "Repositorio PPLWARE" AuthUserFile "/var/svn/repositorio/.svnpasswd" Require valid-user </Location> |
4. Criar o utilizador pplware para o ficheiro .svnpasswd usado na autenticação do svn:
1 | sudo htpasswd -c /var/svn/repositorio/.svnpasswd pplware |
5. Executar o comando em baixo para que o utilizador do servidor web possa alterar os ficheiros no SVN:
1 | sudo chown -R www-data /var/svn |
Se tudo correu bem é agora possivél entrar na página http://localhost/svn com as credenciais: nome de utilizador: pplware palavra passe colocada no passo 4
Índice:
Este artigo tem mais de um ano
Excelente artigo Francisco. Parabéns! Um abraço
esta a haver uma conferencia ao vivo de apresentação do windows 8 e respectivo hardware de terceiros e da propria microsoft.. penso que merece a mesma atençao dada aos eventos da apple, onde é feito um live update pelo pplware…
só um reparo
Cumprimentos
Dinis
Boas Dinis,
O Pplware está la representado pela nossa Administradora Ana. Brevemente teremos noticias do evento aqui no Pplware.
Até já
Sugeria e pedia se não seria possivél uma série de tuturiais sobre criação e admnistração de um servidor GIT, visto num nivel micro-empresarial, se tornar mais fácil de gerir, há ferramentas gráficas espectaculares para GIT (ex: Source Tree), pelo que poderia ser interessante explorar esta potencialidade, ainda num ambiente micro-empresarial, sería interessante tentar explorar ambientes gráficos de gestão, pois é nestas empresas que a polivalencia das pessoas mais se faz notar, não sendo normalmente as pessoas especialistas em manutenção, configuração de servidores, mas “fazem uma perninha”.
Fica a sugestão
Bom guia!
Sugestão para mais um: Ubuntu + nginx + mysql + trac + git. Que tal?
Boa tarde Francisco,
Excelente artigo.
Vou sugerir algo, que me tem feito muita falta, e que nunca consegui encontrar nenhum tutorial na net minimamente apresentável.
Preciso de criar uma máquina (com ubuntu server ou centos), para instalar o mysql e xampp (ou outro) para poder ter o meu próprio servidor web… Como o posso fazer??
Abraço
Continuação de bom trabalho.
Pode sempre fazer no ubuntu server 12.10 o comando:
sudo apt-get install apache2 mysql-server mysql-client php5 libapache2-mod-php5
Cumprimentos
Boa tarde Francisco,
Antes de mais agradeço a tua resposta.
Aproveito para fazer mais duas questões.
1- Como crio a base de dados e tabelas (visto não existir ambiente gráfico)
2- Como acedo ao servidor do exterior?
Obrigado.
Abraço
Boa noite,
Poderá utilizar este programa para a criação de bases de dados via ambiente gráfico:
https://pplware.sapo.pt/windows/software/mysql-workbench-desenhe-base-de-dados/
Para utilizar o servidor do exterior deverá abrir os portos do router (TCP 80) e depois ou através de uma conta free do dyndns ou pelo IP aceder ao servidor web.
Cumprimentos
Achava melhor fazer isto em windows, fica muito caro a assistência técnica para instalação. “joking”
antonino, estás a gozar, mas eu no windows tenho isso configurado com Team Foundation Server, em windows server, com visual Studio de forma simpes e rápido, se quiser configurar o mesmo esquema com Linux, controlo de versões, sistema de gestão por interface gráfico e afins, tenho de comprar Licenças de software (Apesar do apanágio que tudo é free), tenho de requerer assistencia técnica paga, e tenho de dar formação aos utilizadores de forma a usarem algumas das ferramentas gráficas miseraveis que existem para SVN ou GIT, pois há acções que só funcionam por linha de comandos, no fim, feitas bem as contas não sei o que vale mais a pena ou o que sai mais caro. E se numa empresa grande justifica ter um departamento de redes/helpdesk, numa empresa pequena ou média, não se justifica pois não há trabalho que o justifique, logo são custos extra.
Coincidência, comecei esta semana a trabalhar com o Redmine.
Parabéns pelo artigo.
Estás a esquecer de uma coisa… podes associar cada commit a uma Issue do Redmine.
Pelo menos com o GIT consegues, com o SVN é provável que sim
Olá,
Gostava de saber se poderiam fazer um Tutorial tipo este mas sobre “Como fazer um servidor de e-mail em Linux”.
Aguardo Resposta!
Cumprimentos,
Henrique Sousa
Tenho isso na calha 🙂
Obrigado!
Cumprimentos
+1 à espera, aliás isso sugerir isso.
Mais um à espera!!
Aproveitem e instalem a ferramenta anti-spam P2T 😉
Raspberry Pi Email Server
https://samhobbs.co.uk/raspberry-pi-email-server
Como Web Developer utilizo svn há pelo menos 5 anos e para gestão de repositórios de versionamento tenho usado sempre o uSVN. Vou dar uma vista de olhos no RedMine já que parece ser interessante.
A vantagem do uSVN é que a partir do momento em que está “emparelhado” com o subversion, é possível fazer tudo pelo interface web, desde:
– Criação de repos;
– Criação de users;
– Criação de permissões por grupos de users
– Ver worklogs/versões ao detalhe e consultar as alterações de código.
Tenho usado sempre até aqui CentOS com acesso exterior através de uma VM em Viatta.
Se for interessante, sugir que façam um artigo para configurar o OpenVPN ou então fazerem uma coverage ao Viatta.
Fica a sugestão.
Abraço a todos!
Boa noite ,
Os meus sinceros parabéns pelo artigo , excelente trabalho Francisco Aragão .
Aceita os meus sinceros cumprimentos
Serva
Os meus parabéns pelo excelente trabalho. São artigos como estes que aumentam a pontuação da credibilidade e utilidade do pplware.
Excelente artigo Francisco. Os meus parabéns.
Ainda com o objetivo de ajudar as micro e as nano empresas, deixava-lhe a sugestão de abordar de forma semelhante a criação de um servidor com OplenLDAP e Samba.
Estas são necessidades de qualquer empresa seja ou não de base tecnológica.
Cumprimentos,
Paulo Pereira
Muito bom artigo Francisco e pertinente.
Obrigado!
Estou completamente de acordo com a sugestão do amigo Paulo Pereira.
Sei que ainda agora começou esta rubrica, mas tambem me parece importante o Samba e OpenLdap. Apontem aí…;-)
Continuem com o excelente trabalho.
Nuno Preto
Parabéns Francisco pelo artigo, esta muito bom!! 😉
cmps
excelente artigo!!! vai-me ser muito util!! obrigado
Antes de mais nada quero felicitar toda a equipa da Pplware, por finalmente abordarem (ainda) mais produtos e serviços OpenSource.
Só quero deixar uma sugestão para quem só quer SVN integrado (já que o Redmine aborda muito mais serviços), o UberSVN (http://www.wandisco.com/ubersvn). No entanto ainda é “pesadito”, pois utiliza o Tomcat para motor de Java. No entanto a sua instalação é do mais simples que existe.
Abc e continuação de bom trabalho.
Que tal colocarem esta informação toda num único documento PDF? Acho que seria um bom documento para consultar à posteriori.
Boas,
Tentei instalar e seguir os passos mas dá-me sempre o seguinte erro
Creating config file /etc/redmine/default/database.yml.new with new version
granting access to database redmine_default for redmine@localhost: already exists.
creating database redmine_default: already exists.
dbconfig-common: flushing administrative password
Populating database for redmine instance “default”.
This may take a while.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/share/redmine/vendor/rails/railties/lib/rails/gem_dependency.rb:21.
rake aborted!
(): found character that cannot start any token while scanning for the next token at line 7 column 13
Tasks: TOP => db:migrate => environment
(See full trace by running task with –trace)
Error when running rake db:migrate, check database configuration.
/var/lib/dpkg/info/redmine.postinst: 279: exit: Illegal number: -1
dpkg: error processing redmine (–configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)
paulocosta@srvdev:/$ Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index: command not found
paulocosta@srvdev:/$ Gem.source_index called from /usr/share/redmine/vendor/rails/railties/lib/rails/gem_dependency.rb:21.
Gem.source_index: command not found
paulocosta@srvdev:/$ rake aborted!
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
Alguém me pode ajudar? PArece-me que tem qualquer coisa relacionada com o ruby.
Bom dia, experimenta fazer:
1. mysql -u root -p
2. colocar a pass de root do mysql
3. drop database redmine_default;
4. exit
5. sudo apt-get install libgemplugin-ruby
6. colcar a pass do user
7. experimentar correr novamente
Cumprimentos
Só faltou ali um:
sudo service apache2 restart
antes de poder ir a:
http://localhost/svn
De resto mt obrigado pelo artigo ! 🙂
Seu tuto é excelente e me ajudou muito, porém tive muita dor de cabeça para instalar o passenger, pois obtinha o seguinte erro:
#
# ERROR: While executing gem … (NameError)
# uninitialized constant Gem::RemoteFetcher::OpenSSL
#
Descobri, depois de muitas pesquisas, que o erro acontecia porque usamos proxy aqui na empresa.
Para resolver basta adicionar um parametro “-p” seguido do endereço e porta do servidor de proxy. No caso ficaria:
$ sudo gem install passenger -p http://ip.do.server.proxy:porta
Seria legal se pusessem essa dica dentro do tutorial, pois pode ter acontecido o mesmo problema com outras pessoas.
Abraços!