본문 바로가기

개발개발

Gitlab과 Redmine 한서버에 설치하기

Redmine도 설치를 해보고 Git랩도 설치를 해봤다. 둘다 보니 rails로 만들어져있네? 한서버에 몰아서 설치할 수 있을 것 같다.

CentOS : 6.9
GitLab : 11.1.4
Redmine : 3.4.6

우선 GitLab을 설치한 상태에서 진행한다. GitLab 설치는 이전글을 참조할것.

2018/08/21 - [개발개발] - Centos 에서 GitLab 설치하기


1. 의존 라이브러리 설치

#> yum groupinstall "Development Tools"

#> yum install ImageMagick ImageMagick-devel
#> yum install wget


##루비설치

#> wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz

#> tar ruby-2.5.1.tar.gz
#> cd ruby-2.5.1.tar.gz
#> ./configure --prefix=/usr/local/ruby-2.5.1 --disable-install-doc
#> make
#> make install
#> cd /usr/local/
#> ln -s ruby-2.5.1 ruby
#> vi /etc/profile

루비 경로를 path로 잡아준다.


2. Redmine 설치 및 설정

#> wget http://www.redmine.org/releases/redmine-3.4.6.tar.gz
#> tar xvf redmine-3.4.6.tar.gz
#> mv redmine-3.4.6 /opt
#> cd /opt
#> ln -s ./redmine-3.4.6 redmine
#> cd redmine
#> cp config/database.yml.example
config/database.yml
#> vi
config/database.yml

production 부분만 수정 나머지는 주석처리한다.


redmine에서 gitlab에 포함된 postgresql에 접속할 수 있도록 postgresql 설정 파일을 수정한다.

#> vi /var/opt/gitlab/postgresql/data/postgresql.conf

listen_address 부분을 수정한다.

#> vi /var/opt/gitlab/postgresql/data/pg_hba.conf

local 접속 부분을 수정한다. (peer map=gitlab -> trust)

#> gitlab-psql

다음 SQL문을 실행한다.
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '패스워드' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
GRANT ALL PRIVILEGES ON DATABASE redmine TO redmine;

ruby 에 postgresql 관련 모듈을 설치해야하는데 gitlab에 포함된 postgresql에는 소스가 없어서 컴파일 오류가 발생한다. 그렇다고 해서 yum으로 postgresql 관련 라이브러리르 설치하는것은 gitlab에 포함된 postgresql을 쓰려하는 본 취지에 어긋나기 때문에 패스함. postgresql 소스를 컴파일해서 라이브러리만 쓰도록한다.

#> cd tmp
#> wget https://ftp.postgresql.org/pub/source/v9.6.8/postgresql-9.6.8.tar.gz
#> tar xvf postgresql-9.6.8.tar.gz
#> cp postgresql-9.6.8/src/include /opt/gitlab/embeded/postgresql/9.6.8/
#> cd /opt/redmine
#> gem install pg -v'0.18.4' -- --with-pg_config=/opt/gitlab/embeded/postgresql/9.6.8/bin/pg_config
#> vi Gemfile.local

#> bundle config build.pg --with-pg-config=/opt/gitlab/embeded/postgresql/9.6.8/bin/pg_config
#> bundle install --without development test
#> bundle exec rake generate_secret_token
#> RAILS_ENV=production bundle exec rake db:migrate
#> RAILS_ENV=production REDMINE_LNAG=ko bundle exec rake redmine:load_default_data

#unicorn 설정
#> cp /usr/local/ruby/lib/ruby/gems/2.5.0/gems/unicorn-4.6.3/examples/unicorn.conf.rb config/unicorn.rb
#> vi /config/unicorn.rb

#> vi config/enviroment.rb

#> vi /var/opt/gitlab/nginx/conf/gitlb-http.conf

nginx 설정은 위치도 중요하다. 우선 기존의 upstream  밑에 하나더 추가한다.

기존 location 설정 앞에 추가한다.

기존 location 설정 마지막에 추가한다.


#> gitlab-ctl restart

#> bundle exec unicorn_rails -D -c config/unicorn.rb -E production


끝. 생각해보니 루비도 gitlab에 포함되어있으니 굳이 별도로 설치안해도 방법이 있을듯하다.