CloudLinux

Enable Node.js and Python Selector for cPanel users (CloudLinux root guide)

Install alt-nodejs and alt-python versions, enable the Node.js and Python selectors in CloudLinux Manager, set defaults and limit what users can run.

AdvancedCloudLinux server (root)2 min read

CloudLinux's Node.js and Python selectors let cPanel users deploy apps through Setup Node.js App and Setup Python App. As root you install the runtime versions, enable the selectors and decide which versions users can choose.

On MdmHost hosting plans this is managed for you. This guide is for administrators of their own cPanel server with root access.

Before you start

  • CloudLinux with CageFS enabled (see managing CageFS).
  • Root SSH access and WHM.
  • Apps run through Passenger, which works with LiteSpeed and Apache on cPanel.

Install runtimes

Install the Node.js versions you want to offer, for example:

dnf -y install alt-nodejs20 alt-nodejs22

Install Python versions and the selector tooling:

dnf -y install alt-python311 alt-python312 lvemanager alt-python-virtualenv

Package names follow the pattern alt-nodejsNN and alt-pythonNN; check dnf list 'alt-nodejs*' for what is available. Then update CageFS:

cagefsctl --force-update

Enable the selectors

  1. Go to WHM → Plugins → CloudLinux Manager → Node.js Selector (or Selectors).
  2. Turn the selector on, choose the versions users may select and set a default version (an LTS release).
  3. Repeat in Python Selector.
  4. Save.

Users now see Setup Node.js App and Setup Python App in cPanel, unless hidden by feature lists (see Feature Manager).

Limits and safety

  • Apps run inside the user's LVE, so CPU and memory limits apply. Tight PMEM limits make npm install and pip install fail; raise limits on packages meant for apps (see CloudLinux Manager settings).
  • Passenger starts apps on demand and stops idle ones, so many apps can share a server.
  • Hide the selectors in feature lists for plans that should not run apps.

Tip: Remove old Node.js and Python versions only after checking who uses them in CloudLinux Manager; apps on a removed version stop working.

Test as a user

Create a test cPanel account and follow the end-user guides: Node.js app setup and Python app setup. Confirm the app starts and the URL responds.

Troubleshooting

The menu items do not appear in cPanel

The selector is disabled, the user is not caged, or the features are missing from the feature list.

Apps return 503

Check the app's stderr.log and the web server error log; often the startup file is wrong or the user hit a resource limit (see Node.js troubleshooting).

Frequently asked questions

Do users get SSH for npm commands?

Only if you allow shell or Terminal access. The cPanel interface has Run NPM Install and Run Pip Install buttons for users without SSH.

Can I offer Ruby too?

CloudLinux also provides a Ruby selector on some versions, enabled the same way. Check CloudLinux Manager for the options on your server.

Do apps survive server reboots?

Yes. Passenger starts them again on the next request.

Which Node.js version should be the default?

The current active LTS release. Odd-numbered releases are short-lived and not suited as a default.

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.