KBEC-00317 - Non-Root CloudBees CD (CloudBees Flow) Installer

Article ID:360032827572
3 minute readKnowledge base

The following Linux files can be installed by a non-root user without sudo privileges:


What the Installer Does


Non-root Full

Installs all components, including the ElectricFlow server, web server, repository server, agents, and ElectricFlow tools. Only 32-bit agents are installed.

ElectricFlowNonRoot- Example: ElectricFlowNonRoot-

Non-root 32-bit agent only

Installs only the 32-bit agent.

ElectricFlowAgent-x86NonRoot- Example: ElectricFlowAgent-x86NonRoot-

Non-root 64-bit agent only

Installs only the 64-bit agent.

ElectricFlowAgent-x64NonRoot- Example: ElectricFlowAgent-x64NonRoot-

Installing the CloudBees CD (CloudBees Flow) Using the Non-Root Installer


  • The non-root user used to install CloudBees CD (CloudBees Flow) is the same user who runs the software.
    For example, if the "flow" user is used to install the CloudBees CD (CloudBees Flow) agent, the "flow" user must also be specified as the user that the agent will run the software as. During the agent installation process, when you need to specify the user that the agent will run as, enter the "flow" user.

  • Make sure that the 32-bit compatibility libraries are installed before installing CloudBees CD (CloudBees Flow). The root user needs to perform this task.

  • Make sure that the non-root user’s home directory exists and that the non-root user has write permission to this directory.

  • The non-root user must also have permission to write to the directory where the CloudBees CD (CloudBees Flow) software will be installed (for example, the /opt directory).

Installing CloudBees CD (CloudBees Flow)

  • The non-root user can bind ports greater than 1024. Only root users can bind ports less than or equal to 1024.
    For example, if the non-root user wants to install an Apache web server, the user cannot bind ports 80 and 443. The user has to use one of these advanced installation processes to specify a Web HTTP Port or Web HTTPS Port greater than 1024:

Uninstalling CloudBees CD (CloudBees Flow) Using the Non-Root Installer

Uninstall the software as the non-root user who previously installed the software.

During this process, the non-root installer does not take action on any of the files in the /etc/init.d and /etc/rc*.d directories. The startup scripts will not be removed during this operation.

Post-Installation Processes

The scripts that are usually in /etc/init.d are copied to the $INSTALL_DIRECTORY/startup directory and can be manually started after CloudBees CD (CloudBees Flow) is installed.

When the CloudBees CD (CloudBees Flow) server reboots, they are not automatically executed. If you want the services to automatically restart after a system reboot, the scripts in $INSTALL_DIRECTORY/startup have to be linked to /etc/init.d.

To automatically start CloudBees CD (CloudBees Flow), symbolic links (symlinks) need to be created under /etc/init.d/ and /etc/rc*.d . The root user performs this operation.

For more information about the scripts, go to the "Starting and Stopping Servers and Agents Manually" section in the "Maintenance" chapter of the https://docs.electric-cloud.com/eflow_doc/6_0/HTML5/Install/CloudBees CD (CloudBees Flow)InstallHTML.htm[CloudBees CD (CloudBees Flow) 6.x Installation Guide].

  1. Put symlinks in these service scripts in /etc/init.d:

* * commanderApache * commanderServer * commanderAgent * commanderRepository

Each script should have a symlink to $INSTALL_DIRECTORY/startup/commander.

  1. Put symlinks in the scripts in /etc/rc*.d. For each of the following services, add links in these directories:


* * /etc/rc0.d/K01commanderAgent * /etc/rc2.d/S99commanderAgent * /etc/rc3.d/S99commanderAgent * /etc/rc5.d/S99commanderAgent * /etc/rc6.d/K01commanderAgent


* * /etc/rc0.d/K22commanderServer * /etc/rc2.d/S78commanderServer * /etc/rc3.d/S78commanderServer * /etc/rc5.d/S78commanderServer * /etc/rc6.d/K22commanderServer


* * /etc/rc0.d/K20commanderRepository * /etc/rc2.d/S80commanderRepository * /etc/rc3.d/S80commanderRepository * /etc/rc5.d/S80commanderRepository * /etc/rc6.d/K20commanderRepository


* * /etc/rc0.d/K21commanderApache * /etc/rc2.d/S79commanderApache * /etc/rc3.d/S79commanderApache * /etc/rc5.d/S79commanderApache * /etc/rc6.d/K21commanderApache

Each script should have a symlink to $INSTALL_DIRECTORY/startup/commander.

Applies To:
Linux OS versions of ElectricCommander and CloudBees CD (CloudBees Flow) after v6.0.1