Slicehost CentOS5.2 に Gitorious をインストールした

github の有料版を契約しようかなーと思ったけど、
一番安いプランで月7ドル。。


今借りている slicehost に、subversion, trac を入れようかなと思ったけど、
でも git で検索したら、Gitorious というのを見つけた。



Rails製のGithubクローン「Gitorious」
 http://www.moongift.jp/2008/06/gitorious/


Free open source project hosting - Gitorious
 http://gitorious.org/


Gitorious - Gitorious
 http://gitorious.org/projects/gitorious


あんま何も考えずに入れてみることにした。
slicehost に入れているディストリビューションCentOS 5.2 で、
Ubuntu と、CentOS はインストール方法が書いてあるドキュメントが用意されている。
ドキュメントがすばらしくて、基本的には真似してやっていけばうまくいった。

http://gitorious.org/projects/gitorious/repos/mainline/blobs/master/doc/recipes/install-centos.txt


はまったところとか


rake するときに rmagick-2.9.0 が activate しているから、rmagick-2.8.0 を起動できない、みたいなエラーがでた。

$ sudo gem uninstall rmagick
$ sudo gem install rmagick -v '2.8.0'
$ sudo gem install diff-lcs
$ sudo gem install rdiscount -v '1.3.1'
$ sudo gem install hoe -v '1.8.2'


このあたりもインストールした。

# Define your locale
locale: en


jp, jp-JP とかあるのかな、と思ったけどだめw
en のままで。よく分からない。

cookie_secret: `apg -m 64`


apg もインストールしてコマンド上ではうまくいくけど
なんかうまくできなかったので30文字以上の salt を書かないと 500 Internal Server Error になる


今回は個人用に使おうと思っていたので、


public_mode: false にしていたけど、
一回 true にしてやらないと register ができない。


ssh key とかを登録したり、
新しい project を作ったりしても、


This sshkey is being created,
it will be ready pretty soon…


こういう風に表示されて何も変わらない。


で、これは自分が間違えたせいだけど、
cron を設定するときに新しい user の git で cron の権限がなくて、
root で cron を設定して、その時うまくいってなくて、

Permission denied - /var/www/gitorious/log/tasks.log


tasks.log が権限絡みでおかしくなったりした。

$ sudo chown -R git:git .


をもう一回して、

$ sudo rm -rf gitorious_task_lockfile


git user で cron を実行するようにして、
うまく task が処理されるようになった。


http://erikonrails.wordpress.com/2008/05/06/how-to-get-gitorious-up-and-running/
も参考になった。


MySQL 下記エントリーを参考にして、時間を合わせる。
http://d.hatena.ne.jp/shohu33/20080829/1219948879


git clone をしたら、うまくいかない。


Connection timed out


ssh のポートを 22 から違うポートに変更していたので
.ssh/config で Port を記述。


Gitプロトコル(ポート9418)で読み込みが可能です。
remote の 9418 を開放した。


これで push, pull が local のサーバからできるようになった。


本来は一人で使うものじゃないんだろうけど、
とりあえず使ってみよう。。