Drowsy Dog's Diary

any note, any thought

AmazonEC2+EBSにsubversionリポジトリを置く

| 0 comments

[お題]

現在数名で使っているデスクトップLinux上のsvn、定期バックアップは取っていますが、かなりHDDが圧迫されていること、またいい加減ボロくて怖いので、一部クラウド化を検討したい。
Amazon EC2でsubversion用のインスタンスを稼働させ、リポジトリは Amazon EBS(Elastic Block Store)上に展開します。

参考にさせていただきました。

■Amazon EC2/S3の使い方目次
http://d.hatena.ne.jp/dkfj/20080222/1203658623

■Amazon Elastic Block Store (EBS)上に、Subversionのリポジトリを置く
http://d.hatena.ne.jp/dkfj/20080907/1220771766

■AmazonEC2へsvnリポジトリ作成
http://d.hatena.ne.jp/oyama1102/20110914/1315955862

■’AuthzSVNAccessFile’, perhaps misspelled or defined …..
http://www.svnforum.org/threads/38266-AuthzSVNAccessFile-perhaps-misspelled-or-defined

日本語オフィシャルはこちら

http://aws.amazon.com/jp/ec2/

http://aws.amazon.com/jp/ebs/

 

[前提]

  • 適当なAmazon EC2インスタンスを作成
    ここでは Amazon Linux AMI 64bit。リージョンはAsia Pacific(Tokyo)、必要に応じて接続元のIP制限などセキュリティグループを設定
  • Elastic IP を Allocate して上で作成したインスタンスとAssociateする
  • Elastic Block StoreのVolumeを作成、上で作成したインスタンスにAttachする
    Snapshotは設定しない
  • ここまでを EC2 の Web Console から行う

以下はコンソールで。

Elastic IP のアドレスに ec2-user でログイン。

とりあえず yum をアップデート。

EBSボリュームを ext3 でフォーマットして /svn にマウントする。
デバイスがどのようにマッピングされているかは、AWSコンソールの Attachment Information から見る事ができます。

確認。

念のためインストールされていないことを確認して、subversion と mod_dav_svn をインストール。

リポジトリを作ります。まずはサンプル。

さらにtrunk, tags, branchesと必要なディレクトリを作る。

apacheとの連携ファイルを編集。

以下を追記する。

Basic認証ファイルを作成

認証用設定ファイルを作成。

以下を記述する。

ファイル属性をapacheグループに変更して、httpd を再起動。

おや?

mod_dav_svn を Apache の設定で LoadModule していませんでした。。

適当な場所に、以下を追記してあげます。

mod_dav_svn は、Apache と subversion を結び付けるモジュールです。
この設定ディレクティヴについては、こちらのサイトが詳しいです。

また、以下も同じく httpd.conf に追記します。
mod_authz_svn は、Apache サーバを通して提供される Subversion リポジトリに、パスベース認証を設定します。(参考

再度の再起動。今度こそOK。
最後に、ec2-user が apacheグループじゃない場合は、追加してやる。

外部から接続テスト。SVN_SSH を設定してから、svnコマンドを通す。

長くなりました。
次は Amazon S3 を使ったバックアップなど検討したい。

 


Author: kazoo

犬はさよならを言わないのだ。

コメントを残す

Required fields are marked *.