[Linux] Amazon Linux 2サーバーの構築パート2(Tomcatのインストール)


書き込み時間 : 2021-12-22 20:55:02

Amazon Linux 2サーバーの構築パート2(Tomcatのインストール)

NginX、Tomcat、JenkinsをAmazon Linux2サーバーにインストールしましょう
この部分では、open JDKがインストールされてから、Tomcatがインストールされます。

Javaをインストールする

javaがインストールされているかどうかを確認します。

$ java  
-bash: java: command not found  


インストールが必要な場合は、インストール可能なJavaのバージョンを確認してください。

yum list java*jdk-devel  
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd  
Available Packages  
java-1.7.0-openjdk-devel.x86_64                                                         1:1.7.0.261-2.6.22.2.amzn2.0.2                                                         amzn2-core  
java-1.8.0-openjdk-devel.x86_64                                                         1:1.8.0.312.b07-1.amzn2.0.2                                                            amzn2-core  


JDKをインストールします。

sudo yum install -y java-1.8.0-openjdk-devel.x86_64  


インストールされているJavaのバージョンを確認してください。

$ java -version  
openjdk version "1.8.0_312"  
OpenJDK Runtime Environment (build 1.8.0_312-b07)  
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)  


Tomcatをインストールする

JDKがインストールされている場合は、Tomcatのインストールに進みます。
まず、Tomcatユーザーを追加します。

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat  


tmpフォルダーに移動し、tomcatファイルをダウンロードします。

$ cd /tmp  
$ wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz  


ファイルを解凍して移動し、Tomcatをインストールします。

$ tar -xf apache-tomcat-9.0.56.tar.gz  
$ sudo mv apache-tomcat-9.0.56 /opt/tomcat/  


シンボリックリンクを作成し、Tomcatフォルダーの設定を変更します。

$ sudo ln -s /opt/tomcat/apache-tomcat-9.0.56 /opt/tomcat/latest  
$ sudo chown -R tomcat: /opt/tomcat  
$ sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'  


tomcat.serviceファイルを作成します。

$ sudo vi /etc/systemd/system/tomcat.service  


以下をtomcat.serviceファイルに追加します。

[Unit]  
Description=Tomcat 9 servlet container  
After=network.target  
  
[Service]  
Type=forking  
  
User=tomcat  
Group=tomcat  
  
Environment="JAVA_HOME=/usr/lib/jvm/jre"  
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"  
  
Environment="CATALINA_BASE=/opt/tomcat/latest"  
Environment="CATALINA_HOME=/opt/tomcat/latest"  
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"  
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"  
  
ExecStart=/opt/tomcat/latest/bin/startup.sh  
ExecStop=/opt/tomcat/latest/bin/shutdown.sh  
  
[Install]  
WantedBy=multi-user.target  


サーバーの再起動時に起動するTomcatを登録し、Tomcatを起動します。

$ sudo systemctl daemon-reload  
$ sudo systemctl enable tomcat  
$ sudo systemctl start tomcat  


起動したTomcatの状態を確認してください。

$ sudo systemctl status tomcat  
● tomcat.service - Tomcat 9 servlet container  
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)  
   Active: active (running) since 수 2021-12-22 00:47:47 UTC; 8s ago  
  Process: 15694 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)  
 Main PID: 15701 (java)  
   CGroup: /system.slice/tomcat.service  
           └─15701 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMana...  


必要に応じてファイアウォールを許可します。
AWSでは、コンソールで開くポートを追加するだけです。

$ sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp  
$ sudo firewall-cmd --reload  


Tomcatユーザーを追加します。
tomcat-users.xmlファイルのコピーを作成し、編集を開始します。

$ sudo cp /opt/tomcat/latest/conf/tomcat-users.xml /opt/tomcat/latest/conf/tomcat-users-20211222.xml  
$ sudo vi /opt/tomcat/latest/conf/tomcat-users.xml  


tomcat-users.xmlファイルの最後の部分にロール要素とユーザー要素を追加します。
user要素は、ログインするユーザー名とパスワードを指定します。

<tomcat-users>  
   ....  
   <role rolename="admin-gui"/>  
   <role rolename="manager-gui"/>  
   <user username="admin" password="your_password" roles="admin-gui,manager-gui"/>  
</tomcat-users>  


外部アクセスを許可するには、次の2つのファイルを編集します。

/opt/tomcat/latest/webapps/manager/META-INF/context.xml  
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml  


まず、最初のファイルのコピーを作成し、ファイルを編集します。

$ sudo cp /opt/tomcat/latest/webapps/manager/META-INF/context.xml /opt/tomcat/latest/webapps/manager/META-INF/context-20211222.xml  
$ sudo vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml  


ファイル内のValueで始まる以下の要素をコメントアウトします。

<!--  
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"  
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />  
-->  


残りのファイルも作成および変更されます。

$ sudo cp /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml /opt/tomcat/latest/webapps/host-manager/META-INF/context-20211222.xml  
$ sudo vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml  


バルブ要素をコメントアウトします。

<!--  
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"  
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />  
-->  


Tomcatを再起動します。

$ sudo systemctl restart tomcat  


http:// ip:8080に接続して[マネージャーアプリ]ボタンをクリックすると、tomcat-users.xmlファイルに追加されたアカウントでログインできます。