# Install an IDOL Component as a Service on Linux

On Linux operating systems, you can install a component as a service to allow you to easily start and stop it. You can also configure the service to run when the machine boots. The following procedures describe how to install Answer Server as a service on Linux.

IMPORTANT: These procedures assume that you install Answer Server by using the installer. The installer automatically populates some placeholder values in the init scripts. If you install components from a ZIP package, you must update these values manually before you attempt to install the service.

NOTE: To use these procedures, you must have `root` permissions.

NOTE: When you install Answer Server on Linux, the installer prompts you to supply a user name to use to run the server. The installer populates the init scripts, but it does not create the user in your system (the user must already exist).

The procedure that you must use depends on the operating system and init system.

- For Linux operating system versions that use systemd (including CentOS 7, and Ubuntu version 15.04 and later), see systemd.
- For Linux operating system versions that use System V, see System V.

## systemd

NOTE: If your setup has an externally mounted drive that Answer Server uses, you might need to modify the init script. The installed init script contains examples for an NFS mount requirement.

To install an IDOL component as a service

1. Run the appropriate command to copy the init scripts to the appropriate directory.

   - Red Hat Enterprise Linux (and CentOS)

         cp IDOLInstallDir/scripts/init/systemd/componentname.service /etc/systemd/system/componentname.service

   - Debian (including Ubuntu):

         cp IDOLInstallDir/scripts/init/systemd/componentname.service /lib/systemd/system/componentname.service

   where `componentname` is the name of the init script that you want to use, which is the name of the component executable (without the file extension).

   For other Linux environments, refer to the operating system documentation.

2. Run the following commands to set the appropriate access, owner, and group permissions for the component:

   - Red Hat Enterprise Linux (and CentOS)

         chmod 755 /etc/systemd/system/componentname.service
         chown root /etc/systemd/system/componentname.service
         chgrp root /etc/systemd/system/componentname.service

   - Debian (including Ubuntu):

         chmod 755 /lib/systemd/system/componentname.service
         chown root /lib/systemd/system/componentname.service
         chgrp root /lib/systemd/system/componentname.service

   where `componentname` is the name of the component executable that you want to run (without the file extension).

   For other Linux environments, refer to the operating system documentation.

3. (Optional) If you want to start the component when the machine boots, run the following command:

       systemctl enable componentname

TIP: On systemd systems, services do not inherit file handle limits from the system limits or user settings. The default limits for services are configured separately in `/*/systemd/system.conf` and `/*/systemd/user.conf`.

In some cases this behavior might mean that a component fails to operate because it runs out of file handles. In this case, you can modify the `LimitNOFILE` parameter in the `componentname.service` file to increase the file handle limit before you install the service. Alternatively, you can create an `override.conf` file for the service.

## System V

To install an IDOL component as a service

1. Run the following command to copy the init scripts to your `init.d` directory.

       cp IDOLInstallDir/scripts/init/systemv/componentname /etc/init.d/

   where `componentname` is the name of the init script that you want to use, which is the name of the component executable (without the file extension).

2. Run the following commands to set the appropriate access, owner, and group permissions for the component:

       chmod 755 /etc/init.d/componentname
       chown root /etc/init.d/componentname
       chgrp root /etc/init.d/componentname

3. (Optional) If you want to start the component when the machine boots, run the appropriate command for your Linux operating system environment:

   - Red Hat Enterprise Linux (and CentOS):

         chkconfig --add componentname
         chkconfig componentname on

   - Debian (including Ubuntu):

         update-rc.d componentname defaults

   For other Linux environments, refer to the operating system documentation.

_FT_HTML5_bannerTitle.htm