root 가 아닌계정으로 톰캣을 실행시키려면 톰캣 자체가 tomcat을 돌리려는 계정의 홈디렉토리에 설치되어 있거나, tomcat 디렉토리와 그 하위 디렉토리를 전부 톰캣을 돌리려는 계정소유로 만들어야 합니다.
Redhat 계열(한컴,와우)을 기준으로 tomcat 이라는 사용자명을 이용해 후자에 대해서 말씀드리겠습니다.
root 계정으로 로그인하여
# chown -R tomcat.tomcat /usr/tomcat
위와 같이하면 디렉토리 소유권이 모두 tomcat 계정에 속하게 됩니다.
/etc/init.d/rc.local 파일의 맨 마지막에 다음 줄을 추가해 줍니다.
su - tomcat -c "/usr/tomcat/bin/startup.sh"
이걸로 됐습니다.
지금까지 제가 본바로 대부분 사람들은 전자(tomcat 계정의 홈디렉토리 /home/tomcat)에다가 톰캣을 깔고 실행하는 것을 선호하는 것 같더군요
출처 - http://okjsp.pe.kr/bbs?act=VIEW&seq=35739&bbs=bbs3&keyfield=subject&keyword=%B0%E8%C1%A4&pg=1
톰캣을 root 계정이 아닌 tomcat 계정으로 실행 하기
우선 tomcat 계정을 생성한다.
# useradd -M tomcat
톰캣 계정 설정 확인
계정을 생성하면 home 디렉토리가 /home/tomcat으로 설정 되며, 이를 CATALINA_HOME으로 변경해준다.
# grep tomcat /etc/passwd
tomcat:x:501:501::/usr/local/tomcat:/bin/bash
실행 스크립트 작성하기
# vi /etc/rc.d/init.d/tomcat
아래 내용을 작성한다.
#!/bin/bash
# Startup script for the Tomcat Server
# chkconfig: 345 50 50
# description: Tomcat is a Web application server.# processname: java
# directory : CATALINA_HOME=/usr/local/tomcat
. /etc/profile
case "$1" in
start)
echo "Starting tomcat: "
su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Shutting down tomcat: "
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Restarting tomcat: "
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh; su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: service tomcat {start|stop|restart}"
exit 1
esac
exit 0
소유권을 tomcat으로 변경
# chown tomcat:tomcat tomcat
tomcat 스크립트에 실행권한 주기
#chmod 755 tomcat
runlevel에 등록
chkconfig에서 add 될 수 있도록 스크립트에 "# chkconfig: 345 50 50" 를 추가한다.
#chkconfig --add tomcat
실제로 리부팅시 톰캣이 tomcat 계정으로 실행되는지 확인한다
# reboot
톰캣 실행시 데몬실행이 tomcat으로 되어 있는지 확인한다. tomcat이 아닌 root인경우는 잘못된 경우임
# ps -ef | grep tomcat
톰캣 프로세스 수동 시작 및 종료
# service tomcat start
# service tomcat stop
[출처] tomcat 재부팅시 tomcat계정으로 자동실행하기|작성자 쌩뚱보이
참조 - http://blog.naver.com/feelwoo?Redirect=Log&logNo=100152801271
톰캣 계정 생성 - script 정상 실행을 위해 bash를 반드시 설정한다.
# useradd -d /home/tomcat -s /bin/bash tomcat
톰캣 디렉토리 소유권 설정
# chown -R tomcat.tomcat /usr/local/tomcat/
톰캣 실행 스크립트 작성 - CATALINA_HOME 변수가 /etc/profile에 설정되어 있다면 /etc/profile를 우선 적용되므로 중복되지 않도록 /etc/profile 변수는 주석처리한다.
# vi /etc/rc.d/init.d/tomcat
#!/bin/bash
# Startup script for the Tomcat Server
. /etc/profile
CATALINA_HOME=/usr/local/tomcat
case "$1" in
start)
echo "Starting tomcat: "
su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Shutting down tomcat: "
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Restarting tomcat: "
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh; su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: service tomcat {start|stop|restart}"
exit 1
esac
exit 0
:wq!
톰캣 실행 스크립트 소유권 및 권한
# chown tomcat:tomcat /etc/rc.d/init.d/tomcat
# chmod 755 /etc/rc.d/init.d/tomcat
필요 시 runlevel에 등록
# chkconfig --add tomcat
톰캣 시작 및 종료
# service tomcat start
# service tomcat stop
'Web > WAS' 카테고리의 다른 글
톰캣(tomcat) Connector 설정 (0) | 2012.04.05 |
---|---|
Tomcat 의 logging.properties 및 log 디렉토리 설정 (2) | 2012.04.04 |
was - web.xml 설명 (0) | 2012.02.12 |
mod_jk 사용법 (0) | 2012.02.10 |
Jakarta Project (0) | 2012.02.05 |