Chapter 7. Running and removing JBoss EAP as a service on RHEL 7.1. JBoss EAP as a service on RHEL When using the archive, JBoss EAP installation manager, and GUI installation methods, you can configure JBoss EAP to run as a service in Red Hat Enterprise Linux RHEL. This enables the JBoss EAP service to start automatically when the RHEL server starts. Note A server installed using RPM is already configured to run as a service. You can use one of two daemon services: Systemd (System daemon). Systemd scripts are supplied with a basic configuration, and are intended to be used for standalone and domain mode instances. Init, also known as "System V init", or SysVinit . Init scripts are deprecated in favor of Systemd scripts. 7.2. Running JBoss EAP as a Systemd service on RHEL You can configure JBoss EAP to run as a Systemd service in Red Hat Enterprise Linux RHEL. This enables the JBoss EAP service to start automatically when the RHEL server starts. You must generate a systemd unit file with the username:groupname to launch the server. Prerequisites You have downloaded and Installed JBoss EAP. You have set the JAVA_HOME system environment variable. You have administrator access to the RHEL server. Procedure Create the user and group that will be used to launch the server: USD sudo groupadd -r groupname USD sudo useradd -r -g groupname -d USDEAP_HOME -s /sbin/nologin username USD sudo chown -R username:groupname USDEAP_HOME Note The commands in this procedure require root privileges to run. Either run su - to switch to the root user or preface the commands with sudo . Generate the systemd unit file: Standalone mode USD sudo cd USDEAP_HOME/bin/systemd USD sudo ./generate_systemd_unit.sh standalone username groupname Domain mode USD sudo cd USDEAP_HOME/bin/systemd USD sudo ./generate_systemd_unit.sh domain username groupname Configure the start-up options in the jboss-eap-standalone.conf or jboss-eap-domain.conf by using a text editor and set the options for your JBoss EAP installation: Standalone mode USD sudo vim USDEAP_HOME/bin/systemd/jboss-eap-standalone.conf Domain mode USD sudo vim USDEAP_HOME/bin/systemd/jboss-eap-domain.conf Copy the systemd unit file and the server configuration file, and reload the service daemon: Standalone mode USD sudo cp USDEAP_HOME/bin/systemd/jboss-eap-standalone.service USD(pkg-config systemd --variable=systemd_system_unit_dir) USD sudo cp USDEAP_HOME/bin/systemd/jboss-eap-standalone.conf /etc/sysconfig/ USD sudo systemctl daemon-reload Domain mode USD sudo cp USDEAP_HOME/bin/systemd/jboss-eap-domain.service USD(pkg-config systemd --variable=systemd_system_unit_dir) USD sudo cp USDEAP_HOME/bin/systemd/jboss-eap-domain.conf /etc/sysconfig/ USD sudo systemctl daemon-reload Enable the service: Standalone mode USD sudo systemctl enable jboss-eap-standalone.service USD sudo systemctl start jboss-eap-standalone.service Domain mode USD sudo systemctl enable jboss-eap-domain.service USD sudo systemctl start jboss-eap-domain.service Additional resources For more information about controlling the state of services, see Management system services in the RHEL Configuring basic system settings guide. For more information about viewing error logs, see Bootup logging in the JBoss EAP Configuration Guide. 7.3. Removing JBoss EAP Systemd service on RHEL You can remove the Systemd services associated with your server instance. The steps describe how to do it. Prerequisites You have JBoss EAP installed as a Systemd service. Procedure When the service is running, open a terminal and stop the service with one of the following commands: Standalone mode USD sudo systemctl stop jboss-eap-standalone.service Domain mode USD sudo systemctl stop jboss-eap-domain.service Note The commands in this procedure require root privileges to run. Either run su - to switch to the root user or preface the commands with sudo . Disable the service: Standalone mode USD sudo systemctl disable jboss-eap-standalone.service Domain mode USD sudo systemctl disable jboss-eap-domain.service Delete the configuration file and startup script: Standalone mode USD sudo rm "USD(pkg-config systemd --variable=systemd_system_unit_dir)/jboss-eap-standalone.service" USD sudo rm "/etc/sysconfig/jboss-eap-standalone.conf" USD sudo systemctl daemon-reload Domain mode USD sudo rm "USD(pkg-config systemd --variable=systemd_system_unit_dir)/jboss-eap-domain.service" USD sudo rm "/etc/sysconfig/jboss-eap-domain.conf" USD sudo systemctl daemon-reload 7.4. Running JBoss EAP as an Init service on RHEL Note Init scripts are deprecated in favor of Systemd scripts. Additional packages may need to be installed to provide this functionality. For example, when using RHEL 9, you must install the initscripts package to use Init services. You can configure JBoss EAP to run as a service in Red Hat Enterprise Linux RHEL. This enables the JBoss EAP service to start automatically when the RHEL server starts. Prerequisites You have downloaded and Installed JBoss EAP. You have set the JAVA_HOME system environment variable. You have administrator access to the RHEL server. When using RHEL, you have the initscripts package installed. Procedure Configure the start-up options in the jboss-eap.conf file by opening the jboss-eap.conf in a text editor and set the options for your JBoss EAP installation. Copy the service initialization and configuration files into the system directories: Copy the modified service configuration file to the /etc/default directory. Note The commands in this procedure require root privileges to run. Either run su - to switch to the root user or preface the commands with sudo . USD sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/default Copy the service startup script to the /etc/init.d directory and give it execute permissions: USD sudo cp EAP_HOME/bin/init.d/jboss-eap-rhel.sh /etc/init.d USD sudo chmod +x /etc/init.d/jboss-eap-rhel.sh USD sudo restorecon /etc/init.d/jboss-eap-rhel.sh Add the new jboss-eap-rhel.sh service to the list of automatically started services using the chkconfig service management command: USD sudo chkconfig --add jboss-eap-rhel.sh Verify that the service has been installed correctly by using the following command: USD sudo service jboss-eap-rhel start Optional: To make the service start automatically when the RHEL server starts, run the following command: USD sudo chkconfig jboss-eap-rhel.sh on Verification To check the permissions of a file, enter the ls -l command in the directory containing the file. To check that the automatic service start is enabled, enter the following command: USD sudo chkconfig --list jboss-eap-rhel.sh Additional resources For more information about controlling the state of services, see Management system services in the RHEL Configuring basic system settings guide. For more information about viewing error logs, see Bootup logging in the RHEL Configuration Guide. 7.5. Removing JBoss EAP Init service on RHEL You can remove the Systemd services associated with your server instance. The steps describe how to do it. Prerequisites You have JBoss EAP installed as an Init service. Procedure When the service is running, open a terminal and stop the service with one of the following command: USD sudo service jboss-eap-rhel.sh stop Note The commands in this procedure require root privileges to run. Either run su - to switch to the root user or preface the commands with sudo . Remove JBoss EAP from the list of services: USD sudo chkconfig --del jboss-eap-rhel.sh Delete the configuration file and startup script: USD sudo rm /etc/init.d/jboss-eap-rhel.sh USD sudo rm /etc/default/jboss-eap.conf

Commands:
sudo groupadd -r groupname sudo useradd -r -g groupname -d USDEAP_HOME -s /sbin/nologin username sudo chown -R username:groupname USDEAP_HOME
sudo cd USDEAP_HOME/bin/systemd sudo ./generate_systemd_unit.sh standalone username groupname
sudo cd USDEAP_HOME/bin/systemd sudo ./generate_systemd_unit.sh domain username groupname
sudo vim USDEAP_HOME/bin/systemd/jboss-eap-standalone.conf
sudo vim USDEAP_HOME/bin/systemd/jboss-eap-domain.conf
sudo cp USDEAP_HOME/bin/systemd/jboss-eap-standalone.service USD(pkg-config systemd --variable=systemd_system_unit_dir) sudo cp USDEAP_HOME/bin/systemd/jboss-eap-standalone.conf /etc/sysconfig/ sudo systemctl daemon-reload
sudo cp USDEAP_HOME/bin/systemd/jboss-eap-domain.service USD(pkg-config systemd --variable=systemd_system_unit_dir) sudo cp USDEAP_HOME/bin/systemd/jboss-eap-domain.conf /etc/sysconfig/ sudo systemctl daemon-reload
sudo systemctl enable jboss-eap-standalone.service sudo systemctl start jboss-eap-standalone.service
sudo systemctl enable jboss-eap-domain.service sudo systemctl start jboss-eap-domain.service
sudo systemctl stop jboss-eap-standalone.service
sudo systemctl stop jboss-eap-domain.service
sudo systemctl disable jboss-eap-standalone.service
sudo systemctl disable jboss-eap-domain.service
sudo rm "USD(pkg-config systemd --variable=systemd_system_unit_dir)/jboss-eap-standalone.service" sudo rm "/etc/sysconfig/jboss-eap-standalone.conf" sudo systemctl daemon-reload
sudo rm "USD(pkg-config systemd --variable=systemd_system_unit_dir)/jboss-eap-domain.service" sudo rm "/etc/sysconfig/jboss-eap-domain.conf" sudo systemctl daemon-reload
sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/default
sudo cp EAP_HOME/bin/init.d/jboss-eap-rhel.sh /etc/init.d sudo chmod +x /etc/init.d/jboss-eap-rhel.sh sudo restorecon /etc/init.d/jboss-eap-rhel.sh
sudo chkconfig --add jboss-eap-rhel.sh
sudo service jboss-eap-rhel start
sudo chkconfig jboss-eap-rhel.sh on
sudo chkconfig --list jboss-eap-rhel.sh
sudo service jboss-eap-rhel.sh stop
sudo chkconfig --del jboss-eap-rhel.sh
sudo rm /etc/init.d/jboss-eap-rhel.sh sudo rm /etc/default/jboss-eap.conf