GitHub는 무료로 서비스를 해주지만, 해당 서비스를 내 서버에서 운영할 수는 없다.
물론 돈을 주면 가능하긴 하다지만... 저렴한 인생으로써는...^^
그래서 찾아보던 중 오픈소스 프로젝트로 진행중인 GitLab을 알게 되었다.
설치 과정이 단순하진 않지만... 나만의 GitHub 구축을 위해서 !!!
공식 홈페이지에 설치 가이드가 너무나 잘 나와 있다.
- https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
앞에서 작성한 포스트를 참고해도 좋다.
- http://whatwant.tistory.com/332
01. 필수 패키지 설치
02. Git 설치
- http://whatwant.tistory.com/658
03. Ruby 설치
$ curl -L https://get.rvm.io | sudo bash -s stable
$ source /etc/profile
$ rvm install 2.0.0
$ rvm use 2.0.0
$ rvm --default use 2.0.0
PATH="......:/usr/local/rvm/bin"
04. 계정 만들기
05. GitLab-Shell 설치하기
$ sudo -u git -H git clone http://github.com/gitlabhq/gitlab-shell.git -b v1.7.9
$ cd gitlab-shell
$ sudo -u git -H cp config.yml.example config.yml
$ sudo -u git -H nano config.yml
$ cd /home/git/gitlab-shell
$ ./bin/install
08. Database
- 필자의 취향으로 일단 PostgreSQL로 진행해보자.
$ sudo -u postgres psql -d template1
# CREATE DATABASE gitlabhq_production OWNER git;
# \q
- 접속이 잘 되는지 테스트 함 해보자.
09. GitLab 다운로드
$ sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git -b 6-3-stable gitlab
10. GitLab 환경 설정
$ sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
- 도메인을 지정하고 싶으면 다음처럼 수정 작업을 하면 된다.
host: localhost
...
- 권한 조정이 필요하다.
$ sudo chown -R git tmp/
$ sudo chmod -R u+rwX log/
$ sudo chmod -R u+rwX tmp/
- satellites를 위한 디렉토리를 하나 생성하고, 필요한 디렉토리를 만들자.
- 필요한 디렉토리를 추가로 더 만들자.
$ sudo -u git -H mkdir tmp/pids/
$ sudo -u git -H mkdir tmp/sockets/
$ sudo chmod -R u+rwX tmp/pids/
$ sudo chmod -R u+rwX tmp/sockets/
$ sudo -u git -H mkdir public/uploads
$ sudo chmod -R u+rwX public/uploads
- 엄청 귀찮넹... 스크립트로 만들어서 제공하지....
- Unicorn 환경 설정을 진행하자.
- 고성능이 필요하면 cluster mode를 활성화 하자. 방법은 간단하다 ?!
- worker_processes를 3으로 변경하면 된다 ?!
worker_processes 2
...
- 이번에는 Rack attack config를 진행하자.
- rack attack middleware를 설정하고 싶으면 다음과 같이 하자.
- 주석처리된 부분을 찾아서 주석 표시를 지우면 된다고 한다. (뭘 하는지는 아직 모르겠다.)
# config.middleware.use Rack::Attack
...
11. 기본 사용자 설정
- Git 사용자 설정을 하자.
$ sudo -u git -H git config --global user.email "gitlab@whatwant.com"
$ sudo -u git -H git config --global core.autocrlf input
- 위 설정은 다음의 설정에서도 적용이 필요하다.
12. Database 환경 파일 설정
- PostgreSQL을 사용하는 경우이다.
- git 계정에서만 읽어볼 수 있게 하기 위한 권한 설정을 하자.
13. Install Gems
$ cd /home/git/gitlab
$ bundle install --deployment --without development test mysql aws
14. Database 생성
$ cd /home/git/gitlab
$ bundle exec rake gitlab:setup RAILS_ENV=production
- 설치과정 끝에 나오는 메시지를 잘 확인해야 한다.
15. Init Script 설정하기
$ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
$ sudo chmod +x /etc/init.d/gitlab
$ sudo update-rc.d gitlab defaults 21
16. log 관리하기
17. 환경 설정이 잘 되었는지 점검
- 환경 설정이 잘 되었는지 확인을 해야하는데...
- 우선 우리는 기본 설정값과 다른 git 경로부터 수정하고 확인을 하자.
git:
bin_path: /usr/local/bin/git
...
- git 경로를 제대로 적어주고나서 환경 설정 값들을 확인해보자.
$ cd /home/git/gitlab
$ bundle exec rake gitlab:env:info RAILS_ENV=production
18. 시작
- 이후 부터는 재부팅 될 때 자동으로 실행이 되겠지만, 지금은 직접 한 번 실행을 해보자.
Starting the GitLab Sidekiq event dispatcher...
The GitLab Unicorn webserver with pid 1478 is running.
The GitLab Sidekiq job dispatcher with pid 1506 is running.
GitLab and all its components are up and running.
19. 상태 점검
- green으로 나오면 좋은 것이다 ^^
$ cd /home/git/gitlab
$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
20. Nginx
http://tuwlab.com/10476
http://kkame.kr/106
http://blog.naver.com/PostView.nhn?blogId=delltin&logNo=90184174945
- 개인적으로 Apache2의 대용품(?)으로 좋아하다가 요즘은 살짝 관심을 끊은 Nginx ... ^^
- GitLab은 공식적으로 웹서버로 Nginx를 추천한다고 한다.
- 설정도 진행을 하자.
$ sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
- 수정할 것도 있다.
server_name localhost;
...
- 재시작 !
21. 사이트 테스트
- [ http://localhost/ ] 접속
- ID / Password = [ admin@local.host / 5iveL!fe ]
- 패스워드 재설정 창이 나온다.
- 여기에서 재설정을 하면 다시 로그인 창이 나온다. 다시 로그인을 하면 된다.
- 드디어 제대로 된 화면이 나왔다 !!!
헥헥... 너무 힘들다.... 이거, 반드시 스크립트 제공해줘야 한다 !!!
여하튼 일단 페이지 빵! 뜨는 것 까지는 성공~
'SCM > Git-GitHub' 카테고리의 다른 글
Gerrit (Ubuntu 12.04 - 64bit, PostgreSQL, Gerrit 2.8.4) (1) | 2014.05.06 |
---|---|
GitLab에 Gmail 셋팅하기 (사용자 관리) (0) | 2014.01.13 |
GitLab 3.5.3 (Ubuntu Server 12.04, SourceCode) (0) | 2014.01.13 |
Git Install (Ubuntu Server 12.04, SourceCode, v1.8.5.1) (0) | 2013.12.08 |
Git Install (Ubuntu Server 12.04, SourceCode, v1.8.4.1) (0) | 2013.10.26 |