CentOS 6.5에 버전별 JDK 설치 및 버전별 Tomcat 설치 출처: http://ironpapa.tistory.com/48 [개발하는 철이아빠]


JDK 다운로드
먼저 http://java.oracle.com 에 접속해서 JAVA Download 클릭
JAVA SE 8uXX JDK 다운로드 클릭
CentOS니까 버전에 맞는 rpm을 다운로드
뒤로 돌아가서 JAVA SE 7uXX JDK 다운로드 클릭
CentOS 버전에 맞는 rpm을 다운로드 =>tar.gz로 받을것
다시 돌아가서 맨 밑에 보면 Previous Release - Java Archive 항목에 Download 클릭
필요한 JAVA SE 버전 다운로드. 난 1.6 다운로드 함. 이 파일은 RPM이 아니라 rpm.bin 이니 주의. => .bin으로 받을것.

추가:
RPM으로 강제 설치하면 yum 의 rpmdb가 꼬여서 (JDK Duplicated) jdk에 의존성 걸린 애들이 제대로 설치가 안되는 문제가 발생한다.
1.7은 tar.gz 와 1.6은 rpm.bin이 아닌 그냥 .bin으로 받아 압축을 해제 후 /usr/java에 옮겨 주는게 더 나은듯...

JDK 설치
rpm -i jdk-8uXX-linux-xXX-.rpm 을 실행하여 jdk 8 설치
rpm -i --force jdk-7uXX-linux-xXX.rpm 을 실행하여 강제로 jdk 7 설치
./jdk-6u45-linux-x64-rpm.bin 을 실행하면 압축이 해제 되며 ./jdk-6u45-linux-amd64.rpm 등 여러 파일이 생김. 여기서 amd64.rpm을 설치하면 되므로 rpm -i --force jdk-6u45-linux-amd64.rpm 을 실행하여 강제로 jdk 6 설치
1.7은 tar -xvf jdk-7uXX-linux.xXX.tar.gz를 실행하여 압축 해제 후 /usr/java로 폴더채 이동
1.6은 jdk-6u45-linux-x64.bin을 실행하여 압축 해제 후 /usr/java로 폴더째 이동
ls -la /usr/java 때려 봐서 jdk 3개가 모두 설치되어 있으면 일단 완료.
/usr/bin/java 는 /usr/java/default를 실행하고 /usr/java/default/는 /usr/java/latest를 실행하고 /usr/java/latest는 jdk8에 연결되어 있으므로 콘솔에서 그냥 java 실행시 jdk8 이 동작하게 된다.

Tomcat 다운로드
http://tomcat.apache.org에 접속하여 좌측 다운로드 섹션에서 8, 7, 6에 대한 Core 항목의 tar.gz 파일을 다운 받음

Tomcat 설치
다운 받은 파일을 각각 tar -xvf apache-tomcat-버전.tar.gz 실행하여 압축을 해제
mv apache-tomcar-버전 /usr/local/. 로 지정하여 압축해제한 폴더들을 /usr/local 밑으로 이동
/usr/local 폴더로 이동 후 다음과 같이 symbolic link 생성
ln -s /usr/local/apache-tomcar-6.0.41 tomcat6
ln -s /usr/local/apache-tomcar-7.0.55  tomcat7
ln -s /usr/local/apache-tomcar-8.0.9 tomcat8

Tomcat 설정
Tomcat 에서 사용할 jdk 위치를 지정하고 centos의 service 명령을 통해 쉽게 구동하기 위해 /etc/init.d 에 스크립트를 만들어 주자
/etc/init.d 로 이동 후 다음과 같이 symbolic link 생성
ln -s /usr/local/tomcat6/bin/catalina.sh tomcat6
ln -s /usr/local/tomcat7/bin/catalina.sh tomcat7
ln -s /usr/local/tomcat8/bin/catalina.sh tomcat8

* tomcat6 에 대해서만 jdk6 및 chkconfig 동작을 위한 설정을 추가해보자. (7,8도 마찬가지로 해주면 됨.)
vi /etc/init.d/tomcat6 실행하여 파일을 편집하자
상단의 #!/bin/sh 아래에 다음과 같은 문장 추가
# Linux Startup Script for Tomcat 6
# chkconfig: 35 99 99
# description: Apache Tocmat version 6
chkconfig가 추가할 run-level을 잡아 주고 설명을 추가한다.
그리고 다음과 같이 JDK 위치와 TOMCAT 위치를 잡아준다.
JAVA_HOME=/usr/java/jdk1.6.0_45
CATALINA_HOME=/usr/local/tomcat6
CATALINA_BASE=/usr/local/tomcat6
위의 예제는 jdk6으로 돌리게 해놓은 것이고, JAVA_HOME 의 경로를 바꾸면 jdk7, 8 모두 가능하다.

파일을 저장 후 service tomat6 start 를 실행하여 정상 동작하면 OK.
이짓을 tomcat7, 8에 대해서도 반복하자.

CentOS 구동시 tomcat이 자동 시작되게 설정
chkconfig --add tomcat6 를 실행하여 추가
chkconfig --list 로 tomcat6가 추가되었는지 확인
chkconfig --del tomcat6 를 실행하여 자동 시작에서 제외
chkconfig --list로 tomcat6가 제외되었는지 확인

기본 설정으로 하면 모두 8080 포트이므로 세개다 자동 시작으로 놓으면 아마 한놈만 돌아갈 가능성이 많다. 자동 시작은 하나만 해 놓자.

외부 접속을 위한 방화벽 설정
vi /etc/sysconfig/iptables 를 실행하여 방화벽 설정 파일을 편집
COMMIT 항목 이전에 다음과 같이 8080에 대한 외부 접속 허용 추가
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
service iptables restart 명령으로 방화벽 규칙을 다시 적재
iptables --list 명령을 실행하여 8080 포트가 정상적으로 열려 있는 지 확인

뭐 언젠가는 나한테도 필요한 정보가 되겠지...


출처: http://ironpapa.tistory.com/48 [개발하는 철이아빠]

댓글 쓰기

0 댓글