-
Tomcat専用ユーザ作成
useradd -s /sbin/nologin tomcat
/sbin/nologinシェルを指定し、通常利用不可とする。
-
Tomcat導入
バージョンは「apache-tomcat-7.0.50.tar.gz」にしました。
サーバーに配置しておきます。tar xvzf apache-tomcat-7.0.50.tar.gz mv apache-tomcat-7.0.50 /usr/local cd /usr/local chown -R tomcat.tomcat apache-tomcat-7.0.50 ln -s apache-tomcat-7.0.50 tomcat
-
環境変数の設定
下記3つのうちのどれかに記載します。
【共通設定】 /etc/profile 「JAVA_HOME」や「CATALINA_HOME」の値を設定する。 【環境変数設定】 $CATALINA_HOME/bin/setenv.sh 「JAVA_OPTS」や「CATALINA_OPTS」の値を設定する。 【クラスパス設定】 $CATALINA_HOME/bin/setclasspath.sh 追加のjarファイル等を設定する。
今回は共通設定に追加します。
AWSの場合、JAVA_HOMEは設定済なので、CATALINA_HOMEだけ設定します。vi /etc/profile
下記を最終行に追加 export CATALINA_HOME=/usr/local/tomcat
環境変数を適用しておきます。
source /etc/profile
-
Tomcat起動確認
AWSコンソール画面から「セキュリティグループ」-「インバウンド」で
以下を許可しておきます。プロトコル:TCP ポート:8080
Tomcatをtomcatユーザで起動します。
sudo -u tomcat /usr/local/tomcat/bin/startup.sh
http://xxx.xxx.xxx.xxx:8080/examples/servlets/
「Servlet Examples with Code」の画面が出れば成功です。
併せてrootユーザではなくtomcatユーザで動作していることを確認します。ps -ef | grep tomcat
tomcat プロセスID 親プロセスID プロセッサ使用率 プロセスの起動時刻 制御端末 累積時間 略
startup.shはrootユーザで実行しないこと。
初回でrootユーザで実行するとログファイルがrootユーザで作成されてしまい、
tomcat専用ユーザでstartup.shを実行しても権限がないと言われてしまうので、
そうなった場合、1度ログを削除すれば問題なし。sudo -u tomcat /usr/local/tomcat/bin/shutdown.sh