Crowd 서비스 등록 및 전용 사용자 계정 설정
전용 시스템 사용자
보안상의 이유로 시스템 루트가 아닌 크라우드를 실행할 전용 사용자 계정 생성
쉘스크립트 생성하여 실행
#!/bin/bash
CROWD_USER="crowd"
CROWD_GROUP="crowd"
INSTALL_BASE="/opt/atlassian/crowd"
CROWD_HOME="/var/atlassian/application-data/crowd-home"
sudo chgrp ${CROWD_GROUP} ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh}
sudo chmod g+x ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh}
sudo chown -R ${CROWD_USER} ${CROWD_HOME} ${INSTALL_BASE}/apache-tomcat/{logs,work,temp}
sudo touch -a ${INSTALL_BASE}/atlassian-crowd-openid-server.log
sudo mkdir ${INSTALL_BASE}/database
sudo chown -R ${CROWD_USER} ${INSTALL_BASE}/{database,atlassian-crowd-openid-server.log}
서비스 등록
서버 시작시 Crowd가 자동으로 실행되도록 설정
{CROWD_INSTALL} 디렉토리에 init.d 파일 (예, 'crowd.init.d') 생성
#!/bin/sh -e
# Crowd startup script
#chkconfig: 2345 80 05
#description: Crowd
# Define some variables
# Name of app ( JIRA, Confluence, etc )
APP=crowd
# Name of the user to run as
USER=crowd
# Location of Crowd install directory
CATALINA_HOME=/opt/atlassian/crowd
# Location of Java JDK
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
case "$1" in
# Start command
start)
echo "Starting $APP"
/bin/su -m $USER -c "$CATALINA_HOME/start_crowd.sh &> /dev/null"
;;
# Stop command
stop)
echo "Stopping $APP"
/bin/su -m $USER -c "$CATALINA_HOME/stop_crowd.sh &> /dev/null"
echo "$APP stopped successfully"
;;
# Restart command
restart)
$0 stop
sleep 5
$0 start
;;
*)
echo "Usage: /etc/init.d/$APP {start|restart|stop}"
exit 1
;;
esac
exit 0
생성된 init.d 파일 /etc/init.d/crowd 로 심볼릭 링크
$ sudo chmod 755 crowd.init.d
$ sudo ln -sf crowd.init.d /etc/init.d/crowd