Run Confluence as a systemd service on linux
This article explains how to install Confluence as a systemd service in linux.
- You already have Confluence installed and working, but you need it to function as a service (i.e. start on boot).
- Your existing Confluence installation is running under a user other than root (we'll assume the user is named 'confluence').
- Login to the machine and elevate to the root user
Create the following service config as root:
touch /lib/systemd/system/confluence.service chmod 664 /lib/systemd/system/confluence.service
Edit the service config as root
Define the service config by putting this into confluence.service
[Unit] Description=Confluence After=network.target [Service] Type=forking User=confluence PIDFile=/opt/atlassian/confluence/work/catalina.pid ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh ExecStop=/opt/atlassian/confluence/bin/stop-confluence.sh TimeoutSec=200 LimitNOFILE=4096 LimitNPROC=4096 [Install] WantedBy=multi-user.target
Note: The above defined 'confluence' in the ExecStart line is the user under which you need to run Confluence. The name of this user may vary in your environment.
Note: Change <Confluence-Installation-Directory> with the full path for your installation folder (e.g. /opt/atlassian-confluence-6.2.1 )
Note: When running SELinux in enforcing mode it may be necessary to pass the start/stop of Confluence to the bash shell, like such:
ExecStart=/bin/bash /opt/atlassian/confluence/bin/start-confluence.sh ExecStop=/bin/bash /opt/atlassian/confluence/bin/stop-confluence.sh
Enable and start the service as root
systemctl daemon-reload systemctl enable confluence.service systemctl start confluence.service systemctl status confluence.service