LoginSignup
0
0

More than 1 year has passed since last update.

TomcatでSpringBootアプリケーションを動かした

Posted at

はじめに

自分がメインで使っているWindows11のeclipseでSpringBootアプリケーションを作成した。EclipseのTomcat上で動作確認済みである。
このアプリケーションを、別機のUbuntuのTomcatにデプロイして動かしてみた。
この際、つまづきポイントが多かったので備忘録兼ねて記事化する。

1.UbuntuにTomcatをインストール

初っ端から躓いた。つまづきポイント多数。

Tomcatを動かすためにはJREも必要とのことだったので、JDKのインストールも併せてこのステップで行う。

基本的にこちらの記事を参考に進めた。

1-1.Tomcat管理用ユーザ作成

・`Ctrl+Alt+T`で端末(コマンドプロンプト)を開く。
・`sudo su -`でrootユーザに切り替えホームディレクトリに移動する。
・`sudo adduser 追加したいユーザ名`

このコマンドをうつと、いろいろ指示されるのでそれに従いユーザ作成

ユーザ名はsudoersファイル内にありません と言われた場合

・sudo使えるユーザに切り替えて
sudo usermod -G sudo sudo使いたいユーザ名
で使えるようになるはず。新しく作ったユーザはデフォルトでsudo使えないらしい。
↓参考
https://qiita.com/unkomorasi01/items/219b56f2c9ddc8df4fe7

似ているコマンドにuseraddがあるが、これを使うとよくわからない状態になったのでおすすめはしない(一度はまった)

ホームディレクトリもできず、プロンプト表示も変えられずどうにもできなかった…

そもそもなぜ管理用ユーザを別で作成する必要があるのかは、あんまりわからなかった。
単に管理しやすいからってことなんだろうか。

1-2. 実行権限付与

・rootユーザで、visudoとうつと、エディタが開く。
そこに、
追加したユーザ名 ALL=(ALL) NOPASSWD: ALL
を追加する。

visudoコマンドは、sudoersファイルを編集するときに使用するコマンドらしい。
私の場合、開かれたエディタはGNU nanoというものだったので、入力後、Ctrl+Sで保存し、Ctrl+Xでファイルを閉じた。

で、この追加した内容は、そのユーザ名でsudoを使うときにパスワードを聞かれないようにする、というもの。

↓参考

1-3.操作するユーザを作成したTomcat管理用ユーザに切り替える

exitコマンドでrootユーザから最初にログインしたユーザに切り替え、さらにsu - ユーザ名でユーザを切り替える。

suだけでも切り替えられるが、ハイフンをつけることでそのユーザのホームディレクトリにいける。

whoamiで今どのユーザとして動いているのか把握できる。

1-4.JDKをインストールする

Tomcatを動かすためにはJRE(Java実行環境)が必要とのこと。いろいろ考えて、JRE単品ではなく、JDKをインストールすることにした。

sudo apt -y install openjdk-18-jdk
java -versionが動くか確認する。
検索すると、環境変数を設定しなければならないと書いてある記事が多かったが、自分の場合設定しなくてもパスが通っていた。
が、もし「コマンドが見つかりません」と言われるならば環境変数の設定をする必要がある。

環境変数設定しなくても動いたのは、aptコマンドを使ったからという理由らしい。

1-5.Tomcatをインストール

・tomcat管理用ユーザに切り替える
・(自分の場合)ホームディレクトリ直下にtoolsディレクトリを作成した。(ホームディレクトリでmkdir tools)
cd toolsで作成したtoolsディレクトリに移動し、以下のコマンドをうつ

curl -O https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.9/bin/apache-tomcat-10.1.9.tar.gz

・toolsディレクトリでlsして、ちゃんとダウンロードされたことを確認。

tar -xzvf apache-tomcat-10.1.9.tar.gzで解凍する
ファイルがずらーっと出るので止まるまで待つ。

lsすると、フォルダが作成されており、展開されていることを確認できる

1-6.いろいろ設定

sudo mv apache-10.1.9 /optで展開したフォルダをoptに移動させる。

optはアプリケーションパッケージを置いておくようディレクトリらしい。
ディレクトリごとに役割がいろいろあるようだが、これは今度調べる。

chown -R tomcat管理用ユーザ名 /opt/apache-tomcat-10.1.9で、所有者をtomcat管理用ユーザに変更する。

ls -alで所有者が変わっていることを確認できる。
-Rオプションは、指定したディレクトリとそのディレクトリ以下のファイルやディレクトリの所有権を再帰的に変更する、という意味になる。

2.warファイルをおく

事前に作成しておいたwarファイルをmvコマンドで/opt/apache-tomcat-10.1.9/webappsに移動させる。

Ubuntu機へのwarファイルのダウンロードはUSBメモリを介して行った。

3.起動まで

サイトを参考にユニット定義ファイルを作成
sudo vi /etc/systemd/system/tomcat.service

ファイルに書く内容は以下の通り。

[Unit]
Description=Apachw Tomcat 10
After=network.target

[Service]
User=ユーザ名
Type=oneshot
PIDFile=/opt/apache-tomcat-10.1.9/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/apache-tomcat-10.1.9/bin/startup.sh
ExecStop=/opt/apache-tomcat-10.1.9/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-10.1.9/bin/shutdown.sh;/opt/apache-tomcat-10.1.9/bin/startup.sh

[Install]
WantedBy=multi-user.target

そして。以下のコマンドをうつ。

systemctl enable tomcat
systemctl start tomcat
systemctl status tomcat

で、アクティブと表示されれば、起動は成功。
先ほど置いたwarファイルが展開されており、localhostでちゃんと実行できることも確認できた。

正直、ユニット定義ファイルの内容は参考サイトのものをほぼコピペしているので理解できていない。

で、localhost:8080にアクセスして、アプリケーションがちゃんと動いたことも確認。
何とかうまくいった。

参考サイト

本文の途中にもリンクを貼っているがここにもまとめる。
Tomcatの構築手順

visudoとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

GNU nanoエディタの使い方

Ubuntuでユーザ追加したらsudo使えなかった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0