Amzon AWS ES2にRedmine、Jenkins、WordPressを導入する。

<p>自宅でのTiDD、TDD開発(とナレッジメモ用ブログ)を目標とした環境構築を行う。<br />
Jenkinsの稼動が土日くらいならば、トラフィックもあがらないし、無料枠ですむはず。</p>

<hr />

<h1>目標</h1>

<hr />

<p>ではサーバを購入するためDELのHPに行く…というわけには行かないので、今回は以下の目標を立てる。<br />
なお、結果としては半日作業。つまらなければ3時間程度で終わる予想。</p>

<ul>
<li>最短で構築を終了すること</li>
<li>基本的に無料で終了すること</li>
<li>クリックとテキストエディタだけで終わらせる。（コマンドプロンプトの利用は最小限に抑える）</li>
</ul>

<hr />

<h1>利用ツール</h1>

<hr />

<p>今回、利用するツールは以下のとおり</p>

<ul>
<li>Amazon AWS EC2 (Windows server 2008 R2 [Japanese])</li>
<li>Jenkins</li>
<li>BitNami RubyStack</li>
<li>BitNami Redmine Module</li>
<li>BitNami WordPress Module</li>
<li>Pleiades All in One Ultimate</li>
</ul>

<p>その他プッシュ方式の電話とクレジットカードが必要になる。</p>

<hr />

<h1>サーバーを構築</h1>

<hr />

<p>次のリンクのスライドを見ながらがんばる<br />
<a href="http://www.slideshare.net/AmazonWebServicesJapan/aws-windows-14943091">AWS初級トレーニング</a><br />
途中で電話とクレジットカードが必要になる。<br />
2012年12月現在、普通に使っていれば1年間無料。　　</p>

<p>Amazon EC2のIEはやたらセキュリティが厳しいので、Chromeあたりを入れておく。<br />
あとサクラエディタあたりいれておかないと文字コード間違えて上書き保存して積む。<br />
その後、サービスで「World Wide Web Publishing Service」を無効にしておく。<br />
EC2のSecurity Group設定はめんどくさいので、Apache用にHTTPプロトコル用のポート80をあけておく。</p>

<hr />

<h1>BitNami RubyStackの導入。</h1>

<hr />

<p><a href="http://bitnami.org/stack/rubystack">http://bitnami.org/stack/rubystack</a><br />
リモー![amazon.jpg](https://qiita-image-store.s3.amazonaws.com/0/20175/95afe337-7c1e-f8fa-698a-4b31c0514c4c.jpeg)トデスクトップでWinServerにアクセスして上記HPのRubyStack 1.9.3-1.Stackをインストールする。<br />
インストール時の言語はEnglishが無難。<br />
Apacheのポートは80にしておかないとめんどくさい。<br />
使用済みといわれる場合は、上記で説明したサービスの無効化をしてからリトライ。<br />
このときに入れるMySQLパスワードはRedmineなどの導入の際に入れる必要があるので忘れないようにする。<br />
最後にWindowsファイヤーウォールを開いてApacheが外部とアクセスできるように設定しておく。</p>

<p>ここまででRuby, PHP, MySQL, Apacheの環境構築終了。<br />
git、svnも入っているので、PATH通しておくと幸せ<br />
<a href="http://LocalHost/">http://Amazon EC2で取得したElastic IPs/</a>にアクセスすれば<br />
APACHE_ROOT/httdocs/index.htmlの内容が表示されているはず。</p>

<hr />

<h1>Redmineを導入する</h1>

<hr />

<p>TiDDを行うためにRedmineを導入する。<br />
<a href="http://bitnami.org/ja/stack/redmine">http://bitnami.org/ja/stack/redmine</a><br />
上記サイトから<em>Module</em>のほうのRedmineをインストールする。<br />
（無駄にApacheを複数入れるのは意味がない。）<br />
その際にStackの場所を聞かれるので、<em>ROOT&#92;BitNami&#92;rubystack-X.X.X-X</em>を指定する。<br />
MySQLのパスワードはRubyStackを導入した際のパスワード。<br />
このときMySQLが動いていないと認証できないので、サービスで停止していた場合はたたき起こしておくこと。</p>

<p>RedmineのインストールはDBの生成が長いのでここで一回休憩しておくっ！</p>

<hr />

<h1>WordPressを導入する。</h1>

<hr />

<p>WordPress(Blog)は直接開発と関係ないため、飛ばしてもよい。<br />
<a href="http://bitnami.org/stack/wordpress">http://bitnami.org/stack/wordpress</a><br />
基本的にはRedmineのときと同じ。上記URLのModuleをRubyStack以下にインストールする。</p>

<p>ちなみにこのWordPressは以下のプラグインを導入</p>

<ul>
<li>Markdown on Save Improved　(投稿画面の隣のConvert HTML to Markdown (experimental)はよくわからんからチェックはずす。)</li>
<li>SyntaxHighlighter Evolved</li>
</ul>

<hr />

<h1>Jenkinsを導入する</h1>

<hr />

<p>Jenkinsに関してはRubyプラットフォームのソフトではないため、BitNamiとは別に入れる。<br />
<a href="http://pplace.jp/2011/06/199/">Windows環境でもJenkins -執事さんとご対面-</a><br />
上記ページを参考に、Apacheが<em>ROOT&#92;BitNami&#92;rubystack-X.X.X-X</em>内にあるので登録しておく。<br />
ただし、Jenkins.xmlを編集するときは以下の記述でOK。</p>

<div>
[bash]
-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “%BASE%\jenkins.war” --prefix=/jenkins --ajp13Port=-1 --httpListenAddress=127.0.0.1 --httpPort=8080
[/bash]
</div>

<p>わざわざajp13でポートを開く必要はない。</p>

<p>ここまででlocalhost/redmine、localhost/jenkinsが出来上がっているはず。</p>

<hr />

<h1>Eclipseを導入する</h1>

<hr />

<p>あとはJenkinsのビルド環境を整えるだけ。<br />
<a href="http://mergedoc.sourceforge.jp/">http://mergedoc.sourceforge.jp/</a><br />
上記サイトからPleiadesのUltimateをインストール。<br />
CygwinはめんどくさいのでEclipseのAll In OneでJDKとMinGWを一気にダウンロードしておく。<br />
重くて使い物にならなくてもServerではビルドツールとして使うだけなので関係ない。<br />
個人的に好きなのは3.7Indigo。</p>

<p>JAVA_HOMEのパス通したり、Pleiades&#92;eclipse&#92;minGW&#92;binにパス通しておけばおしまい。<br />
VisualプロジェクトをJenkinsでビルドしたい場合は、適当なVC++Expressを落として
MSBuild.exeを拾ってくる。</p>

<p>あとは手元のコードをGitHubにでもコミットして、Jenkinsのジョブ作ればおしまい。</p>

<hr />

<hr />

<p>できた！<br />
![amazon.jpg](https://qiita-image-store.s3.amazonaws.com/0/20175/7e03ddbe-53b1-edf5-af2b-261b3d812049.jpeg)<br />
※加工済みのhtml。BitNamiはJenkinsを含めたhtmlは自動生成してくれないので、手順どおりしてもこのページにはならない。</p>