[Bamboo Knowledge Base]
Linux system administration is outside the scope of Atlassian support. This page is provided for your information only.
On Linux/Solaris, the best practice is to install, configure and run each service (including Bamboo) as a dedicated user with only the permissions they require.
To install, configure and get Bamboo to start automatically on Linux/Solaris:
Create a bamboo user account which will be used to run Bamboo. For example, enter the following at a Linux console:
sudo useradd --create-home -c "Bamboo role account" bamboo
Create a directory into which Bamboo will be installed. For example:
sudo mkdir /opt/atlassian/bamboo sudo chown bamboo: /opt/atlassian/bamboo
Log in as the bamboo user to install Bamboo:
sudo su - bamboo
You need to extract Bamboo:
cd /opt/atlassian/bamboo tar zxvf /tmp/atlassian-bamboo-X.Y.tar.gz ln -s atlassian-bamboo-X.Y/ current
current/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
and set bamboo.home=/var/atlassian/application-data/bamboo (or any other directory of your choice, but not the same as Bamboo's installation directory)
Then back as root, create the file /etc/init.d/bamboo
(code shown below), which will be responsible for starting up bamboo after a reboot (or when manually invoked).
#!/bin/sh -e # bamboo startup script #chkconfig: 2345 80 05 #description: bamboo # Define some variables # Name of app ( bamboo, Confluence, etc ) APP=bamboo # Name of the user to run as USER=bamboo # Location of application's bin directory BASE=/opt/atlassian/bamboo/current # Location of Java JDK export JAVA_HOME=/usr/lib/jvm/java-6-sun case "$1" in # Start command start) echo "Starting $APP" /bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null" ;; # Stop command stop) echo "Stopping $APP" /bin/su -m $USER -c "$BASE/bin/shutdown.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
Make the init script executable:
chmod \+x /etc/init.d/bamboo
For Debian-based systems:
update-rc.d bamboo defaults
The following commands will be executed to place symlinks in the run-level directories:
Adding system startup for /etc/init.d/bamboo ... /etc/rc0.d/K20bamboo -> ../init.d/bamboo /etc/rc1.d/K20bamboo -> ../init.d/bamboo /etc/rc6.d/K20bamboo -> ../init.d/bamboo /etc/rc2.d/S20bamboo -> ../init.d/bamboo /etc/rc3.d/S20bamboo -> ../init.d/bamboo /etc/rc4.d/S20bamboo -> ../init.d/bamboo /etc/rc5.d/S20bamboo -> ../init.d/bamboo
For RedHat-based systems:
the init.d script contains chkconfig settings
sudo /sbin/chkconfig --add bamboo