Apache Tomcat は、オープン ソースの Web サーバーであり、主に Java ベースのアプリケーションのサーバーに使用されるサーブレット コンテナーです。
このガイドでは、Apache Tomcat 10 を Ubuntu 20.04 にインストールし、Nginx と Let’s Encrypt SSL でセットアップを保護する方法を学習します。
前提条件
- Ubuntu 20.04 OS を搭載したサーバー
- sudo 権限を持つユーザー
初期設定
サーバー パッケージを利用可能な最新バージョンに更新することから始めます。
sudo apt update sudo apt dist-upgrade -y
Tomcat の新しいユーザーを作成
Tomcat が独自の非特権ユーザーとして実行された方がよいでしょう。次のコマンドを実行して、Tomcat に必要な権限を持つ新しいユーザーを作成します。このユーザーは SSH へのログインを許可されません。
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Java をインストール
以下のコマンドを使用して、デフォルトの JDK をインストールします。
sudo apt install default-jdk
インストールが完了したら、次のコマンドを使用してバージョンを確認してください。
java -version
出力は次のようになります。
openjdk version "11.0.14.1" 2022-02-08 OpenJDK Runtime Environment (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Apache Tomcat をインストール
Tomcat の公式ダウンロード ページから最新バージョンの Tomcat をダウンロードします。 tar.gz
を選択 コアセクションの下。
wget を使用してアーカイブをダウンロードします。
cd ~/ wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz
内容を /opt/tomcat
に抽出します ディレクトリ。
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Tomcat ファイルの正しいアクセス許可を構成します。
sudo chown -R tomcat:tomcat /opt/tomcat/ sudo chmod -R u+x /opt/tomcat/bin
管理者ユーザーの構成
ホスト マネージャーにアクセスできるユーザーをセットアップする必要があります。 とマネージャー Tomcat のページ。
/opt/tomcat/conf/tomcat-users.xml
にパスワードを持つユーザーを追加します
sudo nano /opt/tomcat/conf/tomcat-users.xml
終了タグの前に次の行を追加します。
<role rolename="manager-gui" /> <user username="manager" password="secure_password" roles="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="secure_password" roles="manager-gui,admin-gui" />
これで、マネージャーとホスト マネージャーのページにアクセスできるユーザーが 2 人になりました。
Tomcat をサービスとして構成する
ここでは、Tomcat を自動的に起動、停止、再起動するように systemd サービスを構成します。
Java の場所に注意してください。
sudo update-java-alternatives -l
Output java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
systemd ファイルを作成します。
sudo nano /etc/systemd/system/tomcat.service
次の内容をファイルに追加します。
[Unit] Description=Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
JAVA_HOME を置き換えます
変更を有効にするため、systemd デーモンをリロードしてください。
sudo systemctl daemon-reload
Tomcat を起動します。
sudo systemctl start tomcat
システムの起動時に Tomcat を起動できるようにします。
sudo systemctl enable tomcat
Tomcat のステータスを確認してください。
sudo systemctl status tomcat
Output ● tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2022-04-20 08:57:23 UTC; 6s ago Process: 5155 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 5162 (java) Tasks: 29 (limit: 1151) Memory: 136.4M CGroup: /system.slice/tomcat.service
Nginx をインストール
次のコマンドを使用して Nginx をインストールします。
sudo apt install nginx
デフォルト設定を削除
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
Tomcat の Nginx プロキシを構成する
新しい Nginx 構成を作成する
sudo nano /etc/nginx/sites-available/yourdomainname.conf
以下を貼り付け
server { listen [::]:80; listen 80; server_name yourdomainname.com www.yourdomainname.com; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
ファイルを保存して終了します。
シンボリック リンクを作成して構成を有効にします。
sudo ln -s /etc/nginx/sites-available/yourdomainname.conf /etc/nginx/sites-enabled/yourdomainname.conf
Let’s Encrypt SSL with Certbot をインストールします
Certbot パッケージをインストールします。
sudo apt install python3-certbot-nginx
以下のコマンドを使用して SSL 証明書をインストールします。
sudo certbot --nginx --redirect --no-eff-email --agree-tos -m [email protected] -d yourdomainname.com -d www.yourdomainname.com
ドメインがサーバーを指している場合、無料の SSL 証明書がインストールされ、HTTP から HTTPS へのリダイレクトが自動的に構成され、変更を有効にするために Nginx が自動的に再起動されます。
再起動したい場合は、Nginx の設定を確認して再起動してください。
sudo nginx -t sudo service nginx restart
情報技術の専門家として働く役割に備える Linux オペレーティング システムで
Tomcat のインストールを確認する
ブラウザでドメインを確認してください。
[マネージャー アプリ] をクリックします 、ユーザー名とパスワードを入力するよう求められます。 Tomcat ユーザー セクションで設定したものを使用してください。
Host Manager もご覧ください。 ページ。
サーバーのステータスも表示できます。
結論
これで、Ubuntu 20.04 に Apache Tomcat をインストールし、Nginx と Let’s Encrypt SSL で保護する方法を学習しました.
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。