본문 바로가기
Linux/Shell script

linux tomcat9 설치 shell script

by 개폰지밥 2021. 9. 6.
반응형

install_tomcat.sh
0.00MB
2_tomcat_install.sh
0.00MB

install_tomcat.sh가 version1 2_tomcat_install.sh가 version2이다.

 

# tomcat 설치 스크립트

l  설치 스크립트 돌리기 전에 확인해야하는 사항

1. apache-tomcat-9.0.45.tar.gz 파일이 위치 되어있어야 한다.

(Tar 파일을 올릴 때는, root 계정이 아닌 위에서 was 계정으로 올려야 한다. roottomcat 설치하다면 무방하다.)

2. 다른 버전을 설치하고 싶으면 tar명을 변경해줘야한다.

3. JAVA가 설치 되어있어야 한다. (JAVA 설치 방법은 아래 사이트 참고)

https://seul96.tistory.com/299

 

Centos7 JAVA 설치 Shell script

l 자바 설치 방법 (자바 설치 스크립트도 아래에 만들어 놓긴했습니다 😊) 자바 설치 확인 - 첫번째 javac 이용 [fido@localhost script]$ javac -version -bash: javac: command not found - 두번째 rpm 이용 [f..

seul96.tistory.com

Tomcat 실행시키기 위해서 java가 선행 설치 되어있어야 한다.

 

version2

vi tomcat_install.sh
구현하고 싶은 내용 구현 아이디어 내기
Tomcat 설치 인터넷 연결 시 wget 설치
인터넷 미 연결시 tar 설치
.bash_profilePATH도 자동 추가
설치가 완료 동시에 로그 바로 보기
쉘 스크립트 내용
#!/bin/bash
echo "where is tar file?(FULL location):"
read TOMCAT_LOCATE
cd $TOMCAT_LOCATE
tar -xvf apache-tomcat-9.0.45.tar.gz
mv apache-tomcat-9.0.45 tomcat9
cd tomcat9
echo "export CATALINA_HOME=$(pwd)" >> ~/.bash_profile
echo "PS1=${PS1}"
source ~/.bash_profile
echo "export PATH=$PATH:${CATALINA_HOME}/bin" >> ~/.bash_profile
cd "${CATALINA_HOME}"/bin && ./startup.sh
cd "${CATALINA_HOME}"/logs && tail -f catalina.out
결과
[fido@localhost script]$ ./install_tomcat.sh
where is tar file?(FULL location):
/home/fido/MagicFIDO
apache-tomcat-9.0.45/conf/
apache-tomcat-9.0.45/conf/catalina.policy
apache-tomcat-9.0.45/conf/catalina.properties
apache-tomcat-9.0.45/conf/context.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xsd
apache-tomcat-9.0.45/conf/logging.properties
apache-tomcat-9.0.45/conf/server.xml

이하 생략
기타사항
나중에 구현해야 하는 내용: 인터넷 연결 시 wget 설치 인터넷 미 연결시 tar 설치
.bash_profile 적용
Source ~/.bash_profile이 아무리 해도 적용되지 않음. (4시간 이상 찾은듯)
echo "PS1=${PS1}" 그나마 이것을 집어넣고 나면 bash 세션이 종료되기 전까지는 source ~/.bash_profile이 먹힌다.
하지만 스크립트가 종료되면 ~/.bash_profile에 저장되지는 않는다.
그 밖에 알아두면 좋은 사항
l  echo "PS1=${PS1}"
echo "PS1=${PS1}"를 사용하지 않으면 source ~/.bash_profile이 적용되지 않는다.
Source ~/.bash_prfoile이 적용 되지 않으면 CATALINA_HOME이 적용 되지 않기 때문에 뒤의 명령어인 startup.shcatalina.out등의 명령어가 먹히지 않으므로 꼭 echo “PS1=${PS1}”을 사용해야 한다.
또한 source ~/.bash_profile은 스크립트의 종료와 함께 적용된 것도 사라지기 때문에 쉘 스크립트가 종료되면 별도로 source ~/.bash_profile을 다시 한번 적용해줘야한다.
 
l  ; vs && vs &
; : 앞의 명령어의 실패와 관계 없이 다음 명령어 실행
&& : 앞의 명령어가 성공시 다음 명령어 실행
& : 앞의 명령어를 백그라운드로 돌리고 동시에 뒤의 명령어를 실행(비동기)
참고: https://no-member.github.io/post/%EC%89%98-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C-%EC%9D%98-%EC%B0%A8%EC%9D%B4/

로그 완료 후 에러가 없으면 http://localhost:8080으로 최종 설치되었는지 확인해준다.

 

l  설치 스크립트 돌리기 전에 확인해야하는 사항

1. apache-tomcat-9.0.45.tar.gz 파일이 위치 되어있어야 한다.

(Tar 파일을 올릴 때는, root 계정이 아닌 위에서 was 계정으로 올려야 한다. roottomcat 설치하다면 무방하다.)

2. 다른 버전을 설치하고 싶으면 tar명을 변경해줘야한다.

3. JAVA가 설치 되어있어야 한다. (JAVA 설치 방법은 아래 사이트 참고)

https://seul96.tistory.com/299

 

Centos7 JAVA 설치 Shell script

l 자바 설치 방법 (자바 설치 스크립트도 아래에 만들어 놓긴했습니다 😊) 자바 설치 확인 - 첫번째 javac 이용 [fido@localhost script]$ javac -version -bash: javac: command not found - 두번째 rpm 이용 [f..

seul96.tistory.com

Tomcat 실행시키기 위해서 java가 선행 설치 되어있어야 한다.

ð  JAVA 설치 확인 : javac -version

아래와 같으면 설치되어있는 것.

4. 빨간 부분은 수정 가능하다.

Ex) FIDOBASE_HOME=/home/fido/MagicFIDO -> CATALINA_BASE=/home/tomcat

version1

vi 2_tomcat_install.sh
구현하고 싶은 내용 구현 아이디어 내기
Tomcat 설치 Tomcat 설치 확인
인터넷 연결 시 wget 설치
인터넷 미 연결시 tar 설치
.bash_profilePATH도 자동 추가
설치가 완료 동시에 로그 바로 보기
쉘 스크립트 내용
#!/bin/bash
cp ~/.bash_profile ~/.bash_profile_old
echo "export FIDOBASE_HOME=/home/fido/MagicFIDO" >> ~/.bash_profile
source ~/.bash_profile
cd "${FIDOBASE_HOME}"
tar -xvf apache-tomcat-9.0.45.tar.gz
mv apache-tomcat-9.0.45 tomcat9
echo "export CATALINA_HOME=/home/fido/MagicFIDO/tomcat9" >> ~/.bash_profile
echo "export PATH=$PATH:${CATALINA_HOME}/bin" >> ~/.bash_profile
echo "PS1=${PS1}"
source ~/.bash_profile
cd "${CATALINA_HOME}"/bin; ./startup.sh
cd "${CATALINA_HOME}"/logs; tail -f catalina.out
결과
[fido@localhost script]$ ./2_tomcat_install.sh
apache-tomcat-9.0.45/conf/
apache-tomcat-9.0.45/conf/catalina.policy
apache-tomcat-9.0.45/conf/catalina.properties
apache-tomcat-9.0.45/conf/context.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xsd
이하 생략
Tomcat started.
20-Aug-2021 16:09:09.122 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 서버 버전 이름:    Apache Tomcat/9.0.45
20-Aug-2021 16:09:09.281 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log Server 빌드 시각:  Mar 30 2021 10:29:04 UTC
이하 생략
 

이하 생략
기타사항
 특이 사항 x
그 밖에 알아두면 좋은 사항
특이 사항 x

로그 완료 후 에러가 없으면 http://localhost:8080으로 최종 설치되었는지 확인해준다.

 

l  실행시 발생할 수 있는 에러 모음.

1) JAVA 설치가 안되어있을 때 생기는 에러

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

ð  JAVA를 설치해준다. 아래 사이트 참고

https://seul96.tistory.com/299

 

Centos7 JAVA 설치 Shell script

l 자바 설치 방법 (자바 설치 스크립트도 아래에 만들어 놓긴했습니다 😊) 자바 설치 확인 - 첫번째 javac 이용 [fido@localhost script]$ javac -version -bash: javac: command not found - 두번째 rpm 이용 [f..

seul96.tistory.com

2) .bash_profile에 적용이 잘 되지 않았을 때 생기는 에러

apache-tomcat-9.0.45/bin/version.sh

./startup.sh: line 24: uname: command not found

./startup.sh: line 41: dirname: command not found

Cannot find /catalina.sh

The file is absent or does not have execute permission

This file is needed to run this program

ð  echo $CATALINA_HOME$CATALINA_HOME이 잘 적용되었는지 확인해준다.

ð  적용 방법 source ~/.bash_profile

반응형

댓글