2013 10
30
  • このエントリーをはてなブックマークに追加

Amazon EC2+EBSにSubversionを突っ込んでみた

カテゴリ:開発環境構築

構築するに至った経緯はこちらから。

開発環境大改革 Vol.1 【Eclipse・JBoss・Subversion・Git・Jenkins・Redmine・Maven・Mule】

んで、次回あたりはバージョン管理をーで締めくくったんですが、実際どういう風に使うかみたいなのを考えていたら、やっぱりクラウドに置きたいという結論になりまして。

ローカルに置く予定でしたが、急遽予定変更して、Amazon EC2とEBSを使う事にしました。

実は「はじめてのAWS」なので、そこらへんも纏めておこうと思って別建てにしました。

とりあえず備忘録的な感じでやっていきます。

参考URL:高速にWordPressを動作させる網元を使うべくAWSにブログを移転しました。その手順を備忘録として残します。 – YATのBLOG
参考URL:AmazonEC2+EBSにsubversionリポジトリを置く – DROWSY DOG’S DIARY

そもそも申し込んですぐに使えるんだろうか……。

とか言ってる間に登録した。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 20h59 38

AWSへの登録については他を参考にしてくだせぇ。

というか、この画面もそもそも必要な情報をぽちぽちしただけで別にむずかしいことは何もしてないです。

なので割愛しました。
そして、AWS Management Consoleやらを開いたとこ。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 21h07 26

英語わからないよ……(´・ω・`)

とりあえず目的の物であるEC2を開いて、まずはKeyPairsを作ります。

公開鍵と秘密鍵ってやつですね。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h27 52

Create Key Pairを選択。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h31 24

名前を付けて作成。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h33 09

その後、保存ダイアログが出るので保存します。
なくした瞬間にサーバーにつなげられなくなるので、絶対なくさないようにAVフォルダとかに入れておいたらいいんじゃないですかね。
嫁専用画像フォルダとかでもいいです。
EC2インスタンスの作成。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h44 37

ほいっと。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h48 30

FreeのAmazon Linux AMIの64bitを選択。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h51 36

スペックはt1.microで。必要に応じて上げるのでまずは最低ライン。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 22h52 52

詳細とかタグとかはデフォルト。設定してない。

ストレージに関してはキャプチャ忘れたけど、Add VolumeしてEBS Volumeをこの段階で作っておく必要がある。

EBSってのは、まぁ、外付けHDD的な……そんな感じ。多分。

AWSはインスタンスを停止させるとデータが吹っ飛ぶらしいので、SVNとか立てるとなると常にインスタンスを起動しておかないといけない。

でもEBSっていうデータ保存場所を用意しておくとそんな事しなくてもよくなる。らしい。

なのでEBSにデータ突っ込む為に、20GBほどのVolumeを作成しました。開発用なのでそんないらんだろう、っていうのと、そもそも20GBぐらいじゃないと無料試用期間から外れてしまうので。

後は、セキュリティグループを設定。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 23h00 17

その後はプレビューして、問題なければOK。
最後にKey Pairの設定ダイアログが開くのでさっき作ったKey Pairを指定して完了。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 23h02 56

インスタンスが準備中っとな。

その間にIPアドレスを取得しまする。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 23h09 57

Allocateします。
%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89  Amazon EC2+EBSにSubversionを突っ込んでみた 2013 10 29 23h12 03

作成したらAssociateして作成したインスタンスと関連付けさせておけばOKのご様子。

ただこれってインスタンス落としても再起動したらもう一回関連付けしてくれるんだろうか……?

してくれなさそうな気がする。まぁ、仕方ないか。

後は画像に出すとアレなので、セキュリティグループとかの設定をして、一旦完了かな?

HTTP・HTTPS・SSHあたりのポートを開けておけば困る事はないと思ってる。
やっとこさ、SVNを導入していけます。こっからはコンソールで。

まずはTeraTermなんかのSSHクライアントとかを使って、先ほど作成した鍵を使ってAWSにアクセス。

ユーザー名はec2-userで入れるかと。

ログイン出来たらyumをupdate。
$ sudo yum update

EBSのVolumeをext3でマウントして、SVNをインストールする準備。
$ sudo mkfs -t ext3 /dev/sdb
$ sudo mkdir /svn
$ sudo mount /dev/sdb /svn

SVNがインストールされていない事を確認。
$ yum list installed | grep subversion
$ yum list installed | grep svn

SVNとmod_dav_svnをインストール。
$ sudo yum install subversion mod_dav_svn

サンプルリポジトリの作成。
$ cd /svn
$ sudo mkdir repos
$ cd repos
$ sudo mkdir sample
$ sudo svnadmin create sample
$ sudo svn mkdir file:///svn/repos/sample/trunk -m "create"
$ sudo svn mkdir file:///svn/repos/sample/branches -m "create"
$ sudo svn mkdir file:///svn/repos/sample/tags -m "create"

これで一通り、SVNのリポジトリ作成までが完了。

次は外部から接続できるようにApacheと連携します。
$ sudo vi /etc/httpd/conf.d/subversion.conf

以下を追加
<Location /repos>
DAV svn
SVNPath /svn/repos/sample
AuthzSVNAccessFile /svn/repos/sample/authzsvn.conf
Require valid-user
AuthType Basic
AuthName "SVN repos"
AuthUserFile /svn/repos/sample/.htpasswd
</Location>

ec2-userと適当なPASSで認証周りの設定ファイルを用意。
$ sudo htpasswd -cb /svn/repos/sample/.htpasswd ec2-user ec2-user_pass
$ sudo vi /svn/repos/sample/authzsvn.conf

以下を記述して用意は万端どす。
[group]
dev_grp = ec2-user
[/]
@dev_grp = rw

嘘でした。権限を変更してApacheをリスタート。
$ sudo chown -R apache:apache /svn/repos/sample
$ sudo /sbin/service httpd restart

後は、TortoiseSVNとかを使ってsvn+sshで接続してチェックアウト出来るかどうか。

うん、出来ない(´・ω・`)

設定間違ってるのかなーと思って、色々やってみたけど繋がらず。

うーむ、と思って先日設定したEclipseのSubversiveから繋げてみたら繋がった……。

とりあえず繋がる事は確認したから結果オーライなんだろうか。

繋がるのは繋がるので、多分クライアントの設定の仕方が悪いのだと思われる。


次回はEC2サーバーにRedmineとかJenkinsとかを突っ込んでサーバーに設置する環境周りを完了させるよーい。
関連記事

コメント

  1. […] AWSにSubversionサーバを作ってみた AmazonEC2+EBSにsubversionリポジトリを置く 【EC2】 Subversion+Redmine環境の構築 (1/6) Amazon EC2+EBSにSubversionを突っ込んでみた(参考) […]

コメントはこちらから




?
© 2017 Peace & Piece. All rights reserved.