Como configuro o servidor Gitorious no Ubuntu?

4

Eu queria saber como posso configurar o servidor gitorious no Ubuntu e fazer com que ele funcione localmente. Estou correndo 12.04 e gostaria de obter a versão mais recente

    
por Amith KK 09.05.2012 / 10:46

2 respostas

9

Atualização: A partir do Gitorious 3.2 (início de 2015) o gitorious suporta diretamente o ubuntu. Consulte o link para obter instruções de instalação.

instruções originais:

Para instalar o mais recente do git, siga estes passos

Primeiro, vamos enraizar usando

sudo su
[sudo] password for <username>:

Instalando pacotes

Ao instalar todos esses pacotes, você será perguntado por uma senha de root do MySQL, que você deve lembrar, porque você precisará dela mais tarde.

  aptitude install \
    build-essential zlib1g-dev tcl-dev libexpat-dev libxslt1-dev \
    libcurl4-openssl-dev postfix apache2 mysql-server mysql-client \
    apg geoip-bin libgeoip1 libgeoip-dev sqlite3 libsqlite3-dev \
    imagemagick libpcre3 libpcre3-dev zlib1g zlib1g-dev libyaml-dev \
    libmysqlclient15-dev apache2-dev libonig-dev ruby-dev rubygems \
    libopenssl-ruby libdbd-mysql-ruby libmysql-ruby \
    libmagick++-dev zip unzip memcached git-core git-svn git-doc \
    git-cvs irb

Instalando as gemas do Ruby

Gem.source_index está sendo reprovado. Usar o sistema 1.8.25 evita o erro source_index.

REALLY_GEM_UPDATE_SYSTEM=1 gem update --system 1.8.25

Agora podemos instalar todas as gemas necessárias:

  gem install --no-ri --no-rdoc -v 0.8.7 rake && \
    gem install --no-ri --no-rdoc -v 1.1.0 daemons && \
    gem install -b --no-ri --no-rdoc \
        rmagick stompserver passenger bundler

Instalando o Sphinx Search Server

wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz && \
    tar -xzf sphinx-0.9.9.tar.gz && \
    cd sphinx-0.9.9 && \
    ./configure --prefix=/usr && \
    make all install

Tornando-se gitorioso

  git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious && \
    cd /var/www/gitorious && \
    git submodule init && \
    git submodule update

Fácil como torta. Agora só precisamos colocar o binário gitorioso em nosso caminho:

 ln -s /var/www/gitorious/script/gitorious /usr/bin

Configurando serviços

O Gitorious precisa de vários serviços de segundo plano, por isso precisamos copiar os scripts de inicialização fornecidos:

cd /var/www/gitorious/doc/templates/ubuntu/ && \
    cp git-daemon git-poller git-ultrasphinx stomp /etc/init.d/ && \
    cd /etc/init.d/ && \
    chmod 755 git-daemon git-poller git-ultrasphinx stomp

e habilitá-los:

 update-rc.d git-daemon defaults && \
    update-rc.d git-poller defaults && \
    update-rc.d git-ultrasphinx defaults && \
    update-rc.d stomp defaults

Precisamos criar um link simbólico adicional, porque todos os scripts de inicialização têm RUBY_HOME definido como / opt / ruby-enterprise (alternativamente, poderíamos apenas corrigir os arquivos, mas dessa forma fica mais fácil e você pode atualizar os scripts se necessário) :

 ln -s /usr/ /opt/ruby-enterprise

Consertando o git-ultrasphinx

Em março de 2013, o script git-ultrasphinx está quebrado e não será iniciado. Edite /etc/init.d/git-ultrasphinx e verifique se os comandos start , stop e restart são os seguintes (substitua ultrasphinx:daemon por ts , se necessário):

 START_CMD="cd $GITORIOUS_HOME && rake ts:start RAILS_ENV=production"
 STOP_CMD="cd $GITORIOUS_HOME && rake ts:stop RAILS_ENV=production"
 RESTART_CMD="cd $GITORIOUS_HOME && rake ts:restart RAILS_ENV=production"

Configurando o Apache

Passageiro

Primeiramente, precisamos compilar o módulo de passageiros do Apache2:

$ (conteúdo da gema passageiro | grep passenger-install-apache2-module)

O script de configuração do passageiro informará exatamente o que você precisará adicionar à sua configuração do Apache. A parte que você precisa copiar é assim:

Por favor edite seu arquivo de configuração do Apache e adicione estas linhas:

   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9
    PassengerRuby /usr/bin/ruby1.8

Depois de reiniciar o Apache, você está pronto para implantar qualquer número de Ruby on Rails aplicativos no Apache, sem mais instruções específicas do Ruby on Rails configuração! Estas três linhas precisam ser inseridas em

/etc/apache2/mods-available/passenger.load

Ativando os módulos necessários

   a2enmod passenger && \
        a2enmod rewrite && \
        a2enmod ssl

Criando os sites do Apache2

Digite:

nano /etc/apache2/sites-available/gitorious

E copie e cole o seguinte texto

<VirtualHost *:80>
    ServerName your.server.com
    DocumentRoot /var/www/gitorious/public
</VirtualHost>

Digite

 nano /etc/apache2/sites-available/gitorious-ssl 

E copie e cole o seguinte texto

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        DocumentRoot /var/www/gitorious/public
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
        BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    </VirtualHost>
</IfModule>

Agora, precisamos desativar o site padrão e ativar nossos sites da Gitorious recém-criados:

  a2dissite default && \
    a2dissite default-ssl && \
    a2ensite gitorious && \
    a2ensite gitorious-ssl

Criando um usuário MySQL para gitorious

  mysql -u root -p

Digite a senha que você fez ao instalar o MySQL após o seguinte prompt

Enter password:

Digite isto linha por linha excluindo o mysql> e alterando <insert password> com sua senha do MySQL que você fez ao instalar o MySQL

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'gitorious'@'localhost' IDENTIFIED BY '<insert password>' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

Configurando o Gitorious

Antes de mais nada, precisamos nos certificar de que temos todas as gemas na versão correta do Gitorious, por isso executamos o seguinte:

cd /var/www/gitorious/ && \
    bundle install && \
    bundle pack

Agora podemos criar o usuário sob o qual o Gitorious executará e servirá os repositórios do Git:

  adduser --system --home /var/www/gitorious/ --no-create-home --group --shell /bin/bash git && \
    chown -R git:git /var/www/gitorious

Então, precisamos criar algumas coisas que o Gitorious precisa executar:

  su - git && \
    mkdir .ssh && \
    touch .ssh/authorized_keys && \
    chmod 700 .ssh && \
    chmod 600 .ssh/authorized_keys && \
    mkdir tmp/pids && \
    mkdir repositories && \
    mkdir tarballs

Criando a configuração Gitorious

Permite copiar os arquivos de configuração de amostra para o caminho correto:

 cp config/database.sample.yml config/database.yml && \
    cp config/gitorious.sample.yml config/gitorious.yml && \
    cp config/broker.yml.example config/broker.yml

Agora edite o config / database.yml e certifique-se de definir o nome de usuário e senha corretos na seção de produção. Depois disso, precisamos definir algumas coisas em config / gitorious.yml:

Verifique se você está configurando a seção correta (não test :, mas production:)

repository_base_path should be /var/www/gitorious/repositories
cookie_secret needs to be set to a random value >= 30 characters
gitorious_client_port should be 80
gitorious_host needs to be the exact hostname that clients will use (cookies get messed up otherwise)
archive_cache_dir should be /var/www/gitorious/tarballs
archive_work_dir should be something like /tmp/tarballs-work
hide_http_clone_urls should be true (they require extra unknown setup to work)
is_gitorious_dot_org should be false
Creating the Gitorious database

Por causa de uma incompatibilidade de RubyGems com Rails & lt; 2.3.11 você precisa adicionar a seguinte linha no topo de config / boot.rb:

require 'thread'

Agora deixamos o rake fazer todo o trabalho para nós:

export RAILS_ENV=production && \
    bundle exec rake db:create && \
    bundle exec rake db:migrate && \
    bundle exec rake rake ts:conf && \
    bundle exec rake rake ts:rebuild

Crie o Cronjob Esfinge

crontab -e 10 * * * * /var/www/gitorious/bin/rake ts:rebuild >/dev/null RAILS_ENV=production

Crie um usuário administrador

env RAILS_ENV=production ruby1.8 script/create_admin

Reinicie

Você finalmente acabou. Reinicie sua máquina Ubuntu e sua instalação Gitorious deve estar ativa e funcionando.

Verificando possíveis problemas

Procure o link para verificar possíveis problemas.

Fonte : link

    
por Amith KK 09.05.2012 / 11:00
2

Você também pode tentar meu instalador automático:

link

link

Diga-me se funciona para você.

    
por celogeek 26.12.2012 / 17:31

Tags