GitLab5.4をCentOS6.4にインストールする。(1)

さて、全然プログラミングはしていないわけだが、ソース管理について考えてみる。


会社じゃあMS系はVisualSourceSafe(以後VSS)が中心なんだけど、WEBアプリ、特にJavaもVSSで管理してたり統一感は取れてるかもしれんが開発時の利便性がかなり損なわれている感じ。
で、ここ数年はWEB関係ではEclipseを使うようにしてソースコードもSubversionで管理するようにして、Eclipse上でソースの取得やコミットするようになって・・・ってこれ、世間じゃ普通なはずなのに結構今まで普通じゃなかった。


でも、ようやく会社でもSubversionが浸透してきたわけだけど・・・


今、gitだよね?
ソーシャルコーディングって感じでgithub?こいつも流行ってるよね?
それなのにSubversionでいいの?いや、いいんじゃね?って話もあるが・・・

俺たちは新しいことを知ってしまったら試さずにはいられない!そんな人種なんだ!いやそうでありたい!


つ〜わけで、gitだな、gitで行くんだな、gitらーーーーーーーーーーーーぶっ、なんだな!


つ〜わけで、GitLabをインストールする。するしかない。ラブ[lab|love]だし。

GitLabとは?

さて、そもそもGitLabってなんなのよ?ってことだが、つまるところソース管理のエンジンとなるgitのフロントエンドって感じでしょうか?


色々なサイトを調べてみると「GitHubのようなサービスをクローズドな環境に構築できるようにする」ものみたい。


しかもRuby on Railsで実装されてます、って・・・Redmine同様インストールに時間が掛かるのでしょうか。仕方ないですね、ラブ[lab|love]ですから。

インストール前の準備

Redmineをインストールしたおかげでepelリポジトリ追加したりRubyインストールしたりってのはもう不要なんだけどRedisってやつをインストールしなきゃいけないっぽい。


Redisというのはデータ構造サーバーとも呼ばれるインメモリデータベースの1つらしい。
・・・まったく分からん。memcachedみたいなもん?・・・まぁmemcachedも、あんま分からんがwww

とりあえずインストールしてみる。そして自動起動も設定。そしてサービス起動。

# yum install redis
# chkconfig redis on
# service redis start


GitLab用のユーザーを作成しておく必要があるらしいので、以下で作成。

# useradd git


GitLab上で登録されるユーザーはすべて上記で作成したgitユーザーのsshキーで管理されるっぽい。
なので、予め作成しておく必要がある。

# su - git
$ cd /home/git/
$ mkdir .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chmod 700 .ssh


gitのほうも設定しておく。

$ git config --global user.name "GitLab"
$ git config --global user.email "gitlab@localhost"

GitLab shellのインストール


で、GitLab shellをインストールする。これってGitoliteの代わりに出てきたやつですか?
ちなみにチェックアウトのバージョン番号はGithubのgitlab-shellで確認。

https://github.com/gitlabhq/gitlab-shell

$ git clone https://github.com/gitlabhq/gitlab-shell.git
$ cd gitlab-shell/
$ git checkout v1.7.0
$ git checkout -b v1.7.0
$ cp config.yml.example config.yml
$ vi config.yml
$ ./bin/install
$ exit
#

MySQLの設定

MySQLはインストール出来ているんだけど、my.cnfにbind-addressは設定しておく必要があるっぽい。

# vi /etc/my.cnf

[mysqld]
bind-address = 127.0.0.1


# service mysqld restart


そんでもってDBを作成。

# mysql -u root -p
> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';
> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
> \q

・・・今日はここまで。


うわ〜、なんか調べながら実行してるからGitLabのインストールまでいってねーよwww


予想通りだ。。。はぁぁぁ。。。ラブって辛い。。。