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もデフォルトで起動するようになっているので、あとは何か作るだけです。
気長にやります。