AmazonWebSevicesを使ってどこでもTracLightning!!

どこからでもアクセスできるリポジトリは開発者にとっては夢ですよね!
ていうか持ってるのが常識なんですかね!?

容量的に不満もないので今まではGitHubを使っていたのですが、
(嘘です。一個だけプロジェクト上げて満足しちゃってロクに使ってませんでした)
チケット管理とかもできたらもっといいなと今さらながらに思いまして。

んでチケット管理といえばTracLightningが最も有名なツールなんでしょうか。
最初は家の片隅で放置されてたノートPCを使って自宅鯖でもつくってみようかと思ったのですが、色々あって挫折しまして・・・

んでなにかいい方法ないかなと考えついたのが、AmazonEC2でインスタンスを立ち上げてそこにTracLightningを入れる方法です。
今回はOSにCentOSを使っているので最近分家したKanonを使っていますが、
機能が異なるということはなさそうです。
(AmazonEC2ではWindowsSever2008も動かせるのですが、sshというかコマンドでTracLightningをインストールする方法がわかりませんでした。)
実際にやってみた結果、とりあえずインストールしてTracLightningを公開するところまでは成功したのでメモがてら色々書いておきます。
(後述しますが、まだインストールしてTracを公開したという状態で止まっているのでまだ運用はできないレベルです。)

では実際に行なった手順を書いていきます。

【免責事項】
以下に記述する内容を実施して、課金が発生したりデータが飛んだりと
色々な不都合が起きても責任は持てませんので、以下の行為を実施する場合は、すべて自己責任でお願いします。


1.AmazonWebSevicesのアカウントを作成する。
2.AmazonWebSevicesのアカウントにクレジットカード情報を登録する。
これらの作業については色々情報も出回っていると思うので特に書きません。
自分は下記のURLを参考にしました。

利用方法(AWSアカウント作成からEC2登録まで)
利用方法(EC2ログインからインスタンス起動まで)



3.AmazonEC2のインスタンスの作成
この作業も基本的には上記URLなどに書いてあるように行うのですが、
ひとつだけ違う点があります。
それはAMIの選択です。
KanonがサポートしているOSは
・RedHat Enterprise Linux 6.0
・Oracle Enterprise Linux 6.0
・Ubuntu Server 10.10
・Debian GNU/Linux
・CentOS5
の5つのディストリビューションになります。
AmazonEC2のインスタンスを作成時に最初に選択肢に出てくる
AmazonLinuxや、SUSEではKanonをインストールしようとすると、怒られます。
そこで今回はRightScale社が公開しているCentOS5.4のAMIを使用します。
AMIのIDは "ami-3607ac37" になります。これで検索すれば一発で出てきます。
人が作ったAMIなんて信用ならねーとか思う人はご自身で上記ディストリビューションのAMIを作成するといいと思います。
AMIの作成方法とかは以下を参考にするといいと思います。

[僕] Amazon EC2 用に自分で CentOS 5 のイメージを用意する
EC2のAMIを自作するならEC2上で作業すると楽できる

あと、ポートはとりあえずSSHとHTTPを解放しておけば、
公開までは上手くいきます。
(というか今回はまだ公開できるかどうかを優先して作業したので、
その辺の設定をちゃんとやってません。何のポートを開ければいいか
分かっている人は予め開けておけば、インスタンスの再作成とかの手間が
省けると思います)

4.mod_dav_svnのインストール
3で使用したAMIにはmod_dav_svnがインストールされてません。
このままKanonをインストールして、鯖を公開しようとすると、
mod_dav_svnがねぇぞ(゚Д゚)ゴルァ!!って怒られるのでインストールしましょう。
ただしここで注意が必要で、そのままyum install mod_dav_svnをしても、
エラーが発生してインストールできません。
ログを見るとどうやらSubversionのバージョンで競合が起きてるぜ的なことを言われます。
rpm -qi subversion
と打ってみると、どうやら予めインストールされているSubversionのバージョンが1.4のようです。
そこでまず、Subversionをインストールしなおします。

yum remove subversion

でインストールされているSubversionを一旦削除し、

yum install subversion

でSubversionを入れ直します。
先ほど打ったrpmコマンドでSubversionのバージョンを確認すると、
1.6もインストールされていることがわかると思います。
1.6が入っていることが確認できたら、

yum install mod_dav_svn

でmod_dav_svnをインストールしましょう。

5.Kanonのインストール
次は本命のKanonのインストールです。
手順は公式ブログに書かれているのですが、一応書いておきます。

まずはKanonのパッケージをゲットします。
hgもMercurialも先ほど選択したAMIに入ってるかどうか分からない(パッと見なさそうだったけど)
ので、適当にKanonを展開するディレクトリを作り、wgetします。(今回は自分は/opt以下にKanonディレクトリを作ってその中でインストール作業をしました。)

wget http://kanon.ultimania.org/hg/KanonConductor/archive/tip.zip

ダウンロードが終わったら解凍しましょう。

unzip tip.zip

解凍が終わると「KanonConductor-bfd9bb1a175f」というディレクトリが出来ているので、そこに入ります。
入ったら

./setup-kanon

と打ちます。インストール処理はかなり長いです。
あとMavenとJenkinsを一緒にインストールするか聞いてきます。
両方共重要なので、自分はここで一緒に入れちゃいました。

インストールが終わったら

service httpd start

で鯖を起動すれば、晴れてアクセスできるようになります。
アクセスURLは「http://KanonをインストールしたインスタンスのPublicDNS/trac」です。

6.独自ドメインでアクセスできるようにする
AmazonEC2のPublicDNSははっきり言ってすげー長いので、
ちょっとこのままじゃ色々めんどくさいです。
なので、独自ドメインでアクセス出来るようにしました。
AmazonWebSevicesではErasticIPsというサービスで無料で固定IPをくれるらしく、
(すみません、固定IP作成時に確認画面が出なかったので勝手に無料だと思ってます。導入してみたら実は有料だったぞ(゚Д゚)ゴルァ!!とか言われても責任は取れません)
それを用いれば「http://独自ドメイン/trac」というURLでアクセスできるようになります。
やり方は以下を参考にしてみてください。

AWS EC2で独自ドメイン




問題点
実はこの状態では色々問題があります。

2011/04/11 修正
以下の問題点は自分がチェックアウトするURLを間違えてただけでした・・・
http://サーバー名/svn/SampleProject
で最初に作られるサンプルプロジェクトをチェックアウトできました・・・
問題点1 リポジトリからチェックアウトできない
実は今の状態だとmod_dav_svnの設定が上手くいっておらず、
WebDAV経由でチェックアウトできません。
これは後日回避方法を書く予定


問題点2 ポートが全然開いてない
これはまだ試してないのでわかりませんが、TracLightningではせっかくgitが使えるのに、gitプロトコルで必要なポートが開いてない(最初のセキュリティグループで設定していない)
のでgitが使えないと思います。
まぁこのへんはセキュリティグループを上手く設定してあげてください。気が向いたら試した結果をブログに書くかもしれません。

問題点3 バックアップの方法が未調査
TracLightningはリポジトリとSQLiteのデータさえバックアップを取れば
問題なさそうなんですが、いかんせんAmazonEC2なので仮想マシン内に
バックアップを取るわけにもいかず。
妥当なバックアップ先はS3か自分のローカルPCかなぁとか考えたりしていますが、
この辺の方法も上手くいったらそのうちブログに書くかもしれません。

というわけでそんな感じで、とりあえずどこからでもアクセスできちゃう
個人TracLightningの作成方法でした。
多分個人で使ってる分には無料ティア内でまかなえるはず・・・!

0 コメント:

コメントを投稿