SATOXのシテオク日記

~ふもっふ、ふもふも~

Git/Gitoliteをさくらレンタルサーバで使う

この後ごちゃごちゃと書きますが、さくらインターネットレンタルサーバにGit/Gitoliteをインストールしてみたというメモ書きです。
まぁこのあたりに詳しい人が見れば当たり前すぎてズッコケて(死語)しまうかも知れませんが。
 

GitとGitolite
Git使ってますか?
なんて言われても困ってしまう人が多いと思いますが、イケてる(死語)プログラマさんであれば知ってて当たり前のものと言っても言い過ぎではないでしょう。
Gitはソースを管理するツールで、サーバクライアント構造を持たないデータ管理が特徴的です。
GitHubなんてのはGitを使ったソーシャルサービスで、著名なツールソースが管理され、誰でもダウンロードして利用したりすることができます。
今の今までジットだかギットだか読み方があやふやでしたが、ウィキさん曰く「ギット」なんですって。
 
で、さらにGitoliteをご存じでしょうか。
Gitを使ったユーティリティで、リポジトリ管理とユーザ管理(SSH)をやってくれるというもの。ググると「神ツール」なんて記事タイトルが出てきます。まぁそれくらい便利なんでしょう。SATOXはまだその良さがピンと来てませんけども。
 
レンタルサーバ借りた
さらに前提ですが、個人的にネットワークを使って何か面白いことをしたいなぁと最近思っており、今まで個人的に使ったことがなかったレンタルサーバを借りたんです。
さくらのレンタルサーバで、10GB容量の共有サーバでPHPとかMySQL DB数個が使えて年間5000円のプラン。余談ですが、WordPressMovableTypeも簡単に利用できます。
GitHubは毎月$7で個人リポジトリを5個まで使えますが、いろいろ遊んで使いこなせるという意味ではレンタルサーバの方がお得です。自分でなんでもやらないとダメですけどね……。
 
とまぁここまでが前提なのですが、ようは「外部サーバにGitとGitoliteをインストールして、個人的に使いたい」と思ったわけです。Subversionなんてのもありますが、今どき感としてはGitかな、と。
これまで自分で作って公開したアプリなどのソース管理は家のNASでやっていたのですが、結局の所、まー管理がひどかったわけです。
と言うわけで、さくらのレンタルサーバにGit/Gitoliteをインストールした手順をメモがてらネタにしておこうかと思います。
 
Gitのインストール
サーバにターミナルでログイン、テンポラリのディレクトリを作成。そこでGitソースを取得、コンパイルします。
デフォルトはcshですが、bashが前提の説明なので切り替えておきます。また、gitアーカイブのバージョンは現時点のものなので必要に応じて調べて書き換えて下さいね。

mkdir ~/tmp
cd tmp
wget http://git-core.googlecode.com/files/git-1.7.10.tar.gz
tar xjvf git-1.7.10.tar.gz
cd git-1.7.10
./configure -prefix=$HOME/local
gmake
gmake install

これでGitのインストールは完了です。
$HOME/local/binにインストールされるので、パスを通しておきます。
.bashrcに書いておきましょう。

PATH=$PATH:$HOME/local/bin

共有サーバなので/usr/local/binなんかにインストールできないのがポイント。
gitコマンドを実行して確認。

git --verision

「git version 1.7.10」
バージョンが出力されます。やった。
 

サーバ:Gitoliteのインストール
Gitoliteをインストールします。
素敵なのはGitを使って、GitHubからGitoliteを取得してインストールします。
先ほど作ったテンポラリのディレクトリにダウンロードしてインストールします。

cd ~/tmp
git clone git://github.com/sitaramc/gitolite
gitolite/install -to $HOME/local/bin

これでGitoliteのインストールが完了です。
$HOME/local/binにインストールされます。パスも先ほど通してあるのでビシッと実行可能です。

gitolite help

「hello, this is gitolite3 v3.1-4-ga802071 on git 1.7.10 ...」
コマンド一覧リストが表示されれば成功です。
 
Git/Gitoliteを使うためにセットアップやリポジトリの初期化、ユーザ鍵作成などは別途必要です。このあたりも、もしまとめられそうならそれも記事にしておこうかと思ってます。