문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [https://github.com/gitlabhq/gitlabhq/blob/5-1-stable/doc/install/installation.md 공식 설치 가이드]를 보며 진행한다. Install Rails 진행중 bundle 설치 시 rugged 컴파일 오류를 해결하지 못해 설치를 '''포기'''했다. ''- 2014-11-06'' OS : Ubuntu 14.04 x64 Desktop == Package / Dependencies == === Prepare atr-get ''apt-get 정리'' === <syntaxhighlight lang="bash">$ apt-get update $ apt-get upgrade</syntaxhighlight> === Install sudo ''sudo 설치'' === sudo 가 설치되지 않은 경우 ''Debian은 기본적으로 sudo 가 설치되어져 있지 않다.'' ''ubuntu는 sudo가 설치되어 있다.'' <syntaxhighlight lang="bash">$ apt-get install sudo</syntaxhighlight> === Install Vim ''Vim 설치'' === 에디터로 Vim을 사용하려면 설치한다. <syntaxhighlight lang="bash">$ sudo apt-get install vim</syntaxhighlight> === Install the required package ''필수 패키지 설치'' === <syntaxhighlight lang="bash">$ 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</syntaxhighlight> === Install Python ''파이썬 설치'' === Python 2.5 + 설치하면 된다. ''3.x는 지원하지 않으므로 2.7을 설치한다.'' ''Ubuntu 14.04 에는 Python 2.7.6 버전이 설치되어 있다.'' <syntaxhighlight lang="bash">$ sudo apt-get install python</syntaxhighlight> 설치 후 Python 버전을 확인해서 2.5+, 3.0- 인지 확인한다. <syntaxhighlight lang="bash">$ python --version</syntaxhighlight> Python 3.0이 설치되었으면 2.7을 설치한다. <syntaxhighlight lang="bash">$ sudo apt-get install python2.7</syntaxhighlight> 설치 후 Python 버전을 확인한다. <syntaxhighlight lang="bash">$ python2 --version</syntaxhighlight> 명령어를 찾을 수 없다. command not found 라면 아래와 같이 링크를 만든다. <syntaxhighlight lang="bash">$ sudo ln -s /usr/bin/python /usr/bin/python2</syntaxhighlight> == Install Database == PostgreSQL 또는 MySql 을 설치 === Install MySql ''MySql 설치'' === '''설치시 입력한 root 계정의 비밀번호는 잘 기억해둔다.''' <syntaxhighlight lang="bash">$ sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev</syntaxhighlight> === User 추가 및 database 생성을 위해 root 계정으로 로그인 <syntaxhighlight lang="bash">$ mysql -u root -p</syntaxhighlight> === database 생성 === <syntaxhighlight lang="bash">mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;</syntaxhighlight> === user 생성 및 권한 추가 === <syntaxhighlight lang="bash">mysql> GRANT ALL PRIVILEGES ON gitlabhq_production.* to 'gitlab'@'localhost' IDENTIFIED BY '사용할 비밀번호'; mysql> FLUSH PRIVILEGES; mysql> quit;</syntaxhighlight> === 사용자 확인=== <syntaxhighlight lang="sql">mysql> use mysql; mysql> select user, host from user;</syntaxhighlight> === 생성된 사용자로 로그인 확인 === gitlab@localhost 사용자로 gitlabhq_production 데이터베이스에 로그인이 되는지 확인한다. <syntaxhighlight lang="bash">$ mysql -u gitlab -p -D gitlabhq_production</syntaxhighlight> == Add User 사용자 추가 == git 계정은 로그인 비밀번호 없이 생성한다. <syntaxhighlight lang="bash">$ sudo adduser --disabled-login --gecos 'GitLab' git</syntaxhighlight> git 계정으로 전환 <syntaxhighlight lang="bash">$ sudo su - git</syntaxhighlight> 전환된 계정을 확인 <syntaxhighlight lang="bash">$ whoami</syntaxhighlight> git 디렉토리로 변경 <syntaxhighlight lang="bash">$ cd /home/git</syntaxhighlight> == Install Ruby 루비 설치 == 설치가이드에는 루비를 다운로드하고 컴파일하는 것으로 되어있으나 RVM(Ruby Version Manager)을 사용하여 Ruby를 설치한다. 설치경로 및 소유자는 git 이다. === rvm 설치 === <syntaxhighlight lang="bash">$ \curl -sSL https://get.rvm.io | bash -s stable</syntaxhighlight> 아래와 같이 서명관련 오류가 발생하면 서명을 다운로드 받은 후 다시 rvm설치를 시도한다. <blockquote><pre>gpg : Can't check signature: public key not found try downloading the signatures : gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3</pre></blockquote> 안내 메세지에 따라 서명을 다운로드 <syntaxhighlight lang="bash">$ gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3</syntaxhighlight> 서명 파일을 다운로드 후 다시 RVM 설치를 시도한다. <syntaxhighlight lang="bash">$ \curl -sSL https://get.rvm.io | bash -s stable</syntaxhighlight> === rvm 자동로드 .bash_profile 에 추가 === ==== shell 에서 바로 추가 ==== <syntaxhighlight lang="bash">$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile</syntaxhighlight> ==== vi(Vim)를 사용하여 내용을 추가 ==== <syntaxhighlight lang="bash">###### Ruby Version Manager [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*</syntaxhighlight> ''vi 파일 저장 => :w'' ''vi 종료 => :q'' === .bash_profile 다시 로드 === <syntaxhighlight lang="bash">$ source .bash_profile</syntaxhighlight> === RVM 버젼 확인 === RVM 설치가 정상적으로 되었는지 확인 <syntaxhighlight lang="bash">$ rvm -v</syntaxhighlight> === Ruby 설치를 위한 필수 패키지 설치 === 필수 패키지 설치를 위해 관리자 계정으로 변경 <syntaxhighlight lang="bash">$ sudo apt-get install libsqlite3-dev sqlite3 autoconf automake libtool bison</syntaxhighlight> === RVM 으로 Ruby 를 설치하기 사용자를 그룹에 추가 === git 계정은 sudo 실행권한이 없다. 그래서, RVM 으로 Ruby를 설치할 때, sudo 실행권한이 필요한 경우 실행권한이 없어 진행이 안된다. 따라서, git 계정을 sudo 그룹에 추가해서 설치를 진행한다. 관리자 계정으로 변경하여 진행한다. <syntaxhighlight lang="bash">$ sudo adduser git sudo</syntaxhighlight> git 계정으로 변경하여 그룹을 확인한다. ''sodu 그룹이 추가되었는지 확인'' <syntaxhighlight lang="bash">$ sudo su - git $ cd ~/ $ id</syntaxhighlight> === RVM 의존성 확인 === <syntaxhighlight lang="bash">$ rvm requirements</syntaxhighlight> === RVM으로 Ruby 설치 === Ruby 1.9.3 버전을 설치한다. <syntaxhighlight lang="bash">$ rvm install 1.9.3</syntaxhighlight> === Ruby 버전 지정 === <syntaxhighlight lang="bash">$ rvm --default ruby-1.9.3</syntaxhighlight> === Ruby 버전 확인 === <syntaxhighlight lang="bash">$ ruby -v</syntaxhighlight> === bundler 설치=== <syntaxhighlight lang="bash">$ gem install bundler</syntaxhighlight> == Install GitLab-Shell == git 계정으로 진행한다. === clone gitlab-shell === <syntaxhighlight lang="bash">$ cd ~/ $ git clone https://github.com/gitlabhq/gitlab-shell.git</syntaxhighlight> === change branch === gitlab-shell v.1.3.0 branch 로 변경한다. <syntaxhighlight lang="bash">$ cd gitlab-shell $ cd git checkout -b v1.3.0</syntaxhighlight> === Copy config file=== 환경설정 파일을 복사한다. <syntaxhighlight lang="bash">$ cp config.yml.example config.yml</syntaxhighlight> === Modify config=== 환결설정파일을 변경한다. gitlab 에 사용될 URL정보를 변경 <syntaxhighlight lang="bash">vi config.yml</syntaxhighlight> gitlab_url 의 설정값을 실제 사용할 URL로 변경한다. <syntaxhighlight lang="vim">gitlab_url : "http://localhost/"</syntaxhighlight> === Run script === config.yml 을 수정한 후 설치 스크립트를 실행 <syntaxhighlight lang="bash">$ ./bin/install</syntaxhighlight> 설치 스크립트 실행이 완료되면 ~/.ssh 디렉토리에 authorized_keys 파일이 생성된다. 이 파일은 gitlab 이 repository 로 접근할 때 사용되는 인증키이다. == Install GitLab == === Clone GitLab === git 계정으로 진행한다. GitLab 5.1 을 클론한다. <syntaxhighlight lang="bash">$ cd ~/ $ git clone https://github.com/gitlabhq/gitlabhq.git gitlab $ cd gitlab $ git checkout -b 5-1-stable</syntaxhighlight> 공식 가이트에서 mater branch 를 사용해도 되지만 stable branch 사용을 권장한다. <blockquote>'''Note''': You can change 5-1-stable to master if you want the bleeding edge version, but do so with caution!</blockquote> === Configure GitLab === ==== 설정파일 ==== GitLab 설정 파일을 복사해서, 설정을 변경한다. GitLab-Shell 에서 입력한 URL 과 동일하게 변경한다. <syntaxhighlight lang="bash">$ cd gitlab $ cp config/gitlab.yml.example config/gitlab.yml $ vi config/gitlab.yml</syntaxhighlight> <syntaxhighlight lang="vim">host : localhost ...(중략)... email-from: example@localhost</syntaxhighlight> ==== GitLab 하위 디렉토리 소유자 변경==== git 계정으로 작업했으므로 필요없다. <syntaxhighlight lang="bash">$ chown -R git tmp/ $ chmod -R u+rwX tmp/ $ chown -R git log/ $ chmod -R u+rwX log/</syntaxhighlight> ==== gitlab-satellites 디렉토리 생성 ==== <syntaxhighlight lang="bash">$ mkdir ~/gitlab-satellites</syntaxhighlight> ==== tmp/pids 디렉토리 생성 ==== ~/gitlab/tmp/pids/ 디렉토리가 없으면 생성한다. <syntaxhighlight lang="bash">$ mkdir ~/gitlab/tmp/pids/</syntaxhighlight> === puma.rb 설정 === 설정파일을 복사하고, tcp 사용을 위해 설정 파일을 변경한다. <syntaxhighlight lang="bash">$ cp config/puma.rb.example config/puma.rb $ vi config/puma.rb</syntaxhighlight> 5-1-stable 에 puma.rb 파일이 존재하지 않아 건너 뛰어 진행한다. === Configure Database === 설정파일을 복사하고 계정, 비밀번호를 변경한다. <syntaxhighlight lang="bash">$ cd ~/gitlab $ cp config/database.yml.mysql config/database.yml $ vi config/database.yml</syntaxhighlight> username, password를 변경한다. === Install Rails === RVM 을 최신 버전으로 업데이트 <syntaxhighlight lang="bash">$ rvm get head</syntaxhighlight> 종속패키지 확인 <syntaxhighlight lang="bash">$ rvm requirements run</syntaxhighlight> 기존 Ruby 삭제 <syntaxhighlight lang="bash">$ rvm remove 1.9.3</syntaxhighlight> Ruby 재설치 및 Default 지정 <syntaxhighlight lang="bash">$ rvm use 1.9.3 --install --default</syntaxhighlight> Rails 설치 <syntaxhighlight lang="bash">$ gem install rails</syntaxhighlight> charlock_holmes 설치 <syntaxhighlight lang="bash">$ gem install charlock_holmes --version '0.6.9'</syntaxhighlight> bundle 설치 <syntaxhighlight lang="bash">$cd ~/gitlab $ bundle install --deployment --without development test postgres $ bundle exec rake gitlab:setup RAILS_ENV=production</syntaxhighlight> 마지막 명령을 실행하면 초기관리자 계정과 비밀번호가 출력되니 미리 기록해 둔다. [[분류:git]] <syntaxhighlight lang="bash"></syntaxhighlight> GitLab 문서로 돌아갑니다.