Debuginfo

思考とアウトプット

さくらVPSのCentOS6.3にGitlabを入れてこっそりソーシャルコーディングをはじめる

いつもは個人プロジェクトですが、今回友人と共同でプロジェクトを進めることになったのでソーシャルコーディングできるものを探してみました。githubでも良いのですが、一応コマーシャルプロダクトを見据えているのでこっそり開発したかったので, 流行っているgithubライクな管理システム, gitlabを導入することにしました。

基本的にhttps://github.com/gitlabhq/gitlabhq/blob/stable/doc/install/installation.mdを参照して入れるのですが、UbuntuDebianのみサポートするとか言ってて、ただステップに従うだけだと入りません。。そして、ステップが長過ぎるので飛ばしてしまう危険性を含んでいます。。近年まれにみる依存度の高さです。客観的にどうにかした方がいいと思うのですが。。

手順を全部書くと大変なので、注意点並びにtips, ハマった点を記載しておきます。

sudo userの追加

私は未だにsudoを普段使いしていないのですが、ステップがsudoベースなので入れておくとコピペが楽です。

http://knowhow3.com/knowhow/28

関連パッケージの追加

apt-getで書かれているのでただyum installするとパッケージがないって言われます。ibyaml, libyaml-devはrubyインストール前に入れておかないとpsychエラーが出てRubyのリビルドが必要になります。And this takes time..

sudo yum -y install zlib-devel
sudo yum -y install openssl-devel
sudo yum -y install mysql-devel
sudo yum -y install libxml2-devel
sudo yum -y install libxslt-devel
sudo yum -y install readline-devel
sudo yum -y install mysql++-devel
sudo yum -y install libicu-devel
sudo yum -y install python-devel
sudo yum -y install python-setuptools
sudo yum -y install sendmail
sudo yum -y install redis
sudo easy_install pip
sudo pip install pygments
sudo yum install perl-Time-HiRes
sudo yum install mysql-server
sudo yum install libyaml
sudo yum install libyaml-devel

sidekiqが上がらない

下記のエラーを吐いて上がりません。

$ bundle exec rake sidekiq:start
rake aborted!
cannot load such file -- rb-inotify
/home/gitlab/gitlab/config/application.rb:9:in `<top (required)>'
/home/gitlab/gitlab/Rakefile:5:in `require'
/home/gitlab/gitlab/Rakefile:5:in `<top (required)>'
(See full trace by running task with --trace)

調べてみるとissueが上がっていました。権限のようです。

https://github.com/gitlabhq/gitlabhq/issues/2995

下記をすると私の場合は、起動できました。

sudo mkdir tmp/pids/
sudo chown -R gitlab tmp/pids/
sudo chmod -R u+rwX  tmp/pids/

Nginxの設定が違う

設定が古いのかOSで違うのかわかりませんが、includeを追加しないと読み込みません。違うサービスでnginxを使っているのでハマりませんでしたが、書いておきます。

# /etc/nginx/nginx.conf
# 下記を追加
include /etc/nginx/sites-enabled/gitlab;

mysqlの設定

rootのパスの設定は作っておくこと。

http://knowhow3.com/knowhow/27

アクセスしたら、Nginxのトップページが表示される、または502

ログを見て対処します。/var/log/enginx とunicornのログ。基本的にパーミッション関連でした。chmod 777でテストしてchmod o-wとかで狭めていく方法をとりました。

checkを活用する。

下記のコマンドはドキュメントにもありますが、outputがhuman readableで優しいです。とりあえず、走らせてfixしてました。permissionとか。

$ bundle exec rake gitlab:check RAILS_ENV=production

参考

yum installの箇所はyokojiの日記を参考にさせていただきました。

で、メモリ使用量は?

1Gじゃぎりぎりかも。

$ free -m 
         total       used       free     shared    buffers     cached
Mem:           996        864        132          0         95        241
-/+ buffers/cache:        528        468
Swap:         2047          3       2044