Како инсталирати (ручно) Apache Tomcat на ЦентОС 7 минимал Линуксу
Овде ћемо инсталирати (на дан писања) последњу верзију Apache Tomcat-а на ЦентОС 7 Линуксу у минимал варијанти – а то је тренутно верзија 9.0.10. Пошто радимо на чистој машини, немамо Јаву тако да ћемо инсталирати и њу, исто ручно. Tomcat не може да се стартује ако не види варијаблу JAVA_HOME која треба да пуца на праву локацију.
# Скините Java jdk са званичног сајта (линк овде) # У овом случају ради се о верѕији 8u181, и после скидања покрените tar zxvf jdk-8u181-linux-x64.tar.gz rm -f jdk-8u181-linux-x64.tar.gz mv jdk1.8.0_181/ /opt/ alternatives --install /usr/bin/java java /opt/jdk1.8.0_181/bin/java 2 # Изаберите редни број тазе инсталиране Јаву (у овом случају редни број1) па притисните ЕНТЕР # и касније само проверите да ли java -version даје исправну верзију (скриншот овде) alternatives --config java # Додаћемо JAVA_HOME и JRE_HOME као глобалне варијабле додавањем у /etc/profile cp /etc/profile ~/etc-profile-backup-$(date +%Y%m%d%H%M) echo "export JAVA_HOME=/opt/jdk1.8.0_181" >> /etc/profile echo "export JRE_HOME=/opt/jdk1.8.0_181/jre" >> /etc/profile # Skinite Tomcat као и његов sha512 како би упоређивањем проверили да ли је скинут фајл добар curl -O http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz curl -O https://www.apache.org/dist/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz.sha512 # Проверавамо SHA512 скинутог фајла. Ако добијете било какав резултати из доње команде нешто сте # зајебали приликом скидања фајла па пробајте поново. diff <(echo "$(sha512sum apache-tomcat-9.0.10.tar.gz | awk '{print $1}')" ) <(echo "$(cat apache-tomcat-9.0.10.tar.gz.sha512 | awk '{print $1}')") # Распакујте Tomcat и пребаците га у /opt tar zxvf apache-tomcat-9.0.10.tar.gz mv /opt/tomcat /opt/tomcat-$(date +%Y%m%d%H%M) 2>/dev/null # За сваки случај mv apache-tomcat-9.0.10 /opt/tomcat # Додајте CATALINA_HOME environment варијаблу ако не постоји (исто ћемо глобалну) [ -z ${CATALINA_HOME} ] && echo "export CATALINA_HOME='/opt/tomcat/'" >> /etc/profile . /etc/profile || echo "CATALINA_HOME already exists. Please check" # Правимо корисника и додељујемо му власништво над /opt/tomcat useradd -r tomcat --shell /bin/false chown -R tomcat:tomcat /opt/tomcat/ # Правимо systemd фајл а самом Tomcat-у доделити гига RAM-a (погле CATALINA_OPTS) [ ! -f /etc/systemd/system/tomcat.service ] && echo "[Unit] Description=Apache Tomcat 9 After=syslog.target network.target [Service] User=tomcat Group=tomcat Type=forking Environment=CATALINA_PID=/opt/tomcat/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target" >> /etc/systemd/system/tomcat.service || echo "File is missing" # Радимо ново учитавање дејмона systemctl daemon-reload # Отварамо портове за Tomcat на firewalld-у firewall-cmd --add-port=8080/tcp firewall-cmd --add-port=8080/tcp --permanent # Стартујемо, енејблујемо и проверавамо статус Tomcat-a systemctl start tomcat systemctl enable tomcat systemctl status tomcat
Сад можете отићи на веб адресу свог сервера и дифолтни порт (може да се промени касније) 8080, тј у овом случају http://SERVER-IP-ADDRESS:8080 да проверимо види ли се дифолт почетна страница нашег Tomcat-a и ако се види – посао је готов.
# Ако желите да Tomcat буде на http порту 80 уместо на 8080 најлакше је то одрадити
# путем "port forward" на firewalld нивоу путем следећих команди
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
firewall-cmd --reload
# Ако желите да испробате како би изгледала нека тестна веб апликација, пример можете
# скинути са Apache Tomcat сајта и поставити. Кад окинете команде идити преко бразуера
# на http://tomcaturl/sample да видите тај пример (погле скриншот испод)
cd /opt/tomcat/webapps/
curl -O https://tomcat.apache.org/tomcat-9.0-doc/appdev/sample/sample.war