GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 6 /RHEL6にApacheTomcat9.0/8.5をインストールする方法

Apache Tomcatは、Apache Software Foundation(ASF)によって開発されたオープンソースのWebサーバーおよびサーブレットコンテナです。

Tomcatは、OracleのJavaサーブレットとJavaServer Pages(JSP)仕様を実装し、Javaコードを実行するための「純粋なJava」HTTPWebサーバー環境を提供します。

Apache Tomcatには、構成と管理のためのツールが含まれていますが、XML構成ファイルを編集して構成することもできます。

CentOS 6 / RHEL6にApacheTomcat9.0/8.5をインストールするためのステップバイステップガイドです。

前提条件

Javaをインストールする

Tomcatには、Java8以降の安定したリリースがマシンにインストールされている必要があります。 OracleJDKまたはOpenJDKをマシンにインストールできます。

ここではOpenJDKを使用します。

yum install -y java-1.8.0 wget

次のコマンドを発行してJavaを確認することもできます。

java -version

出力:

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

サービスアカウントを作成する

ベストプラクティスとして、Tomcatを特権ユーザー(root)として実行しないでください。したがって、Tomcatサービスを実行するための低特権ユーザーを作成します。

useradd -d /opt/tomcat  tomcat

ApacheTomcatをインストールする

ApacheTomcatをダウンロード

公式WebサイトからApacheTomcatをダウンロードします。

### Apache Tomcat 9.0 ###

wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz

### Apache Tomcat 8.5 ###

wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

ApacheTomcatのセットアップ

Tomcatを目的の場所に抽出します(/opt/tomcat )ディレクトリ。

tar -zxvf apache-tomcat-*.tar.gz

mv apache-tomcat-*/* /opt/tomcat/

chown -R tomcat:tomcat /opt/tomcat/

初期化スクリプトの作成

Apache Tomcatは、パッケージに付属のスクリプトによって手動で開始および停止できます。ただし、ここでは、initスクリプトを使用して処理します。

vi /etc/init.d/tomcat9

以下の情報を使用してください。

        
#!/bin/bash
# chkconfig: 2345 95 20
# description: This application was developed by me and is tested on this server
# processname: my_app
#
# Tomcat 8 start/stop/status init.d script
# Initially forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <[email protected]>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
# Added termination proccess
 
#Location of JAVA_HOME (bin files)
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/
 
#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH
 
#CATALINA_HOME is the location of the bin files of Tomcat  
export CATALINA_HOME=/opt/tomcat/
 
#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
export CATALINA_BASE=/opt/tomcat/
 
#TOMCAT_USER is the default user of tomcat
export TOMCAT_USER=tomcat
 
#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;31mkill\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
 
#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=20
 
tomcat_pid() {
        echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
}
 
start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
  else
    # Start tomcat
    echo -e "\e[00;32mStarting tomcat\e[00m"
    #ulimit -n 100000
    #umask 007
    #/bin/su -p -s /bin/sh $TOMCAT_USER
        if [ `user_exists $TOMCAT_USER` = "1" ]
        then
                /bin/su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
        else
                sh $CATALINA_HOME/bin/startup.sh
        fi
        status
  fi
  return 0
}
 
status(){
          pid=$(tomcat_pid)
          if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
          else echo -e "\e[00;31mTomcat is not running\e[00m"
          fi
}

terminate() {
	echo -e "\e[00;31mTerminating Tomcat\e[00m"
	kill -9 $(tomcat_pid)
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mStoping Tomcat\e[00m"
    #/bin/su -p -s /bin/sh $TOMCAT_USER
        sh $CATALINA_HOME/bin/shutdown.sh
 
    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";
      sleep 1
      let count=$count+1;
    done
 
    if [ $count -gt $kwait ]; then
      echo -n -e "\n\e[00;31mkilling processes didn't stop after $SHUTDOWN_WAIT seconds\e[00m"
      terminate
    fi
  else
    echo -e "\e[00;31mTomcat is not running\e[00m"
  fi
 
  return 0
}
 
user_exists(){
        if id -u $1 >/dev/null 2>&1; then
        echo "1"
        else
                echo "0"
        fi
}
 
case $1 in
	start)
	  start
	;;
	stop)  
	  stop
	;;
	restart)
	  stop
	  start
	;;
	status)
		status
	;;
	kill)
		terminate
	;;		
	*)
		echo -e $TOMCAT_USAGE
	;;
esac    
exit 0

クレジット :ティモシーハッツ。

スクリプトを実行可能に設定します。

chmod +x /etc/init.d/tomcat9

ApacheTomcatを起動する

サービスを開始します。

service tomcat9 start

サービスが実行されていることを確認できます。デフォルトでは、Tomcatはポート番号8080で実行されます

netstat -antup | grep 8080

出力:

tcp        0      0 :::8080                     :::*                        LISTEN      1526/java

システムの起動時にTomcatサービスが自動的に開始するようにします。

chkconfig --add tomcat9

chkconfig tomcat9 on

ファイアウォール

ファイアウォールを介したTomcatWebアプリケーション要求を許可します。

iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

/etc/init.d/iptables save

Apache TomcatWebUIを構成する

Tomcatは、Webマネージャーと仮想ホストマネージャーを介して管理できます。 Webマネージャーとホストマネージャーはどちらもパスワードで保護されており、アクセスするにはユーザー名とパスワードが必要です。

manager-guiを持つユーザー およびadmin-gui ロールは、それぞれWebアプリケーションマネージャーとホストマネージャーにアクセスできます。これらのユーザーとロールはtomcat-users.xmlで定義されています。

vi /opt/tomcat/conf/tomcat-users.xml

次の2行を最後の行のすぐ上に配置します。

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

セキュリティ上の理由から、WebManagerとHostManagerには、ローカルホストから、つまりサーバー自体からのみアクセスできます。

リモートシステムからWebマネージャーとホストマネージャーにアクセスするには、許可リストにソースネットワークを追加する必要があります。これを行うには、以下の2つのファイルを編集します。

### Web Manager ###

vi /opt/tomcat/webapps/manager/META-INF/context.xml

### Host Manager ###

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

上記のファイルの以下の行を、WebおよびホストマネージャーにアクセスするソースIPで更新します。 。* 誰もが両方のマネージャーにアクセスできるようになります。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />

または

ネットワークの一部のみを許可することもできます。例:192.168.1.0/24ネットワークのみを許可するには、以下の値を使用できます。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />

Tomcatサービスを再起動します。

service tomcat9 restart

ApacheTomcatにアクセスする

Webブラウザを開き、

をポイントします http://ip.add.re.ss:8080

Tomcatのデフォルトページが表示されます。

Webマネージャー:–ログインが必要です。ユーザー名:admin、パスワード:tomcat。

ここでは、新しいアプリケーションをデプロイしたり、指定したコンテキストに新しいアプリケーションをデプロイしたり、アクティブまたは非アクティブなアプリケーションを一覧表示したり、Webアプリケーションを開始および停止したりできます。

また、サーバーステータスを確認することもできます 。

ホストマネージャー:–ログインが必要です。ユーザー名:admin、パスワード:tomcat。

ここでは、Tomcatの仮想ホストを処理できます。

結論

それで全部です。 CentOS 6 / RHEL6にTomcat9をインストールする方法を学習したことを願っています。これで、最初のWebアプリケーションをデプロイする準備が整いました。セキュリティの推奨事項として、TomcatにSSL/TLSを実装することを検討してください


Cent OS
  1. Apache Maven CentOS 7 /RHEL7をインストールする方法

  2. CentOSにApacheTomcat8をインストールする方法

  3. CentOS7にApacheTomcatをインストールする方法

  1. Linux RHEL 8 /CentOS8にapachetomcatをインストールする方法

  2. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  3. CentosにTomcat7をインストールするにはどうすればよいですか?

  1. RHEL 8 / CentOS8LinuxにApacheをインストールする方法

  2. CentOS7.3にApacheTomcat8.5をインストールする方法

  3. CentOSにTomcatをインストールする方法