2014年8月11日月曜日

サーバーサイドJAVAの環境を整える


Monacoindの基本的な動きは大体分かったので、実際にWEBサービスの形にしてみようと思います。

Linuxもそんなに詳しくないので、色々と試しながらやってみます。

使う言語はJava。

なぜJavaかというと、過去に、Google App Engine for Java(GAE/J)でWEBサービスを作るというような記事を書いて、フレームワークについても調べて、Slim3やべぇなどと騒いだあげくに、何も作らなかったので、贖罪の意味を込めてJavaを使います。

今回は環境作りです。


まずは、Apacheをインストールします。

$ sudo apt-get update
$ sudo apt-get upgrade

$ sudo apt-get install apache2

この時点で既にApacheは起動しているようで、http://localhostにアクセスすると以下が表示されます。

「あなたの予想に反して~」はどこ行っちゃったんでしょう。
It works!なんて言われても、こっちのほうが予想外です。

とりあえず設定ファイルなどは触らずに次行きます。


次は、Tomcatをインストールします。

$ sudo apt-get install tomcat7

これで必要なJavaなどもまとめてインストールされ、tomcat7ユーザが作成されます。

同じくこの時点でTomcatは起動しているようで、http://localhost:8080にアクセスすると以下が表示されます。

続いて、ドキュメントやらWeb Management Interfaceやらexampleやらをインストールします。

$ sudo apt-get install tomcat7-docs tomcat7-admin tomcat7-examples

以下二つはそのまま見れます。

tomcat7-docs

tomcat7-examples

以下二つは認証が必要です。
tomcat7-admin (manager webapp)
tomcat7-admin (host-manager webapp)

tomcat-users.xmlを編集し、manager-guiとadmin-guiへアクセスするためのIDを作成します。

任意のIDとパスワードを設定します。

$ sudo nano /etc/tomcat7/tomcat-users.xml

tomcat-usersタグの中に以下を追加。
<tomcat-users>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

保存したら再起動します。
$ sudo service tomcat7 restart

それぞれ、自分で設定したIDとパスワードでログインします。

tomcat7-admin (manager webapp)


tomcat7-admin ( host-manager webapp)


最後にApacheとの連携の設定を行います。

Apache&Tomcatの連携は、静的なコンテンツはApacheに担当させ、動的なコンテンツをTomcatに担当させるという、良く見る構成です。

ただ、Tomcat単体で動かした場合より低速になったりするようですし、そもそもJSPなどでページを作って行くと、Apacheに担当させるような静的なコンテンツは少なくなり、Apacheは無くても良いという説もあります。

Apacheの拡張機能などを使わないのであれば、Tomcat単体運用も選択肢の一つのようですね。

でもとりあえず連携させときます。

tomcatのserver.xmlを開いて、8080ポートを閉じ、8009ポートを開けます。
$ sudo nano /etc/tomcat7/server.xml

以下をコメントアウトします。
<!--
<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
-->

以下のコメントアウトを削除します。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


AJPモジュールの設定ファイルを作成し、連携の設定を行います。
$ sudo nano /etc/apache2/mods-available/proxy_ajp.conf

以下を入力して保存します。
ProxyPass /tomcat/ ajp://localhost:8009/

AJPモジュールを有効化します。
$ sudo a2enmod proxy_ajp

http://localhost/tomcat/にアクセスすると、ApacheからTomcatに飛ばされて、TomcatのIt works !が表示されます。


これでApacheもTomcatもデフォルトで起動するようになっているので、あとは何か作るだけです。
気長にやります。


0 コメント:

コメントを投稿