2012年9月21日金曜日

Ubuntu Precise(12.04) で Redmine + Gitolite を構築する

少し業務で色々テストするために、オレオレ環境を構築する必要があったので。
Redmineはプロジェクト管理ソフトウェアでRuby on Railsで書かれたWebアプリケーションです。
GitoliteはGit Serverともいえるもので、Gitのホスティングサーバーを簡単、便利に運用するためのアプリケーションです。 
手順は次の通り
  1. Ubuntu Precise(12.04) Serverをインストール
  2. Gitoliteをインストール
  3. Redmineをインストール
  4. パーミッションを設定する
1.まずは下準備をしましょう。
Ubuntu Serverなら簡単です。
インストール時にLAMP serverとOpenSSH serverにチェックを入れるだけです。
もう既にUbuntuをインストールしてる方はコマンドから"sudo tasksel"と入力すると出てきます。GUIっぽいですが、CUIですので上下キーでカーソルを合わせてスペースキーで選択です。終わったらTabキーを押してエンターです。
途中でMySQLのパスワードを決めるように聞かれるので設定します。
  
2.Gitoliteをインストール
Gitoliteがどうゆうものかは他の記事に譲ります。
Gitosisは12.04からリポジトリから削除されてますのでご注意くださいませ。
sudo apt-get install gitolite

続いて、gitoliteの設定をしましょう。gitoliteにはgl-setupというウイザード形式の設定ツールがあるのですが、より簡単に設定できる方法を紹介します。
その前に、gitoliteを管理するためのSSH鍵を準備しておきましょう。
自分はローカルの端末から鍵を転送しておきました。
scp ~/.ssh/id_rsa.pub admin@server:
そして、 
sudo dpkg-reconfigure gitolite
を実行し質問に答えます。ユーザー名とリポジトリの配置場所はそのままにしました。
管理者の鍵を聞かれたら先ほど保存した鍵のパスを指定しましょう。
今回の例では/home/admin/id_rsa.pubとなります。
これで必要な設定は完了です。転送した公開鍵は削除してかまいません。適切な場所にコピーされています。
もうGitoliteは外からアクセスできる状態です。

3.Redmineをインストール
UbuntuならRuby on Railsなアプリケーションも簡単です。
sudo apt-get install libapache2-mod-passenger redmine-mysql redmineいろいろ聞かれますが、デフォルトのままエンター連打でw
(何を聞かれているかわからない)
データベースのセレクトはmysqlにします。
終わったらシンボリックリンクを張ります。
ln -s /usr/share/redmine/public /var/www/redmine
さらに、有効にするために設定ファイルをいじります。
sudo vim /etc/apache2/site-enabled/000-default
ここに<VirtualHost *:80>の中に
   <Location "/redmine"> 
   RailsBaseURI /redmine   
</Location> 
を追記します。設定を有効にするために再起動させましょう。
sudo service apache2 restart
これで、裸のRedmineが公開されます。
自分はテスト環境なのでこのように書きましたが、バーチャルホストの設定なども当然できます。
運用する方はUbuntu Server Guide Web Serversを参照してチャレンジしてみてください。

4.パーミションを設定する。
Gitoliteのリポジトリが格納されてるディレクトリはデフォルトだと700なので、Redmineからアクセスできません。
ここでは、WebServerのグループを割当て、UMASKの値を変更することで回避したいと思います。
sudo usermod -a -G gitolite www-date
sudo vim /var/lib/gitolite/.gitolite.rc
$REPO_UMASK = 0027;
とします。
これで設定はすべて完了です。お疲れ様でした。

あとは、RedmineにID:admin、パスワード:adminで入って、プロジェクトを作るなりします。
リポジトリの設定には/var/lib/gitolite/repositories/testting.git
などのようにセットすればアクセス可能です。

いかがでしたでしょうか?必要な最小限の設定をするだけで全てが整ってしまいます。
パッケージをインストールすると適切なユーザとグループが作成されますし、ファイアーウオールも調整されます。

何かありましたら、コメントに記載して頂ければ幸いです。

0 件のコメント:

コメントを投稿