「外部サーバ」に配備して動作させる

「はじめてのGrails」サポートページ目次へ

Tomcatのダウンロード

Tomcatのインストール

Tomcatが起動しない場合は

Tomcatのサービスを開始・終了する方法

Tomcat Managerでアプリケーションを配備

*ここで御紹介する他のサイトのスクリーンショットは掲載しておりません。お手数ですが、本文書中のリンクから実際のページにアクセスして実際の画面をご覧ください。

本書では、アプリケーションを、「外部のサーバ」で稼動できるWebアプリケーションにまとめる方法を御紹介しました。非常にカンタンでしたね。

でも、本当にそれが動くのか、確かめたいという方に、自分のパソコンに「サーバ」を導入して、そこで動かす方法を御紹介します。

Tomcatのダウンロード

ダウンロード・インストールの方針

Javaで動くWebアプリケーションサーバはいろいろありますが、ほとんどはTomcatがベースになっています。

Tomcatは、Grailsの「内部サーバ」プラグインとして組み込まれる程度に軽量で、おまけにWindows版にはWindowsのサービス」として動くように設定してくれるインストーラがついています。

そこで、「ホンモノのTomcat」をダウンロード・Windowsへのインストールを行う方法をご紹介します。ここでは、「サービス」として動きっぱなしにしたくなったら設定を戻せばいいんだから、今はそれをしないように設定する」という方針で、「サービス」用のインストーラを利用します。



Tomcat6.0のダウンロードページへ着くまで

Tomcatのダウンロードには、以下のTomcatのホームページに行きます。


Tomcatのホームページ

http://tomcat.apache.org


上記ページの左側のメニューに、「Download」という欄があり、いろいろなバージョンのがダウンロードできるようになっています。 ここでは本書で使用したTomcatテストサーバに近い「Tomcat6.0」をダウンロードする方法を説明します。

「Download」欄で「Tomcat 6.0」を選ぶと、「Tomcat6.0.33」のダウンロードページに移動します。
*このように、Tomcatプロジェクトでは、最新でないバージョンについては、唯一の「マイナーバージョン」のみを代表的なものとして優先的に公開するようです。全てのバージョンは「Archives」というリンクから、あまり親切でないダウンロードページに行って得ることができます。そこで、自分のお気に入りのTomcatバージョンは、手元に残しておくようにするとあとあと便利です。

「Windowsサービス用インストーラ」をダウンロード

Tomcatはいろいろな形で配布されていますが、「Core」に分類されている「Windows Service Installer」を選ぶのが、Windows環境ではベストです。

図1は、バージョンがちょっと古くて恐縮ですが、以前にダウンロードで得られたTomcat6.0.20 の「Windowsサービス」用インストーラのアイコンです。

図1 TomcatのWindowsサービス用インストーラアイコン

Tomcatのインストール

インストーラの起動と使用条件への合意

 図1に挙げたアイコンをダブルクリックすると、図2のようにインストールが始まります。

 図3までは問題なく進めるでしょう。ここで出て来る「使用条件」は「Apache Lisence」というオープンソースライセンスに基づいた条件です。ソフトウェアの「使用条件」については、同じサイト中の「共通事項」のページにある「JDKのダウンロード」時のライセンス事項に関する、筆者の考えを参考にしていただければと思います。

図2 インストーラその1。ようこそページ。「Next」をクリックして次に進む
図3 使用条件」への同意を求められる


[重要] Tomcatをサービスとして動作させる設定

その次の項目で注意です。それは、Tomcatのインストール内容です。

図4のような画面が出たら、「Tomcat」のノードを開いて「Service」という項目にチェックが入っているかどうか確認してください。自動にしろ手動にしろ「サービス」として動作させるにはこれが必要です。

図4 「Tomcat」を開いて「Service」をクリック

[参考] インストールするディレクトリ

次は、Tomcatをインストールするディレクトリです。図5(a)の初期値であまり問題ないと思いますが、もっとシンプルな場所に変更できます。

(a)
(b)

図5   (a)Tomcatのインストール場所   (b)テキストボックスの中を編集して、シンプルな場所に変更できる

[最も重要] Grailsと競合しないポートを設定

Tomcatというサーバーは、ポート番号8080がデフォルト。「GrailsのTomcatプラグイン」のポート指定を変更するのは面倒なので、こちらの「ホンモノのTomcat」のポートを変更しておくと、競合の危険が少なくて安心です。

(a)
(b)

図6 Tomcatのポートを変更  (a)サーバーの「ポート」が8080になっている   (b)8782(やなヤツ、で覚えやすい)」に変更したところ(もちろん、みなさんの覚えやすい数の並びで構いませんが、8000番台がいいでしょう)

[推奨] 管理者パスワードは設定し、そして忘れない

同じ画面で、「admin」ユーザのパスワードを入力する場所があります。これは、TomcatをWeb>画面で管理できるユーザーのパスワードです。

Web上でのログインはパスワードが空白だと拒否される危険があるので、入れておいた方がいいでしょう。

図7 Webブラウザからログインするユーザのパスワードは決めておいたほうがよい

[確認] Javaの場所も確認しておこう

最後に、このTomcatが利用するJavaの実行環境(JRE)のあるフォルダの確認です。

表示された初期値のままで構いませんが、この場所を覚えておくと、このあと説明する「起こりうるトラブル」に対処するとき、楽です。

図8 Java実行環境の場所。初期値のままでいいが、覚えておこう

インストールの完了

図9のような画面が出たら完了です。「Finish」ボタンをクリックすると、Tomcatが立ち上がるようになっています。

図9 インストールの完了
インストールが完了して、ひと呼吸置いたら、Webブラウザから、図6(b)で設定したポートにアクセスしてみてください。

ポートが「8782」だった場合

http://localhost:8782

図10のように「Tomcat」の紹介画面が表示されれば、起動成功です。ただし、今は全くの自動で起動していますから、このあと「動きっぱなしにしない」設定にします。

図10 ローカルのコンピュータで起動した「Tomcat」のホームページ

Tomcatが起動しない場合

「Windowsのライブラリ」参照失敗によるトラブル

Javaのプログラムは「WindowsでもMacでも関係なく動く」のが原則ですが、「Javaのプログラムを自動で起動するようにWindowsのシステムに命令する」ような「おまけ機能」についてはその限りではありません。Windowsのライブラリはご存知「DLLファイル」で、Windows用の実行環境にはそのようなファイルも用意されているのですが、たまに「Window用のおまけ機能」がそれを読みはずして失敗する場合があります。

たとえば、初期のWindows7とTomcat6(のおまけ機能)では、以下のようなトラブルがありました。

Javaの実行環境(図3-8の「JREフォルダ」)の「bin」フォルダの中に、「msvcr71.dll」というファイルがあります。Tomcat(のおまけ)は、JREフォルダの中のこのファイルにアクセスする必要があったのですが、見つけられなかったようで、サービスとしての起動に失敗しました。 そのような場合、見つけられないライブラリを、「Tomcat」の「bin」フォルダの中にコピーすることでだいたい解決します。

図11 JRE2の「bin」フォルダの中にある「msvcr71.dll」ファイル

図12 Tomcatをインストールした場所の「bin」フォルダ

Tomcatのサービスを開始・終了する方法

とにかく「管理ツール」にたどりついて

Tomcatのサービスを終了したり、再び開始するのには、「管理ツール」から「サービス」の管理ウィンドウを開いて作業します。

Vista以降、「管理ツール」を開くのはなかなか大変です。「コントロールパネル」を開いて「システムとセキュリティー」「管理ツール」とたどっていきます。

最後に「管理ツール」のウィンドウで表示される一覧の中から「サービス」を選びます。これは「ショートカット」アイコンなので、デスクトップにコピーしておけば次回からはデスクトップから直接「サービス」管理画面を起動できます。

(a)
(b)
(c)
(d)

図13 「Vista」以降で「管理ツール」そして「サービス」設定画面へたどりつく方法
(a)起動メニューから「コントロールパネル」を開く
(b)「システムとセキュリティ」を選ぶ(一番上の緑色の文字をクリック)
(c)さらに「管理ツール」をクリック
(d)「管理ツール」ウィンドウの一覧で「サービス」を選ぶ。今後はこのショートカットをデスクトップにコピーしておけば便利

右クリックで開始・停止

サービスはアルファベット順に表示されています。「Apache Tomcat 6」はすぐに見つかるでしょう。

右クリックしてみてください。サービスが停止中の場合は「開始」を選んで開始できます。逆に、稼働中のサービスを停止できます。
(a)
(b)

図14「Tomcat」のサービスを停止する
(a)「サービス」管理画面。「ApacheTomcat 6」を見つける
(b) 右クリックすると、稼働中には「停止」、停止中には「開始」が選べる

「プロパティ」で自動を手動に

右クリックで出るメニューからは、「プロパティ」も選べます。

「Apache Tomcat 6」のプロパティー設定画面が出たら、「スタートアップの種類」という欄に注目してください。ここを「自動」から「手動」に変更することができます。
(a)
(b)

図15 Tomcatを「手動サービス」にする
(a) 右クリックメニューで「プロパティ」
(b) Tomcat2>を「手動サービス」にできる
スタートアップが「自動」の場合、OSが起動するとTomcatも自動で起動します。しかし、今のように特定の場合にしか起動したくない場合は「手動」にしておき、以後は図16 のサービス管理画面から開始・終了を行えばいいことになります。

これからも毎日長時間Tomcatを使う、というのでなければ、手動で停止にしておくのが安全です。


Tomcat Managerでアプリケーションを配備

Windowsの起動メニューからTomcat Managerを起動

「Tomcat」をインストールすると、Windowsの起動メニューの「すべてのプログラム」に「Apache Tomcat 6.0 」というメニュー項目が現れます。

実はこのメニュー項目の中のサブメニュー、やたら多いわりにクリックしても失敗するものもあるんですが、「Tomcat Manager」はちゃんと起動します。

これは、Tomcatがまだ結構古い4.0のときからついている機能で、Tomcatが起動しているときに、Web画面でこれを管理できるページです。

ただし、Tomcat Managerは、Tomcatの起動した状態で起動する必要があります。それを忘れて起動に失敗しても、あわてないでください。

(a)
(b)

図16 「起動メニュー」から「Tomcat Manager」を起動
(a) 起動メニューに登録されたApacheTomcat のメニュー。やたらにあるが、 他のものは気にしない
(b) 「Tomcat Manager」を選ぶ

管理者名とパスワードでログイン

「TomcatManager」を起動すると、ブラウザが立ち上がりますが、ログインを求められます。これはインストール時の図7(c)の画面で設定したユーザ名(デフォルトではadmin)とパスワードによるログインです。


図17Tomcat Managerへのログイン
これで、図18のようなものものしい画面が、Webブラウザに表示されます。

図18「Tomcat Manager」の画面

「配備」という設定欄を使う

実は、Tomcatサーバにアプリケーションを配備するには、Tomcatの特定のフォルダ(webappsという名前のフォルダ)にWARファイルを手作業でコピーしちゃえばいいのですが、図18のManager画面には、「配備」というツールがあります。せっかくですから、使ってみましょう。

図19「配備」というツール
図19の区画で、上のほうにあるのはすでにサーバ上にあるファイルの扱いです。一度無効にしたものの再配備など何かの理由で、明示的に配備する場合に使います。

新規の配備は、下のほうにある「WARファイルの配備」という欄を使います。「アップロードするWARファイルの選択」という欄に、本書第13章で作成したglossary-0.1.warファイルを指定したいわけです。

横の「Browse」ボタンで、ファイル参照ウィンドウを立ち上げて探すのが便利です。

ファイルの選択が終わったら、「配備」ボタンをクリックします。ちょっと時間がかかりますが、画面が再読込されたら「アプリケーション」という欄をよく見てみましょう。「glossary-0.1」という項目が加わっているはずです。これで、すでに起動しています。

(a)
(b)

図20 「glossary-0.1」を配備
(a) 「アプリケーション」の欄
(b) 「glossary-0.1」という項目がある

ブラウザから、アプリケーションにアクセス

そこで、ブラウザから下記のURLにアクセスしてみましょう。ただし、(ホンモノの)Tomcatのポートを8782とした場合です。

ホンモノの)Tomcatに配備された「glossary-0.12」アプリケーションにアクセスする

http://localhost:8782/glossary-0.1

本書で説明したとおり、配布されたアプリケーションは「production」環境なので、データは入っていないはずです。ちゃんとデータが入力でき、Ajaxが操作できて、ついでにプラグインのカレンダーも使えることを確認しましょう。


配備されたアプリケーションの場所を確認

最後に、Tomcatの中に配備された「glossary」アプリケーションはどこにあるのか、フォルダ・ウィンドウを直接調べて、確認してみましょう。

Tomcatをインストールしたフォルダの中、「webapps」というフォルダを探してください。開くと、図21のように「glossary-0.1.war」ファイルと、それを展開した「glossary-0.1」フォルダがありますね。

フォルダのほうが、「glossary-0.1」アプリケーションの本体です。図21では、「testapp」も同じように配備しています。中身を調べて、本書に示したとおりであるかどうか確認してみるとよいでしょう。

図21Tomcatの「webapps」フォルダの中身。「glossary-0.1」や「testapp-0.1」というフォルダができている

「はじめてのGrails」サポートページ目次へ