{"id":9307,"date":"2025-11-05T10:43:03","date_gmt":"2025-11-05T10:43:03","guid":{"rendered":"https:\/\/kb.cloudhostgeek.com\/?p=9307"},"modified":"2025-11-05T10:43:03","modified_gmt":"2025-11-05T10:43:03","slug":"manage-node-js-and-python-versions-with-cloudlinux-via-whm","status":"publish","type":"post","link":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/","title":{"rendered":"Manage Node.js and Python Versions with CloudLinux via WHM"},"content":{"rendered":"\n<p class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-b07dcbebd657d3d616039a3a4df322d0 wp-block-paragraph\" style=\"font-size:18px\">Managing multiple app environments, such as Node.js and Python, may be difficult\u2014especially without the right tools. This guide explains how to enable Node.js in WHM, install the Python selector on a WHM server, and set up Node.js and Python apps in cPanel hosting. If you&#8217;re using CloudLinux VPS hosting, this guide makes version control easier for developers.<\/p>\n\n\n\n<div style=\"background: #f7f3ff; border-left: 4px solid #6C4CE2; padding: 16px 20px; border-radius: 12px; font-family: Arial, sans-serif; font-size: 18px; color: #3f2c73; margin: 28px 0;\">\n  \ud83d\udca1 <strong>Need Node.js hosting that just works?<\/strong> With BigCloudy&#8217;s CloudLinux-powered VPS, you get Node.js version selectors pre-configured, WHM ready, and secure environments from day one.<a href=\"https:\/\/www.bigcloudy.in\/nodejs-hosting\" target=\"_blank\" style=\"color: #6C4CE2; font-weight: bold; text-decoration: None; padding: 14px\">Explore Node.js Hosting Plans\u2192<\/a>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>What You Need Before Starting<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-a63479143c8f3e1736cdf1e499032cf3\" style=\"font-size:18px\">CloudLinux OS is installed on your server<\/li>\n\n\n\n<li class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-45eb5cab55f8ec4313a674d82d46af3c\" style=\"font-size:18px\">WHM (root access)<\/li>\n\n\n\n<li class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-8d8587610de7f81037b3d4b1fe81305f\" style=\"font-size:18px\">Valid CloudLinux license<\/li>\n\n\n\n<li class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-31b4fb106a36a7f5c649a7dc8a116490\" style=\"font-size:18px\">CageFS enabled<\/li>\n\n\n\n<li class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-9b4c42830765800d80aa07b709374b6e\" style=\"font-size:18px\">EasyApache 4 available<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Install and Activate CloudLinux License<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\"><strong>Download the CloudLinux installer:<\/strong><br>wget <a href=\"https:\/\/repo.cloudlinux.com\/cloudlinux\/sources\/cln\/cldeploy\">https:\/\/repo.cloudlinux.com\/cloudlinux\/sources\/cln\/cldeploy<\/a><\/p>\n\n\n\n<p class=\"has-ast-global-color-2-color has-text-color has-link-color wp-elements-2eb1f6c05d2833de49d55cc54b33873e wp-block-paragraph\" style=\"font-size:18px\"><strong>Run the installer with your license key:<\/strong><br>sh cldeploy -k YOUR_LICENSE_KEY<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">Replace<strong> YOUR_LICENSE_KEY<\/strong> with your real CloudLinux license key.<br><strong>Alternatively, for IP-based activation, run:<\/strong><br>sh cldeploy -i<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\"><strong>Reboot your server to apply modifications:<\/strong><br>reboot<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Install Required Packages<\/strong>:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\"><strong>Run the following commands as root to install alt-nodejs and alt-python on CloudLinux:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">yum groupinstall alt-python alt-nodejs -y<\/li>\n\n\n\n<li style=\"font-size:18px\">yum install lvemanager lve-utils cagefs alt-python-virtualenv ea-apache24-mod-passenger -y<\/li>\n<\/ul>\n\n\n\n<ul style=\"font-size:18px\" class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\"><strong>After installation, restart the cPanel service and update CageFS.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">cagefsctl &#8211;force-update<\/li>\n\n\n\n<li class=\"has-ast-global-color-5-background-color has-background\" style=\"font-size:18px\">\/usr\/local\/cpanel\/scripts\/restartsrv_cpsrvd<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Enable Python &amp; Node.js Selector in WHM<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">1. Log in to <strong>WHM<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img fetchpriority=\"high\" decoding=\"async\" width=\"392\" height=\"323\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png\" alt=\"WHM root login screen with username and password fields\n\n\" class=\"wp-image-9322\" style=\"border-width:1px;object-fit:cover\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png 392w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/WHM-login-screen-300x247.png 300w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">2. Go to <strong>CloudLinux Manager.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" width=\"526\" height=\"176\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/CloudLinux-manager.png\" alt=\"WHM search bar showing CloudLinux Manager tool under Server Configuration\n\n\" class=\"wp-image-9328\" style=\"border-width:1px;object-fit:cover\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/CloudLinux-manager.png 526w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/CloudLinux-manager-300x100.png 300w\" sizes=\"(max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"521\" height=\"796\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/Cloudlinux-dashboard-1.png\" alt=\"CloudLinux Manager dashboard showing Node.js and Ruby selector status with user limits\n\n\" class=\"wp-image-9353\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/Cloudlinux-dashboard-1.png 521w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/Cloudlinux-dashboard-1-196x300.png 196w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">3. Open the <strong>Options<\/strong> tab.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-1\"><img loading=\"lazy\" decoding=\"async\" width=\"260\" height=\"702\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/Enable-Node.js.png\" alt=\"Node.js selector enabled and Python selector disabled with Manage button highlighted in WHM\n\n\" class=\"wp-image-9368\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/Enable-Node.js.png 260w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/Enable-Node.js-111x300.png 111w\" sizes=\"(max-width: 260px) 100vw, 260px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">4. Enable:<br><strong>Python Selector<br>Node.js Selector<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/List-of-install-python-version-1024x632.png\" alt=\"CloudLinux Python Selector panel listing available Python versions and toggle switches to enable them\n\n\" class=\"wp-image-9336\" style=\"width:800px\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-python-version-1024x632.png 1024w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-python-version-300x185.png 300w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-python-version-768x474.png 768w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-python-version.png 1297w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" src=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/List-of-install-Node.js-version-Copy-1024x608.png\" alt=\"CloudLinux Node.js Selector panel with multiple Node.js versions and enable toggles in WHM\n\n\" class=\"wp-image-9335\" style=\"width:800px\" srcset=\"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-Node.js-version-Copy-1024x608.png 1024w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-Node.js-version-Copy-300x178.png 300w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-Node.js-version-Copy-768x456.png 768w, https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2025\/07\/List-of-install-Node.js-version-Copy.png 1311w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Enable Passenger for Node.js Apps (Optional)<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">WHM &gt; EasyApache 4<\/li>\n\n\n\n<li style=\"font-size:18px\">Enable <strong>mod_alt_passenger<\/strong><\/li>\n\n\n\n<li style=\"font-size:18px\">Save and rebuild the profile.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Assign Versions to Users (CLI)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">To use the command line to set a certain version of Python or Node.js for a user,&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>cl-selector &#8211;select python &#8211;version 3.9 &#8211;user yourusername<\/strong><\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>cl-selector &#8211;select nodejs &#8211;version 18 &#8211;user yourusername<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>User Setup via cPanel<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\"><strong>Python App<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">cPanel \u2192 Software \u2192 Setup Python App<\/li>\n\n\n\n<li style=\"font-size:18px\">Select a version (e.g., Python 3.10)<\/li>\n\n\n\n<li style=\"font-size:18px\">Create a virtual environment<\/li>\n\n\n\n<li style=\"font-size:18px\">Install dependencies<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\"><strong>Node.js App<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">cPanel \u2192 Software \u2192 Setup Node.js App<\/li>\n\n\n\n<li style=\"font-size:18px\">Select the version (example: Node.js 18)<\/li>\n\n\n\n<li style=\"font-size:18px\">Set app directory (e.g., \/home\/user\/app)<\/li>\n\n\n\n<li style=\"font-size:18px\">Set entry file (e.g., server.js)<\/li>\n\n\n\n<li style=\"font-size:18px\">As needed, run <strong>npm install<\/strong>.<\/li>\n<\/ul>\n\n\n\n<section style=\"background: linear-gradient(135deg, #f6f2ff, #f4edff); border-left: 6px solid #6C4CE2; padding: 15px 30px; border-radius: 16px; color: #3c2a71; font-family: Arial, sans-serif; max-width: 900px; margin: 40px 0; box-shadow: 0 8px 20px rgba(108, 76, 226, 0.06); text-align: left; font-size: 18px; line-height: 1.7;\">\n  <h2 style=\"font-size: 26px; margin-bottom: 20px; font-weight: bold; color: #6C4CE2;\">\ud83d\udd27 Troubleshooting Tips<\/h2>\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 0; line-height: 2; color: #4a3e8c;\">\n    <li style=\"position: relative; margin-bottom: 18px; padding-left: 28px;\">\n      <span style=\"position: absolute; left: 0; top: 8px; width: 14px; height: 14px; background-color: #6C4CE2; border-radius: 50%;\"><\/span>\n      <strong>Selector Not Available?<\/strong> If the <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Node.js selector<\/span> or <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Python selector<\/span> is not visible in your <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">CloudLinux WHM<\/span>, try remounting <span style=\"background-color:#f3d3f7; color:#C557EC; padding: 2px 6px; border-radius: 5px;\">CageFS<\/span> with <code>cagefsctl --remount-all<\/code> and update the <code>lvemanager<\/code> package.\n    <\/li>\n    <li style=\"position: relative; margin-bottom: 18px; padding-left: 28px;\">\n      <span style=\"position: absolute; left: 0; top: 8px; width: 14px; height: 14px; background-color: #6C4CE2; border-radius: 50%;\"><\/span>\n      <strong>Node.js Not Showing in cPanel?<\/strong> Verify that <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Node.js packages<\/span> are properly provisioned in <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">EasyApache 4<\/span>, then restart Apache.\n    <\/li>\n    <li style=\"position: relative; margin-bottom: 18px; padding-left: 28px;\">\n      <span style=\"position: absolute; left: 0; top: 8px; width: 14px; height: 14px; background-color: #6C4CE2; border-radius: 50%;\"><\/span>\n      <strong>App Not Starting?<\/strong> Check the <code>passenger.log<\/code> file in your virtual environment for errors to diagnose <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Node.js<\/span> or <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Python application<\/span> startup issues.\n    <\/li>\n    <li style=\"position: relative; margin-bottom: 18px; padding-left: 28px;\">\n      <span style=\"position: absolute; left: 0; top: 8px; width: 14px; height: 14px; background-color: #6C4CE2; border-radius: 50%;\"><\/span>\n      <strong>npm Install Fails?<\/strong> Increase the <span style=\"background-color:#f3d3f7; color:#C557EC; padding: 2px 6px; border-radius: 5px;\">maximum process memory<\/span> limit in WHM\u2019s Tweak Settings to ensure sufficient resources for your <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Node.js app<\/span>.\n    <\/li>\n    <li style=\"position: relative; padding-left: 28px;\">\n      <span style=\"position: absolute; left: 0; top: 8px; width: 14px; height: 14px; background-color: #6C4CE2; border-radius: 50%;\"><\/span>\n      <strong>Incorrect Python Version?<\/strong> Use <code>cl-selector --select python --version X.X --user USERNAME<\/code> to confirm the correct <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">Python version<\/span> is assigned in <span style=\"background-color:#d6c9ff; color:#6C4CE2; padding: 2px 6px; border-radius: 5px;\">CloudLinux WHM<\/span>.\n    <\/li>\n  <\/ul>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\"><strong>Final Tips<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Use the LTS versions of Node.js and Python<\/li>\n\n\n\n<li style=\"font-size:18px\">Run the application in an isolated setting using CageFS<\/li>\n\n\n\n<li style=\"font-size:18px\">Restart apps after changes<\/li>\n\n\n\n<li style=\"font-size:18px\">Keep packages updated<\/li>\n<\/ul>\n\n\n\n<div style=\"background: linear-gradient(135deg, #f6f2ff, #f4edff); border-left: 6px solid #6C4CE2; padding: 24px 28px; border-radius: 16px; color: #3c2a71; font-family: Arial, sans-serif; max-width: 800px; margin: 40px 0; box-shadow: 0 8px 20px rgba(108, 76, 226, 0.06); text-align: left;\">\n  <h2 style=\"font-size: 25px; margin-bottom: 14px; font-weight: bold; color: #6C4CE2;\">\ud83d\ude80 Why Choose BigCloudy&#8217;s CloudLinux Hosting<\/h2>\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 22px; line-height: 2;\">\n    <li>\u2705 Seamless Node.js &#038; Python version switching<\/li>\n    <li>\u2705 CageFS for secure and isolated environments<\/li>\n    <li>\u2705 WHM, EasyApache &#038; LVE fully integrated<\/li>\n    <li>\u2705 SSD VPS with 24\/7 expert support<\/li>\n    <li>\u2705 Free website migration included<\/li>\n  <\/ul>\n  <a href=\"https:\/\/www.bigcloudy.in\/cpanel-vps-hosting\" target=\"_blank\" style=\"background-color: #6C4CE2; color: #ffffff; font-weight: bold; text-decoration: none; padding: 12px 22px; border-radius: 40px; display: inline-block; font-size: 18px;\">\n    \ud83c\udf10 Explore VPS Plans Now \u00bb\n  <\/a>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:18px\">CloudLinux with WHM makes it easy, safe, and scalable to manage multiple Node.js and Python environments on shared and VPS hosting servers. This powerful combination ensures seamless version control, enhanced security, and optimal performance for web developers and hosting providers managing diverse application stacks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Managing multiple app environments, such as Node.js and Python, may be difficult\u2014especially without the right tools. This guide explains how to enable Node.js in WHM, install the Python selector on a WHM server, and set up Node.js and Python apps in cPanel hosting. If you&#8217;re using CloudLinux VPS hosting, this guide makes version control easier for developers. \ud83d\udca1 Need Node.js hosting that just works? With BigCloudy&#8217;s CloudLinux-powered VPS, you get Node.js version selectors pre-configured, WHM ready, and secure environments from day one.Explore Node.js Hosting Plans\u2192 What You Need Before Starting Install and Activate CloudLinux License Download the CloudLinux installer:wget https:\/\/repo.cloudlinux.com\/cloudlinux\/sources\/cln\/cldeploy Run the installer with your license key:sh cldeploy -k YOUR_LICENSE_KEY Replace YOUR_LICENSE_KEY with your real CloudLinux license key.Alternatively, for IP-based activation, run:sh cldeploy -i Reboot your server to apply modifications:reboot Install Required Packages: Run the following commands as root to install alt-nodejs and alt-python on CloudLinux: After installation, restart the cPanel service and update CageFS. Enable Python &amp; Node.js Selector in WHM 1. Log in to WHM 2. Go to CloudLinux Manager. 3. Open the Options tab. 4. Enable:Python SelectorNode.js Selector Enable Passenger for Node.js Apps (Optional) Assign Versions to Users (CLI) To use the command line to set a certain version of Python or Node.js for a user,&nbsp; User Setup via cPanel Python App Node.js App \ud83d\udd27 Troubleshooting Tips Selector Not Available? If the Node.js selector or Python selector is not visible in your CloudLinux WHM, try remounting CageFS with cagefsctl &#8211;remount-all and update the lvemanager package. Node.js Not Showing in cPanel? Verify that Node.js packages are properly provisioned in EasyApache 4, then restart Apache. App Not Starting? Check the passenger.log file in your virtual environment for errors to diagnose Node.js or Python application startup issues. npm Install Fails? Increase the maximum process memory limit in WHM\u2019s Tweak Settings to ensure sufficient resources for your Node.js app. Incorrect Python Version? Use cl-selector &#8211;select python &#8211;version X.X &#8211;user USERNAME to confirm the correct Python version is assigned in CloudLinux WHM. Final Tips \ud83d\ude80 Why Choose BigCloudy&#8217;s CloudLinux Hosting \u2705 Seamless Node.js &#038; Python version switching \u2705 CageFS for secure and isolated environments \u2705 WHM, EasyApache &#038; LVE fully integrated \u2705 SSD VPS with 24\/7 expert support \u2705 Free website migration included \ud83c\udf10 Explore VPS Plans Now \u00bb CloudLinux with WHM makes it easy, safe, and scalable to manage multiple Node.js and Python environments on shared and VPS hosting servers. This powerful combination ensures seamless version control, enhanced security, and optimal performance for web developers and hosting providers managing diverse application stacks.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","footnotes":""},"categories":[1],"tags":[],"class_list":["post-9307","post","type-post","status-publish","format-standard","hentry","category-uncategorized","no-post-thumbnail"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.7 (Yoast SEO v26.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Manage Node.js and Python Versions with CloudLinux via WHM - CloudHostGeek Help Center<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Manage Node.js and Python Versions with CloudLinux via WHM\" \/>\n<meta property=\"og:description\" content=\"Managing multiple app environments, such as Node.js and Python, may be difficult\u2014especially without the right tools. This guide explains how to enable Node.js in WHM, install the Python selector on a WHM server, and set up Node.js and Python apps in cPanel hosting. If you&#8217;re using CloudLinux VPS hosting, this guide makes version control easier for developers. \ud83d\udca1 Need Node.js hosting that just works? With BigCloudy&#8217;s CloudLinux-powered VPS, you get Node.js version selectors pre-configured, WHM ready, and secure environments from day one.Explore Node.js Hosting Plans\u2192 What You Need Before Starting Install and Activate CloudLinux License Download the CloudLinux installer:wget https:\/\/repo.cloudlinux.com\/cloudlinux\/sources\/cln\/cldeploy Run the installer with your license key:sh cldeploy -k YOUR_LICENSE_KEY Replace YOUR_LICENSE_KEY with your real CloudLinux license key.Alternatively, for IP-based activation, run:sh cldeploy -i Reboot your server to apply modifications:reboot Install Required Packages: Run the following commands as root to install alt-nodejs and alt-python on CloudLinux: After installation, restart the cPanel service and update CageFS. Enable Python &amp; Node.js Selector in WHM 1. Log in to WHM 2. Go to CloudLinux Manager. 3. Open the Options tab. 4. Enable:Python SelectorNode.js Selector Enable Passenger for Node.js Apps (Optional) Assign Versions to Users (CLI) To use the command line to set a certain version of Python or Node.js for a user,&nbsp; User Setup via cPanel Python App Node.js App \ud83d\udd27 Troubleshooting Tips Selector Not Available? If the Node.js selector or Python selector is not visible in your CloudLinux WHM, try remounting CageFS with cagefsctl --remount-all and update the lvemanager package. Node.js Not Showing in cPanel? Verify that Node.js packages are properly provisioned in EasyApache 4, then restart Apache. App Not Starting? Check the passenger.log file in your virtual environment for errors to diagnose Node.js or Python application startup issues. npm Install Fails? Increase the maximum process memory limit in WHM\u2019s Tweak Settings to ensure sufficient resources for your Node.js app. Incorrect Python Version? Use cl-selector --select python --version X.X --user USERNAME to confirm the correct Python version is assigned in CloudLinux WHM. Final Tips \ud83d\ude80 Why Choose BigCloudy&#8217;s CloudLinux Hosting \u2705 Seamless Node.js &#038; Python version switching \u2705 CageFS for secure and isolated environments \u2705 WHM, EasyApache &#038; LVE fully integrated \u2705 SSD VPS with 24\/7 expert support \u2705 Free website migration included \ud83c\udf10 Explore VPS Plans Now \u00bb CloudLinux with WHM makes it easy, safe, and scalable to manage multiple Node.js and Python environments on shared and VPS hosting servers. This powerful combination ensures seamless version control, enhanced security, and optimal performance for web developers and hosting providers managing diverse application stacks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/\" \/>\n<meta property=\"og:site_name\" content=\"CloudHostGeek Help Center\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BigCloudyHosting\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-05T10:43:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bigcloudypvtltd\" \/>\n<meta name=\"twitter:site\" content=\"@bigcloudypvtltd\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Manage Node.js and Python Versions with CloudLinux via WHM - CloudHostGeek Help Center","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/","og_locale":"en_US","og_type":"article","og_title":"Manage Node.js and Python Versions with CloudLinux via WHM","og_description":"Managing multiple app environments, such as Node.js and Python, may be difficult\u2014especially without the right tools. This guide explains how to enable Node.js in WHM, install the Python selector on a WHM server, and set up Node.js and Python apps in cPanel hosting. If you&#8217;re using CloudLinux VPS hosting, this guide makes version control easier for developers. \ud83d\udca1 Need Node.js hosting that just works? With BigCloudy&#8217;s CloudLinux-powered VPS, you get Node.js version selectors pre-configured, WHM ready, and secure environments from day one.Explore Node.js Hosting Plans\u2192 What You Need Before Starting Install and Activate CloudLinux License Download the CloudLinux installer:wget https:\/\/repo.cloudlinux.com\/cloudlinux\/sources\/cln\/cldeploy Run the installer with your license key:sh cldeploy -k YOUR_LICENSE_KEY Replace YOUR_LICENSE_KEY with your real CloudLinux license key.Alternatively, for IP-based activation, run:sh cldeploy -i Reboot your server to apply modifications:reboot Install Required Packages: Run the following commands as root to install alt-nodejs and alt-python on CloudLinux: After installation, restart the cPanel service and update CageFS. Enable Python &amp; Node.js Selector in WHM 1. Log in to WHM 2. Go to CloudLinux Manager. 3. Open the Options tab. 4. Enable:Python SelectorNode.js Selector Enable Passenger for Node.js Apps (Optional) Assign Versions to Users (CLI) To use the command line to set a certain version of Python or Node.js for a user,&nbsp; User Setup via cPanel Python App Node.js App \ud83d\udd27 Troubleshooting Tips Selector Not Available? If the Node.js selector or Python selector is not visible in your CloudLinux WHM, try remounting CageFS with cagefsctl --remount-all and update the lvemanager package. Node.js Not Showing in cPanel? Verify that Node.js packages are properly provisioned in EasyApache 4, then restart Apache. App Not Starting? Check the passenger.log file in your virtual environment for errors to diagnose Node.js or Python application startup issues. npm Install Fails? Increase the maximum process memory limit in WHM\u2019s Tweak Settings to ensure sufficient resources for your Node.js app. Incorrect Python Version? Use cl-selector --select python --version X.X --user USERNAME to confirm the correct Python version is assigned in CloudLinux WHM. Final Tips \ud83d\ude80 Why Choose BigCloudy&#8217;s CloudLinux Hosting \u2705 Seamless Node.js &#038; Python version switching \u2705 CageFS for secure and isolated environments \u2705 WHM, EasyApache &#038; LVE fully integrated \u2705 SSD VPS with 24\/7 expert support \u2705 Free website migration included \ud83c\udf10 Explore VPS Plans Now \u00bb CloudLinux with WHM makes it easy, safe, and scalable to manage multiple Node.js and Python environments on shared and VPS hosting servers. This powerful combination ensures seamless version control, enhanced security, and optimal performance for web developers and hosting providers managing diverse application stacks.","og_url":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/","og_site_name":"CloudHostGeek Help Center","article_publisher":"https:\/\/www.facebook.com\/BigCloudyHosting\/","article_published_time":"2025-11-05T10:43:03+00:00","og_image":[{"url":"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png","type":"","width":"","height":""}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@bigcloudypvtltd","twitter_site":"@bigcloudypvtltd","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#article","isPartOf":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/"},"author":{"name":"admin","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#\/schema\/person\/378209d3259734d846716786afbc52b0"},"headline":"Manage Node.js and Python Versions with CloudLinux via WHM","datePublished":"2025-11-05T10:43:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/"},"wordCount":581,"commentCount":0,"publisher":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#organization"},"image":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#primaryimage"},"thumbnailUrl":"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/","url":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/","name":"Manage Node.js and Python Versions with CloudLinux via WHM - CloudHostGeek Help Center","isPartOf":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#primaryimage"},"image":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#primaryimage"},"thumbnailUrl":"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png","datePublished":"2025-11-05T10:43:03+00:00","breadcrumb":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#primaryimage","url":"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png","contentUrl":"https:\/\/kb.cloudhostgeek.com\/wp-content\/uploads\/2025\/07\/WHM-login-screen.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/manage-node-js-and-python-versions-with-cloudlinux-via-whm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bigcloudy.com\/knowledge-base\/"},{"@type":"ListItem","position":2,"name":"Manage Node.js and Python Versions with CloudLinux via WHM"}]},{"@type":"WebSite","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#website","url":"https:\/\/www.bigcloudy.com\/knowledge-base\/","name":"https:\/\/www.bigcloudy.com\/","description":"Your step-by-step guide to hosting, servers &amp; website tools.","publisher":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bigcloudy.com\/knowledge-base\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#organization","name":"BigCloudy internt services pvt ltd.","url":"https:\/\/www.bigcloudy.com\/knowledge-base\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#\/schema\/logo\/image\/","url":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2024\/09\/cropped-BGC_logo.webp","contentUrl":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-content\/uploads\/2024\/09\/cropped-BGC_logo.webp","width":368,"height":114,"caption":"BigCloudy internt services pvt ltd."},"image":{"@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/BigCloudyHosting\/","https:\/\/x.com\/bigcloudypvtltd","https:\/\/www.instagram.com\/bigcloudypvtltd\/"]},{"@type":"Person","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#\/schema\/person\/378209d3259734d846716786afbc52b0","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bigcloudy.com\/knowledge-base\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/42ea90e921e5926f1db3403e79195ea7c0e898504fd43555e6099a85c9c91443?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/42ea90e921e5926f1db3403e79195ea7c0e898504fd43555e6099a85c9c91443?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/kb.cloudhostgeek.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/posts\/9307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/comments?post=9307"}],"version-history":[{"count":0,"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/posts\/9307\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/media?parent=9307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/categories?post=9307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bigcloudy.com\/knowledge-base\/wp-json\/wp\/v2\/tags?post=9307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}