NodeJS install error on new installed FreePBX

Hi all, I’ve installed freepbx 14 on AWS EC2 , but by every update or action such an installing commercial module, there is an error with NodeJS that said me, that I need node 8.0.0 or greater. I installed node
13.12.0 but the error still.
Can anyone help me Why? Thanks

Can you please paste (or link to a pastebin) the exact error you’re seeing, so that we can better help you?

Thanks @jsmith for your answer. Here is a snapshot from Upgrade freePBX version from 14 to 15 page in GUI =>

while I’ve installed NodeJS 13.12.0, and if I run command

node -v

at ssh terminal, it replies
v13.12.0

  1. How did you install this? If it is not the distro ISO, then you don’t get commercial modules.
  2. Don’t update things outside of the standard yum updates and just expect it to work.

I think this issue is about login user, because I login in AWS instant with admin user and if I run
node -v
the response is
-bash: node: command not found

and if I change user to su, than the response is
v13.12.0

I’m confusing about that. Can you help me?

Hi @sorvani,

  1. No It’s not Distro ISO because I could not make an image. I’ve installed freepbx14 and Asterisk 16 using (apt-get, wget, … ) on Debian 8.
  2. Do you mean that it can not upgrade in FreePBX GUI?

su (switch user) is often used to get root but the binary ‘node’ needs to be executable by the asterisk user, so as root

ls -l $(which node)

will show its permissions

and to use su to check if the asterisk user can use it

su asterisk -c "echo $PATH"

will reveal if node is in the PATH

(and no, you can upgrade FreePBX to 15 sans any commercial modules including sysadmin, quite happily on Debian 8 through 10)

Thanks @dicko,

The following lines shows the results on my instance but I don’t know exactly what those mean

admin@ip-172-31-39-111:~$ ls -l $(which node)
total 4
-rw-r–r-- 1 root root 218 Mar 31 21:15 freepbx.service
admin@ip-172-31-39-111:~$ su asterisk -c “echo $PATH”
Password:
su: Authentication failure
admin@ip-172-31-39-111:~$

Can you tell me about it?

admin is NOT root, you need to switch user to root to do root level stuff

Thanks @dicko for your rapid answer.
I switched to root user and repeated the commands

admin@ip-172-31-39-111:~$ su
Password:
root@ip-172-31-39-111:/home/admin#
root@ip-172-31-39-111:/home/admin#
root@ip-172-31-39-111:/home/admin# ls -l $(which node)
-rwxr-xr-x 1 asterisk asterisk 73559112 Mar 26 19:32 /root/.nvm/versions/node/v13.12.0/bin/node
root@ip-172-31-39-111:/home/admin# su asterisk -c “echo $PATH”
/root/.nvm/versions/node/v13.12.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@ip-172-31-39-111:/home/admin#

Now, what I should be getting from this?

Chaeck that the asterisk user can actually see and use node there, try it

su asterisk -c “node -v”

but because it in a location that asterisk doesn’t have access to “/root/. / . /” it might fail.

That is a very strange location for node installed from a repo, how did you install it?

Thanks @dicko,

I’ve tried to create a new instance on AWS EC2 and install a new clean copy of FreePBX with exactly following the instructions from the following link

https://wiki.freepbx.org/display/FOP/Installing+FreePBX+14+on+CentOS+7

and every things went fine without any error except with last instruction, and here is what system says

[root@ip-172-31-41-204 freepbx]# ./start_asterisk start

STARTING ASTERISK
Asterisk Started
[root@ip-172-31-41-204 freepbx]#
[root@ip-172-31-41-204 freepbx]# ./install -n
Assuming you are Database Root
Checking if SELinux is enabled…Its not (good)!
Reading /etc/asterisk/asterisk.conf…Done
Checking if Asterisk is running and we can talk to it as the ‘asterisk’ user…Error!
Error communicating with Asterisk. Ensure that Asterisk is properly installed and running as the asterisk user
Asterisk appears to be running as asterisk
Try starting Asterisk with the ‘./start_asterisk start’ command in this directory
[root@ip-172-31-41-204 freepbx]#

I don’t know, where is my mistake?

Did you

Try starting Asterisk with the ‘./start_asterisk start’ command in this directory

?

yes @dicko,

the command was shown as follows

[root@ip-172-31-41-204 freepbx]# ./start_asterisk start

STARTING ASTERISK
Asterisk Started
[root@ip-172-31-41-204 freepbx]#

Then you would

./install -n

again.

I must describe that after I launch CentOS instance on EC2 and connect to the instance through Putty,
I logged in as “centos” user , but because it should be execute installation as root user, I switched user to root with

sudo su

command and set a password for root user with

passwd root

and continue all subsequent instruction as root user.

Additionally I’ve tried again the instruction

./install -n

but the result does not changed and I got exactly the same error.

I would suggest you start off over, but this time be root from step two onward (step one is to switch user to root)

Thank you @dicko for your answers.
Can you please describe a bit detailed?

Thanks in advanced

Plan A)

Throw that AWS instance away

Make a new one

Log into it

change user to root

Install Asterisk/FreePBX et al again.

but much easier . .

Plan B)

Don’t use AWS, use a $5/mo vultr instance

Upload a Distro ISO

Boot from it.

Thanks @dicko,
I try it :pray: