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


참조 - 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
tomcat - root가 아닌 tomcat 계정으로 실행  (0) 2012.04.04
was - web.xml 설명  (0) 2012.02.12
mod_jk 사용법  (0) 2012.02.10
Jakarta Project  (0) 2012.02.05
Posted by linuxism

댓글을 달아 주세요