CloudLinux OS Blog

Node.js Selector is now in production!

Node.js Selector is now in production!

With JavaScript becoming more and more popular, it was only reasonable that a huge number of CloudLinux customers would demand Node.js hosting. And I am happy to announce that now we are moving Node.js Selector to production for all of our dear cPanel users!

Node.js Selector

 

A brand new Node.js Selector allows users to choose a specific version of Node.js in order to host their JavaScript apps using Node.js 6.x, 8.x, or 9.x. Node.js selector provides CloudLinux customers with ultimate flexibility and features a friendly user interface that will help new users to get acquainted with the Node.js selector faster.

Node.js Selector

 

Node.js Selector first beta had been introduced a month ago and we received a very positive feedback. Since the first beta, CloudLinux Team has fixed a whole bunch of bugs which made Node.js Selector even more reliable and responsive.

I’d absolutely love to hear your feedback on this new feature! If you have anything to share, please do not hesitate to send an email to This email address is being protected from spambots. You need JavaScript enabled to view it.

To find out more on how to operate Node.js Selector, please read this documentation article.

These packages also include the updates for Reseller Limits feature for DirectAdmin and Plesk. Watch out for more news we post if you don't want to miss it!

To update run:

yum update cagefs lvemanager lve-utils lve-stats

Changelog:

lvemanager 4.0-14.1

  • WEB-914: created a page “plugin is not available” for user’s side of Node.js Selector;
  • WEB-938: fixed an issue when PHP Selector does not work under admin user in Plesk;
  • WEB-962: fixed an "Error: Domain context is not initialized" trying to open LVE Manager when admin logged in as reseller on Plesk 17.8;
  • LU-711: investigated an error "Webapp is broken!" while installing npm packages from package.json file when user is outside CageFS;
  • WEB-960: fix for cases when Fields for setting period of notification become invisible in reseller LVE Manager plugin;
  • LU-720: fixed changing of Node.js version for application with a large number of dependencies;
  • LVEMAN-1262: Python Selector: fixed pip error "no such option: --allow-all-external";
  • LU-721: created migration script;
  • LU-688: cloudlinux-selector install-version does not fail when yum cache is empty;
  • WEB-952: corrected the display of the dialog window and notifications in IE11;
  • WEB-950: hid VMEM field after 'Reset limits to default', 'Do not limit' for user in reseller's LVE Manager plugin;
  • LU-716: moved npm and node wrappers to separate place and linking those to node virtual environment;
  • LU-707: moved activate script away from $PATH;
  • WEB-940: drop ulimit ib web before running cloudlinux-cli;
  • WEB-935: created a script to prepare environment for Node.js tests;
  • WEB-941: added an ability to specify domain when creating the application;
  • WEB-942: Node.js list is now visible in user interface if CageFS is not installed;
  • WEB-946: allowed empty application URL when creating or editing an application;
  • LU-697: fixed cloudlinux-selector output if user's main domain was changed;
  • WEB-892: refactored sorting of the table: separate columns by type of data;
  • WEB-926: added an ability to use non-acsii packages on DirectAdmin;
  • LVEMAN-1254: fixed a message for case when application is not responding via http;
  • LU-685: fixed relocating an application to the nested directory, part 2;
  • LU-653: fixed an issue when application creation is broken when some Node.js package is installed but Node.js itself is not;
  • LU-713: investigated and fixed unworkable Node.js applications with the current Node.js branch of LVE Manager;
  • WEB-862: Current tab > dash is showed instead of an empty string for cpu_mysql and io_mysql in table (admin side);
  • LU-700: fixed creating Node.js web application in additional domains of a user;
  • WEB-892: refactored sorting of the table: columns are separated by type of data;
  • WEB-881: fixed sorting by MEM and IO in table Top5 Users (Historical Usage tab);
  • WEB-909: changing of plugin URI is now made after changing of application root (fix);
  • LU-657: paths to users' applications are now processed correctly taking symlinks into account;
  • LU-691: make activate script idempotent;
  • WEB-919: fixed an issue when Edit button for Node.js applications stops responding when app_root is nested;
  • WEB-922: renamed “Select NodeJs Version” icon to “Setup Nodejs App” to provide more meaning;
  • WEB-921: changed a message for Node.js default version;
  • LU-692: Node.js Selector is now disabled by default;
  • WEB-918: a field startup-file is now not required in creating or editing of application;
  • WEB-925: fixed an issue with slow navigation in Plesk with CloudLinux LVE Manager extension;
  • WEB-916: a notification with major version number in path is now shown for entering to virtual environment;
  • LVEMAN-1246: fixed an error in pretrans scriplet while installing LVE Manager from ISO image;
  • LVEMAN-1248: set linksafe group to files inside CageFS;
  • WEB-902: it is now checked if application is saved after server error;
  • WEB-912: removed param version in cloudlinux-selector install-modules;
  • LU-669: implemented detection of config files for users' applications;
  • LVEMAN-1245: improved activate virtual environment for Node.js;
  • LU-674: fixed an issue when Yum process does not always work when cloudlinux-selector called from UI;
  • WEB-895: implemented run script window in user's interface;
  • WEB-900: implemented Npm install in User's Node.js Selector;
  • WEB-888: linked user's Node.js part with the real requests of cloudlinux-selector;
  • WEB-876: implemented configuration files edit at user Node.js Selector;
  • WEB-847: linked admin Node.js part with real requests of cloudlinux-selector;
  • WEB-870: cache status for uninstalled versions of Node.js is now processed and linked with UI;
  • CAG-797: mounted Node.js Selector config directory into CageFS;
  • LU-656: uninstalling Node.js version which is used by users' applications is now prevented;
  • WEB-865: implemented cloudlinux-cli-user wrapper;
  • WEB-873: made execution of user's requests via CageFS enter;
  • WEB-875: implemented environment edit at user Node.js Selector;
  • WEB-859: user's command for enter to virtual environment is now shown;
  • WEB-851: implemented editing page of application for Node.js plugin in End User UI LVE Manager (cPanel);
  • LVEMAN-1242: Node.js config is now cleaned when removing non existing applications;
  • LU-649, LU-647: added an ability to look up installed Node.js versions for user;
  • LVEMAN-1216: node-selector.json file is now updated safely;
  • LVEMAN-1226: Node.js application name is now detected properly;
  • LU-587, LU-621: implemented user's CLI for getting info about Node.js applications;
  • LU-642: changing version of an application to disabled version is now prevented. The same is true for application creating;
  • LU-640: cloudlinux-selector now works inside CageFS;
  • LVEMAN-1238: refactored nodeenv.py. Moved set_env_vars and activated to separate scripts;
  • LU-592: implemented running script in user's Node.js application environment;
  • LVEMAN-1229: added an ability to specify either full or major version for Node.js;
  • LU-619: implemented initial ability to install/uninstall Node.js version directly from cloudlinux-selector;
  • WEB-821: implemented applications list for Node.js plugin in End User UI LVE Manager (cPanel);
  • WEB-855: improved functionality while disabling|enabling Node.js Selector;
  • LU-618: ensured that Node.js application is workable after changing version or modules;
  • WEB-825: prepared a structure for Node.js plugin to End User UI LVE Manager (cPanel);
  • LU-590: implemented changing properties of user's Node.js application;
  • WEB-843: added functionality for Install, Enable or Disable Node.js version (admin part);
  • LU-588: implemented Start, Restart, Stop, Destroy for user's Node.js application;
  • WEB-848: fixes for Node.js branch - some functionality related to mysql-gov is missed (return reason of restriction and ability to unrestrict all);
  • LVEMAN-1206: implemented an ability to pass app_mode, startup_file and etc params to selectorctl while creating webapp;
  • LU-591: implemented installing modules for user's Node.js application;
  • LVEMAN-1201: ~/.cl.selector/node-selector.json is created or modified while creating user's webapp;
  • WEB-789: implemented UI for the Admin part of Node.js plugin;
  • LVEMAN-1204: implemented caching of Node.js modules;
  • LU-587: implemented user's CLI for getting info about Node.js applications;
  • LU-586: implemented user's CLI for creating Node.js application;
  • LU-602: cloudlinux-selector Node.js: implemented hiding UI icon based on config setting;
  • LU-581: initial support of Node.js for cloudlinux-selector;
  • WEB-897: request for reseller_with_active_limits statistics is now correct from the Users tab of LVE Mmanager plugin in Admin Gui;
  • WEB-850: added autotests to cover "Historical Usage" tab;
  • WEB-845: unlocked Reseller Limits features on DirectAdmin;
  • WEB-880: fixed Statistics layout for DirectAdmin;
  • WEB-860: Current usage > click on unrestrict button make unpause of autorefresh;
  • LVEMAN-1210: CRIU images are now recreated when changing PHP version, extensions or options;
  • LU-711: investigated an error "Webapp is broken!" while installing npm packages from package.json file when user is outside CageFS;
  • WEB-862: Current tab > Show dash instead of an empty string for cpu_mysql and io_mysql in table (admin side) (fix);
  • WEB-909: changing of plugin URI is now made after changing of application root (fix);
  • WEB-910: the number of attempts is limited when Node.js get updating status.

lve-utils 3.0-10

  • LU-714: fixed incorrect applying package limits on reseller;
  • LU-646: disabled CLI for user when Node.js Selector is disabled by admin;
  • LU-663: fixed an issue when request "cloudlinux-limits get --json --reseller-name=reseller" returns wrong JSON on DirectAdmin (fix --list-reseller-users);
  • LU-700: fixed creating Node.js web application in additional domains of user;
  • LU-710: restored Unicode check in LVE application;
  • LVES-883: skipped empty lines in StatsNotifier config;
  • LU-657: paths to users' applications are now processed correctly taking symlinks into account;
  • LU-658: added logrotate for /var/log/selectorctl.log file;
  • LU-694: fixed run-script traceback;
  • LU-669: implemented detection of config files for users' applications;
  • LU-677: cloudlinux-selector install-modules do not now require --version parameter;
  • LU-666, LU-668, LU-673: user friendly error messages are now displayed (cloudlinux-selector);
  • LU-672: fixed arg parser errors for --selector-status, --default-version, --supported-versions, --extensions options in cloudlinux-selector utility;
  • LU-656: uninstalling Node.js version which is used by users' applications is now prevented;
  • LU-648: implemented additional commands for managing Node.js versions;
  • LU-650: a user is now prohibited from using admin-only commands: "install-version" and "remove-version";
  • LU-645: refactored get_nodejs_users_info function from node_selector_lib.py and improved output;
  • LU-627: user and domain arguments are now optional in cloudlinux-selector;
  • LU-587, LU-621: implemented user's CLI for getting info about Node.js applications;
  • LVEMAN-1229: added an ability to specify either full or major version for Node.js (part2);
  • LU-640: cloudlinux-selector now works inside CageFS;
  • PTCLLIB-112: fixed traceback in safely_resolve_username_and_doc_root if user is absent;
  • LU-592: implemented running script in user's Node.js application environment;
  • LU-630: updated help for getcontrolpaneluserspackages for options --list-packages;
  • LVEMAN-1229: added an ability to specify either full or major version for Node.js;
  • LU-619: implemented initial ability to install/uninstall Node.js version directly from cloudlinux-selector;
  • LU-624: su to user is done when admin executes command from user's CLI;
  • LU-618: ensured that Node.js application is workable after changing version or modules;
  • LU-590: implemented changing properties of user's Node.js application;
  • LU-621: fixed JSON output of cloudlinux-selector's selector_enabled field according to spec;
  • LU-588: implemented Start, Restart, Stop, Destroy for user's Node.js application;
  • LVEMAN-1206: implemented an ability to pass app_mode, startup_file and etc params to selectorctl while creating webapp;
  • LU-591: implemented installing modules for user's Node.js application;
  • LVEMAN-1201: ~/.cl.selector/node-selector.json is created or modified while creating user's webapp;
  • LU-587: implemented user's CLI for getting info about Node.js applications;
  • LU-589: implemented reading/saving config files for Node.js user's application;
  • LU-586: implemented user's CLI for creating Node.js application;
  • LU-602: cloudlinux-selector Node.js: implement hiding UI icon based on config setting;
  • LU-581: initial support of Node.js for cloudlinux-selector;
  • LU-609: fixed a problem with setting limits on the same-named packages (Plesk);
  • LU-631: reseller lve-id is now kept to avoid issues with statistics on Plesk;
  • LU-612: use kernel implementation of lve_lvp_move;
  • LU-614: fixed identification of the owner of the package;
  • LU-638: improved cloudlinux-limits performance (part 1);
  • LU-663: fixed an issue when request "cloudlinux-limits get --json --reseller-name=reseller" returns wrong JSON on DirectAdmin;
  • LU-680: fixed an "error: Error code -3; pylve.lve_destroy" on Plesk and DirectAdmin.

alt-python27-cllib-1.4-5

  • LU-631: reseller lve-id is now kept to avoid issues with statistics on Plesk;
  • LVEMAN-1216: node-selector.json file is now updated safely;
  • LVEMAN-1210: CRIU images is now recreated when changing PHP version, extensions or options;
  • PTCLLIB-110: dropped users information cache, info is now taken directly from a panel;
  • LU-697: fixed cloudlinux-selector output if user's main domain was changed;
  • LVES-885: DirectAdmin admin accounts are now hidden in cloudlinux-top|statistics.

lve-stats-2.8-5

  • LVES-877: fixed TypeError in LVEReadSnaphot._process_data_aggregate when first "CPU" value is "N/A";
  • LVES-878: a fix for reseller Historical Usage request on Plesk;
  • LVES-861: hoster's period is now used to notify reseller about user's faults;
  • LVES-846: fixed reseller's name field in cl-top and cl-stats (Plesk);
  • LVES-886: fixed response of statistics for specified reseller's users in historical usage.

cagefs-6.1-16

  • CAG-794: added /var/run/nscd to /etc/cagefs/cagefs.mp by default;
  • CAG-795: added plesk-php72-fpm.service to "Before=" directive in cagefs.service;
  • CAG-793: PHP sessions is now cleaned in /tmp by default;
  • CAG-779: added an ability to exclude files from /etc directiory via /etc/cagefs/black.list;
  • CAG-791: added /etc/ssl and /etc/pki to CageFS skeleton;
  • LVEMAN-1251: fixed selector crash during applying global PHP ini settings with a lot of parameters and values specified in one string.

Topic: CloudLinux OS Blog , Tags: #NodeJS Selector, #lve-manager, #DirectAdmin, #Plesk,

3796 people viewed this

Comments (12)

 
by Guest - Azizul / Tuesday, 10 April 2018 18:36

That's great news. What is the installation command. Docs is not update yet it in showing the Testing one .
Thanks

That's great news. What is the installation command. Docs is not update yet it in showing the Testing one . Thanks
by Inga Vakulenko / Wednesday, 11 April 2018 09:03

Hi Azizul!
The update command provided just above the changelog, it is: yum update cagefs lvemanager lve-utils lve-stats
And thanks for pointing out, we've corrected the link to our documentation! You can check it here https://docs.cloudlinux.com/index.html?node_js_selector.html ;)

Hi Azizul! The update command provided just above the changelog, it is: yum update cagefs lvemanager lve-utils lve-stats And thanks for pointing out, we've corrected the link to our documentation! You can check it here https://docs.cloudlinux.com/index.html?node_js_selector.html ;)
by Guest - Ryan / Friday, 20 April 2018 22:26

If I'm using Apache without Passenger, will I now NEED to use Apache with mod-passenger? Or can I use passenger with nodejs and have Apache continue to function as-is?

If I'm using Apache without Passenger, will I now NEED to use Apache with mod-passenger? Or can I use passenger with nodejs and have Apache continue to function as-is?
by Alexandre Parubochyi / Monday, 23 April 2018 12:25

mod_passenger is an apache module and is required for NodeJS Selector to function. If you are not sure how to install NodeJS Selector, do not hesitate to contact our support by submitting a ticket at https://cloudlinux.zendesk.com

mod_passenger is an apache module and is required for NodeJS Selector to function. If you are not sure how to install NodeJS Selector, do not hesitate to contact our support by submitting a ticket at https://cloudlinux.zendesk.com
by Guest - Azizul / Wednesday, 25 April 2018 20:18

I installed Node.js but in the cpanel Node.js version is empty here is screenshot https://prnt.sc/ja4hgf https://prnt.sc/ja4hgf

I followed this tutorial https://docs.cloudlinux.com/index.html?installation.html


I installed Node.js but in the cpanel Node.js version is empty here is screenshot [img]https://prnt.sc/ja4hgf[/img] https://prnt.sc/ja4hgf I followed this tutorial https://docs.cloudlinux.com/index.html?installation.html
by Alexandre Parubochyi / Friday, 27 April 2018 14:55

Please make sure that the actual nodejs versions have been successfully installed (alt-nodejs6 alt-nodejs8 alt-nodejs9). If this doesn't solve the problem, please submit a ticket with us at https://cloudlinux.zendesk.com

Please make sure that the actual nodejs versions have been successfully installed (alt-nodejs6 alt-nodejs8 alt-nodejs9). If this doesn't solve the problem, please submit a ticket with us at https://cloudlinux.zendesk.com
by Guest - Reza / Thursday, 26 April 2018 19:01

Hello.
Is your brand new Node.js Selector safe for the server? I mean does cloudlinux protect the server against the Node.JS related attacks?
Thanks.

Hello. Is your brand new Node.js Selector safe for the server? I mean does cloudlinux protect the server against the Node.JS related attacks? Thanks.
by Guest - Alexandre / Friday, 27 April 2018 15:00

NodeJS applications work inside LVE so that their resources can be limited. In addition to it, you can install CageFS for better app isolation.

NodeJS applications work inside LVE so that their resources can be limited. In addition to it, you can install CageFS for better app isolation.
by Guest - Peter / Tuesday, 08 May 2018 13:46

I want to see this work together with Litespeed Webserver too

I want to see this work together with Litespeed Webserver too
by Guest - Alexandre / Thursday, 10 May 2018 10:08

We are working now with LiteSpeed on this subject

We are working now with LiteSpeed on this subject
by Guest - Node.js for DirectAdmin / Thursday, 17 May 2018 15:19

Is the Node.js Selector available for DirectAdmin control panels? If not, when will it be available?

Is the Node.js Selector available for DirectAdmin control panels? If not, when will it be available?
by Guest - Vladimir Marchuk / Thursday, 24 May 2018 10:25

Yes, Node.js selector available for DirectAdmin. You can install it according to the following article:
https://docs.cloudlinux.com/index.html?installation.html

Yes, Node.js selector available for DirectAdmin. You can install it according to the following article: https://docs.cloudlinux.com/index.html?installation.html

Leave your comment

Guest, Wednesday, 22 August 2018

Captcha Image