お名前.comにCentOS6にGitlab 6.4をインストール。RVM + Apache + Unicorn

gitlab_logo

 先日、とにかく安くということで、serversman@vpsにgitlabをインストールしてみたものの、重すぎたため(当たり前か・・)。さくらのVPSと迷ったのだけど、最近、VPSのベンチマークで評判が良いお名前.com VPSで再設定することにした。GitLabのインストールは結構戸惑うので、例により自分のためにメモ。OS再インストールから何度か試してみたので、ほぼコピペでいけるはず。所要時間は1時間かからないはず。

 また試したみた感想としては、評判通り早く、体感にも全然違う (ServersManと比べてだけど)。2〜3人の開発チームでの使用を考えているのでこの程度で十分かなと思います。しばらくGitlab on お名前.com@VPSで試してみたいと思います。

今回設定する内容

  • VPS: お名前.com VPS(KVM) 1GBプラン (月額840円/年間契約)
  • OS: CentOS 6.2
  • MySQL 5.6.14 (最新版)
  • Ruby 1.9.3
  • Git 1.8.5.2 (最新版)
  • Gitlab 6.4 (最新版)
  • RVM 1.25.14 (最新版)

※ “最新版”は2014年1月11日時点でとなります。

目次

Gitlabの手順が多すぎでした。

  1. 必要なライブラリインストール
  2. MySQL5.6.14インストール
  3. Ruby1.9.3インストール
  4. Gitlab6.4インストール
    • a. Git1.8.5.2をインストール
    • b. Redisインストール
    • c. Gitユーザー作成
    • d. Gitlab-shellをインストール
    • e. MYSQLデータベース作成
    • f. Gitlabインストール
    • g. Gitlabデータベース設定
    • h. 必要なGemパッケージインストール
    • i. データベース初期化&セットアップ
    • j. Init Script設定 & GitLab起動
    • k. Passengerのインストール&Proxy設定
    • l. チェック
    • m. プラウザで動作確認

1.サーバー初期設定

SSH接続方法についてはお名前.comの設定完了メールをご確認ください。

最低限必要なライブラリを予めインストールしておく。sourceディレクトリを作成してそこで作業する。

2.MySQL5.6.14インストール

MySQLはRPMパッケージから最新版をインスートルする。

3. Ruby1.9.3インストール

RubyはRVMを用いてインストール。

4. GitLab6.4インストール

gitlabのインストールを行います。gitlabのインストール&設定はgitlabユーザーで行います。

a. Git1.8.5.2をインストール

Gitの最新版を入れておく。(2014/1/13時点で1.8.5.2)

b. Redisインストール

c. Gitユーザー作成

d. Gitlab-shellをインストール

e. MYSQLデータベース作成

f. Gitlabインストール

g. Gitlabデータベース設定

h. 必要なGemパッケージインストール

Gitlabに必要なgemパッケージをインストールします。

i. データベース初期化&セットアップ

j. Init Script設定 & GitLab起動

k. Passengerのインストール&Proxy設定

l. チェック

GitLabに必要な動作環境が整ったか確認することができます。まずは基本情報を表示。

続いてGitLabの設定チェック。これでエラーがなければ問題なく動作するはず。

m. ブラウザでアクセスしてみる。

iptablesでブロックかかっているので一旦停止。(todo:正しく設定する)。また初回起動時は時間が掛かるので気長に待つ。また最初は”Proxy Error”となる場合があるので、その場合は再読みしてみると表示されるようになる。

下記の画面が表示されれば完了。

gitlab-top

お疲れ様でした。

エラー対応

その1. ブラウザ上でUniconサーバーを確認できない。

お名前.comのVPSではポート制限が掛かっているので、ApacheのProxy設定で80ポート経由で閲覧する。開放ポートについては下記確認。

>> http://help.onamae.com/app/answers/detail/a_id/9191

その2. sudo bundle時にrvmのパスが通らない。

sudoの時にrvmのパスが通っていないため起こる。

解決方法: 下記のように実行時にrvmの環境を読み込んで対応。(rvmsudoでもいいかも)

その3. Unicon Timeout エラー

エラー: Gitlabは初回起動時に時間が掛かるが、Unicornのタイムアウトはデフォルトでは30秒のため、タイムアウトエラーが起きる。解決方法として、gitlab/config/unicorn.rbのtimeout設定を多め(300s)に増やしておく。

>> http://radiumblue.net/blog/2013/01/18/unicorn-error-gitlab-configuration/

その4. Git Clone時にエラー”fatal: The remote end hung up unexpectedly”

エラー内容: 容量大きめのGitレポジトリをCloneしたところ発生。

Gitlabサーバーのログを見たところ、下記のようなエラーが! タイムアウト扱いになるんだ。

解決方法: Unicornの設定(gitlab/config/unicorn.rb)でTimeoutをさらに増やしたところ、解決した。

参考