GitLab

{bbon}
이동: 둘러보기, 검색

공식 설치 가이드를 보며 진행한다.

Install Rails 진행중 bundle 설치 시 rugged 컴파일 오류를 해결하지 못해 설치를 포기했다. - 2014-11-06

테스트

OS : Ubuntu 14.04 x64 Desktop

Package / Dependencies

Prepare atr-get apt-get 정리

$ apt-get update
$ apt-get upgrade

Install sudo sudo 설치

sudo 가 설치되지 않은 경우

Debian은 기본적으로 sudo 가 설치되어져 있지 않다.

ubuntu는 sudo가 설치되어 있다.

$ apt-get install sudo

Install Vim Vim 설치

에디터로 Vim을 사용하려면 설치한다.

$ sudo apt-get install vim

Install the required package 필수 패키지 설치

$ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev

Install Python 파이썬 설치

Python 2.5 + 설치하면 된다.

3.x는 지원하지 않으므로 2.7을 설치한다. Ubuntu 14.04 에는 Python 2.7.6 버전이 설치되어 있다.

$ sudo apt-get install python

설치 후 Python 버전을 확인해서 2.5+, 3.0- 인지 확인한다.

$ python --version

Python 3.0이 설치되었으면 2.7을 설치한다.

$ sudo apt-get install python2.7

설치 후 Python 버전을 확인한다.

$ python2 --version

명령어를 찾을 수 없다. command not found 라면 아래와 같이 링크를 만든다.

$ sudo ln -s /usr/bin/python /usr/bin/python2

Install Database

PostgreSQL 또는 MySql 을 설치

Install MySql MySql 설치

설치시 입력한 root 계정의 비밀번호는 잘 기억해둔다.

$ sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev

=== User 추가 및 database 생성을 위해 root 계정으로 로그인

$ mysql -u root -p

database 생성

mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;

user 생성 및 권한 추가

mysql> GRANT ALL PRIVILEGES ON gitlabhq_production.* to 'gitlab'@'localhost' IDENTIFIED BY '사용할 비밀번호';
mysql> FLUSH PRIVILEGES;
mysql> quit;

사용자 확인

mysql> use mysql;
mysql> select user, host from user;

생성된 사용자로 로그인 확인

gitlab@localhost 사용자로 gitlabhq_production 데이터베이스에 로그인이 되는지 확인한다.

$ mysql -u gitlab -p -D gitlabhq_production

Add User 사용자 추가

git 계정은 로그인 비밀번호 없이 생성한다.

$ sudo adduser --disabled-login --gecos 'GitLab' git

git 계정으로 전환

$ sudo su - git

전환된 계정을 확인

$ whoami

git 디렉토리로 변경

$ cd /home/git

Install Ruby 루비 설치

설치가이드에는 루비를 다운로드하고 컴파일하는 것으로 되어있으나 RVM(Ruby Version Manager)을 사용하여 Ruby를 설치한다.

설치경로 및 소유자는 git 이다.

rvm 설치

$ \curl -sSL https://get.rvm.io | bash -s stable

아래와 같이 서명관련 오류가 발생하면 서명을 다운로드 받은 후 다시 rvm설치를 시도한다.

gpg : Can't check signature: public key not found 

try downloading the signatures : 
    gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

안내 메세지에 따라 서명을 다운로드

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

서명 파일을 다운로드 후 다시 RVM 설치를 시도한다.

$ \curl -sSL https://get.rvm.io | bash -s stable

rvm 자동로드 .bash_profile 에 추가

shell 에서 바로 추가

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

vi(Vim)를 사용하여 내용을 추가

###### Ruby Version Manager
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

vi 파일 저장 => :w

vi 종료 => :q

.bash_profile 다시 로드

$ source .bash_profile

RVM 버젼 확인

RVM 설치가 정상적으로 되었는지 확인

$ rvm -v

Ruby 설치를 위한 필수 패키지 설치

필수 패키지 설치를 위해 관리자 계정으로 변경

$ sudo apt-get install libsqlite3-dev sqlite3 autoconf automake libtool bison

RVM 으로 Ruby 를 설치하기 사용자를 그룹에 추가

git 계정은 sudo 실행권한이 없다.

그래서, RVM 으로 Ruby를 설치할 때, sudo 실행권한이 필요한 경우 실행권한이 없어 진행이 안된다.

따라서, git 계정을 sudo 그룹에 추가해서 설치를 진행한다.

관리자 계정으로 변경하여 진행한다.

$ sudo adduser git sudo

git 계정으로 변경하여 그룹을 확인한다.

sodu 그룹이 추가되었는지 확인

$ sudo su - git
$ cd ~/
$ id

RVM 의존성 확인

$ rvm requirements

RVM으로 Ruby 설치

Ruby 1.9.3 버전을 설치한다.

$ rvm install 1.9.3

Ruby 버전 지정

$ rvm --default ruby-1.9.3

Ruby 버전 확인

$ ruby -v

bundler 설치

$ gem install bundler

Install GitLab-Shell

git 계정으로 진행한다.

clone gitlab-shell

$ cd ~/
$ git clone https://github.com/gitlabhq/gitlab-shell.git

change branch

gitlab-shell v.1.3.0 branch 로 변경한다.

$ cd gitlab-shell
$ cd git checkout -b v1.3.0

Copy config file

환경설정 파일을 복사한다.

$ cp config.yml.example config.yml

Modify config

환결설정파일을 변경한다.

gitlab 에 사용될 URL정보를 변경

vi config.yml

gitlab_url 의 설정값을 실제 사용할 URL로 변경한다.

gitlab_url : "http://localhost/"

Run script

config.yml 을 수정한 후 설치 스크립트를 실행

$ ./bin/install

설치 스크립트 실행이 완료되면 ~/.ssh 디렉토리에 authorized_keys 파일이 생성된다. 이 파일은 gitlab 이 repository 로 접근할 때 사용되는 인증키이다.

Install GitLab

Clone GitLab

git 계정으로 진행한다.

GitLab 5.1 을 클론한다.

$ cd ~/
$ git clone https://github.com/gitlabhq/gitlabhq.git  gitlab
$ cd gitlab
$ git checkout -b 5-1-stable

공식 가이트에서 mater branch 를 사용해도 되지만 stable branch 사용을 권장한다.

Note: You can change 5-1-stable to master if you want the bleeding edge version, but do so with caution!

Configure GitLab

설정파일

GitLab 설정 파일을 복사해서, 설정을 변경한다.

GitLab-Shell 에서 입력한 URL 과 동일하게 변경한다.

$ cd gitlab
$ cp config/gitlab.yml.example config/gitlab.yml
$ vi config/gitlab.yml
host : localhost
...(중략)...
email-from: example@localhost

GitLab 하위 디렉토리 소유자 변경

git 계정으로 작업했으므로 필요없다.

$ chown -R git tmp/
$ chmod -R u+rwX tmp/
$ chown -R git log/
$ chmod -R u+rwX log/

gitlab-satellites 디렉토리 생성

$ mkdir ~/gitlab-satellites

tmp/pids 디렉토리 생성

~/gitlab/tmp/pids/ 디렉토리가 없으면 생성한다.

$ mkdir ~/gitlab/tmp/pids/

puma.rb 설정

설정파일을 복사하고, tcp 사용을 위해 설정 파일을 변경한다.

$ cp config/puma.rb.example config/puma.rb
$ vi config/puma.rb

5-1-stable 에 puma.rb 파일이 존재하지 않아 건너 뛰어 진행한다.

Configure Database

설정파일을 복사하고 계정, 비밀번호를 변경한다.

$ cd ~/gitlab
$ cp config/database.yml.mysql config/database.yml
$ vi config/database.yml

username, password를 변경한다.

Install Rails

RVM 을 최신 버전으로 업데이트

$ rvm get head

종속패키지 확인

$ rvm requirements run

기존 Ruby 삭제

$ rvm remove 1.9.3

Ruby 재설치 및 Default 지정

$ rvm use 1.9.3 --install --default

Rails 설치

$ gem install rails

charlock_holmes 설치

$ gem install charlock_holmes --version '0.6.9'

bundle 설치

$cd ~/gitlab
$ bundle install --deployment --without development test postgres
$ bundle exec rake gitlab:setup RAILS_ENV=production

마지막 명령을 실행하면 초기관리자 계정과 비밀번호가 출력되니 미리 기록해 둔다.