OpenShiftでJava Webアプリケーションを簡単公開

皆様こんにちは。t.i.でございます。

今回はOpenShiftで簡単にJava Webアプリケーション(Tomcat&MySQL使用)を公開する方法をご紹介します。

0. はじめに

本記事を読むにあたって、必要な物や知識は以下の通りです。

  • 必要な物
    1. メールアドレス
    2. git コマンドが実行できる環境
  • 必要な知識
    1. Tomcatで動く、Java Webアプリケーション(warファイル)の作り方
    2. SSH公開鍵の作り方
    3. gitコマンド(clone, add, commit, push)の超基本的な使い方
    4. phpMyAdminの超基本的な使い方(CREATE TABLE, INSERTの実行方法)

非常に敷居は低いかと思います。

1. OpenShiftとは?

OpenShiftを非常に簡単に言ってしまうと、RedHat社が提供するクラウド(PaaS)とそのPaaS構築ツールの総称です。今回は無料のパブリッククラウドであるOpenShift Onlineを使用します。プライベートクラウドであるOpenShift EnterpriseやツールのOpenShift Originに興味のある方は、それぞれのページをご覧いただければと思います。

また、他のPaaS(例:GAE)と比較したメリットとしては以下が挙げられます。詳細はこちらで確認してみて下さい。

  1. データベースとしてMySQL, PostgreSQL, MongoDBが用意されている
  2. TomcatやJBossを使える
  3. Java以外にもNode.js、Perl、PHP、Python、Ruby、Vert.xが使える

2. 公開までの手順

本記事を読むのに必要な物や知識があればすぐに済みます。

  1. OpenShift Online アカウント作成
    • https://www.openshift.com/にアクセスし、ONLINEのSIGN UP FOR FREEから登録フォームへ行き、メールアドレスとパスワードを入力する
    • 届いたアクティベーションメールに書かれたURLにアクセスする
  2. OpenShift OnlineへのSSH公開鍵登録
    • SSH鍵のペアを作成する
    • 公開鍵をテキストエディタで開き、OpenShift Onlineの”public key”入力フォームにコピー&ペーストする
  3. Application作成
    • “Choose a type of application”から”Tomcat 7 (JBoss EWS 2.0)”を選択してApplicationを作成する(値は全てデフォルト) ※画面に”Source Code”としてssh://~が表示されているのでgit URLとしてメモしておく
    • 作成したApplicationを選択し、”Add MySQL 5.5″をクリックしてMySQL 5.5を追加する
    • 作成したApplicationを選択し、”Add phpMyAdmin 4.0″をクリックしてphpMyAdmin 4.0を追加する ※Root User, Root Password, URLが表示されるのでメモしておく
  4. DBの準備
    • メモしたphpMyAdmin URLにアクセスする(phpMyAdminの画面が表示される) ※認証のID/PASSは、メモしたRoot User, Root Password
    • Java WebアプリのDB接続先を画面に表示されたサーバのIPアドレス、データベース名に変更する
    • phpMyAdminを使用して、CREATE TABLE, INSERTを実行する
  5. warファイルのデプロイ
    • warファイルを作成する
    • メモしてあるgit URLをgit cloneする
    • srcディレクトリとpom.xmlファイルを削除する
    • warファイルをwebappsディレクトリに配置する
    • git add, git commit, git pushをする

3. 公開されたWebアプリケーションにアクセスする

git pushしただけでWebアプリケーションが公開されています。作成した”Application”のURLにwarファイル名を付けたURLにアクセスしてみてください(“Application”のURLが”http://jbossews-foo.rhcloud.com/”でbar.warをデプロイしたのならば、”http://jbossews-foo.rhcloud.com/bar/”)

4. まとめ

この手順でログインサンプルを公開してみました(パスワード:pass)。
前提知識があれば簡単にJava Webアプリケーションを公開できることがおわかりいただけたと思います。

それでは次回をお楽しみに。