GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Apache Tomcat 9.0 / 8.5 na CentOS 6 / RHEL 6

Apache Tomcat je open-source webový server a kontejner servletů vyvinutý organizací Apache Software Foundation (ASF).

Tomcat implementuje Java Servlet a specifikace JavaServer Pages (JSP) od společnosti Oracle a poskytuje prostředí webového serveru HTTP „čisté Java“ pro spouštění kódů Java.

Apache Tomcat obsahuje nástroje pro konfiguraci a správu, ale lze je konfigurovat také úpravou konfiguračních souborů XML.

Zde je krok za krokem průvodce instalací Apache Tomcat 9.0 / 8.5 na CentOS 6 / RHEL 6.

Předpoklady

Nainstalujte Javu

Tomcat vyžaduje, abyste měli na vašem počítači nainstalovanou stabilní verzi Java 8 nebo novější. Na svůj počítač můžete nainstalovat Oracle JDK nebo OpenJDK.

Zde použiji OpenJDK.

yum install -y java-1.8.0 wget

Java můžete také ověřit zadáním následujícího příkazu.

java -version

Výstup:

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)

Vytvořte si servisní účet

Pro nejlepší praxi by Tomcat nikdy neměl být spuštěn jako privilegovaný uživatel (root). Vytvořte tedy uživatele s nízkým oprávněním pro provozování služby Tomcat.

useradd -d /opt/tomcat  tomcat

Nainstalujte Apache Tomcat

Stáhněte si Apache Tomcat

Stáhněte si Apache Tomcat z oficiálních stránek.

### 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

Nastavení Apache Tomcat

Extrahujte kocourka do požadovaného (/opt/tomcat ) adresář.

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

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

chown -R tomcat:tomcat /opt/tomcat/

Vytvořit init skript

Apache Tomcat lze spustit a zastavit ručně pomocí skriptu, který je součástí balíčku. Zde však použijeme init skript, abychom to zvládli.

vi /etc/init.d/tomcat9

Použijte níže uvedené informace.

        
#!/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

Kredit :Timothy Hutz.

Nastavte skript tak, aby byl spustitelný.

chmod +x /etc/init.d/tomcat9

Spusťte Apache Tomcat

Spusťte službu.

service tomcat9 start

Můžete ověřit, že služba běží, ve výchozím nastavení Tomcat běží na portu č. 8080

netstat -antup | grep 8080

Výstup:

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

Povolte automatické spouštění služby Tomcat při spuštění systému.

chkconfig --add tomcat9

chkconfig tomcat9 on

Firewall

Povolit požadavky webových aplikací Tomcat přes bránu firewall.

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

/etc/init.d/iptables save

Konfigurace webového uživatelského rozhraní Apache Tomcat

Tomcat lze spravovat prostřednictvím webového správce a správce virtuálních hostitelů. Webový správce i správce hostitele jsou chráněny heslem a pro přístup vyžadují uživatelské jméno a heslo.

Uživatel s manager-gui a admin-gui roli mají přístup ke správci webových aplikací a správci hostitelů. Tito uživatelé a role jsou definováni v tomcat-users.xml.

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

Umístěte následující dva řádky těsně nad poslední řádek.

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

Z bezpečnostních důvodů jsou Web Manager a Host Manager přístupné pouze z localhost, tj. ze samotného serveru.

Chcete-li získat přístup k webovým a hostitelským manažerům ze vzdáleného systému, budete muset přidat zdrojovou síť do seznamu povolených. Chcete-li to provést, upravte dva níže uvedené soubory.

### Web Manager ###

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

### Host Manager ###

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

Aktualizujte níže uvedený řádek ve výše uvedených souborech se zdrojovou IP adresou, ze které přistupujete ke správci webu a hostitele. .* umožní všem přístup k oběma správcům.

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

NEBO

Můžete také povolit pouze část vaší sítě. Například:Chcete-li povolit pouze síť 192.168.1.0/24, můžete použít níže uvedené hodnoty.

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

Restartujte službu Tomcat.

service tomcat9 restart

Přístup k Apache Tomcat

Otevřete webový prohlížeč a přejděte na

http://ip.add.re.ss:8080

Získáte výchozí stránku Tomcat.

Webový správce:– Vyžaduje přihlášení. Uživatelské jméno:admin, heslo:kocour.

Zde můžete nasadit novou aplikaci, nasadit novou aplikaci v zadaném kontextu, vypsat seznam aktivních nebo neaktivních aplikací, spustit a zastavit webové aplikace.

Můžete také zkontrolovat stav serveru .

Správce hostitele:– Vyžaduje přihlášení. Uživatelské jméno:admin, heslo:kocour.

Zde můžete spravovat virtuální hostitele Tomcat.

Závěr

To je vše. Doufám, že jste se naučili, jak nainstalovat Tomcat 9 na CentOS 6 / RHEL 6. Nyní jste připraveni nasadit svou první webovou aplikaci. Jako bezpečnostní doporučení zvažte implementaci SSL/TLS pro Tomcat


Cent OS
  1. Jak nainstalovat Apache Maven CentOS 7 / RHEL 7

  2. Jak nainstalovat Apache Tomcat 8 na CentOS

  3. Jak nainstalovat Apache Tomcat na CentOS 7

  1. Jak nainstalovat apache tomcat na Linux RHEL 8 / CentOS 8

  2. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8

  3. Jak nainstalovat Tomcat 7 na Centos?

  1. Jak nainstalovat Apache na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Apache Tomcat 8.5 na CentOS 7.3

  3. Jak nainstalovat Tomcat na CentOS