Tuesday, November 26, 2013

Gitlab, Redmine Install with Maria DB in subdirectory, Ubuntu 12.04LTS

Gitlab, Redmine Install with Maria DB in subdirectory, Ubuntu 12.04LTS


1. Maria DB


install packages
sudo apt-get install libmariadbclient-dev libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5 mariadb-server-core-5.5       

if there are dependency problem, you may specify the version of maria db
sudo apt-get install libmysqlclient18=5.5.30-mariadb1~precise mysql-common=5.5.30-mariadb1~precise
sudo apt-get install libmysqlclient18=5.5.33a+maria-1~precise mysql-common=5.5.33a+maria-1~precise

2. Gitlab - Subdirectory

first, follow gitlab.org instruction.

Modify 3 files in gitlab home directory
# 1) In your application.rb file: config.relative_url_root = "/gitlab"
# 2) In your gitlab.yml file: relative_url_root: /gitlab
# 3) In your unicorn.rb: ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"

modify gitlab-shell/config.yml
gitlab_url: "http://localhost/gitlab/"

nginx conf
upstream gitlab {
  server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}


location /gitlab {

            proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
            proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
            proxy_redirect     off;

            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   Host              $http_host;
            proxy_set_header   X-Real-IP         $remote_addr;

            proxy_pass http://gitlab;
}

3. Redmine - Subdirectory

install dependent packages
sudo install imagemagick libmagickwand-dev
follow Redmine install instruction

install unicorn
gem install unicorn

downloads config file
curl -o config/unicorn.rb https://raw.github.com/defunkt/unicorn/master/examples/unicorn.conf.rb

modify config

config/unicorn.rb
working_directory /home/redmine
listen "/home/redmine/tmp/sockets/.unicorn.sock", :backlog => 64
pid "/home/redmine/tmp/pids/unicorn.pid"

config/environment.rb
Redmine::Utils::relative_url_root = "/redmine"

nginx conf
upstream redmine {
  server unix:/home/redmine/tmp/sockets/redmine.socket;
}

location /redmine {
            proxy_read_timeout 300;
            proxy_connect_timeout 300;
            proxy_redirect     off;

            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   Host              $http_host;
            proxy_set_header   X-Real-IP         $remote_addr;
            proxy_pass http://redmine;
}