Little adjustments for How to Install FreePBX 15 on Debian 10 with Asterisk 16, PHP 7.3

Version 11 was recommended in the Debian 9 install guide for FreePBX 15.

On a FreePBX 15 Distro server, I see:

# node -v
v8.11.3

And a FreePBX 15 / CentOS 8 guide installs version 12. (https://wiki.freepbx.org/display/FDT/[How-to]+Install+FreePBX+15+on+CentOS+8)

So it looks like the software is not closely tied to any version, though it would be nice to know minimum requirements for nodejs version, which I am not able to find right now.

Thanks for the answer.
For the moment, everything is OK with this version.
Perhaps a freepbx developper can give us the information?

I’ll give it another run. Install would not complete when I tried before, so something has changed in either node or freepbx.

Is the UCP node server running for you? Mine is flamed after following the wiki with the only change being node v12 vs v11. This was the same problem I had earlier.

The node-mariasql build fails, and node-mariasql is EOL.

@billsimon have you had v12 success?

I will confirm that, at least for me,node V11 works fine but V12 breaks UCP daemon (or perhaps more likely UCP breaks V12)

No. I just went through it and confirm what you and dicko are reporting. v12 will not build the obsolete mariasql module, and thus the UCP daemon will not run.

Thanks for the confirmation @billsimon & @dicko. At least I know it’s not a personal problem (have enough of those already).

One year left for v10 LTS (ends 4/30/21). Hope we don’t end up in the same situation as PHP.

1 Like

Yes problem with ucp and nodejs v12

If version 11 is not required, I would find it preferable to use Node from the Buster repo, which is version 10. Thoughts on that?

The distro v10 seems to work OK here.

Only tweak to my install script for using the distro is adding npm:

install_nodejs() {
  if [ "$nodeInstall" = "NODESOURCE" ]; then
    apt-get -y install curl
    curl -sL https://deb.nodesource.com/setup_${nodeVersion}.x | bash - &&
    apt-get -y install nodejs
  elif [ "$nodeInstall" = "DISTRO" ]; then
    apt-get -y install nodejs npm
  fi
}

With nodejs 11, I got many error messages when installing pm2 module

Installing pm2…
Installing/Updating Required Libraries. This may take a while…The following messages are ONLY FOR DEBUGGING. Ignore anything that says ‘WARN’ or is just a warning
npm WARN deprecated [email protected]: Package no longer supported. Contact [email protected] for more info.
Installed npm-cache v0.7.0
Running installation…
[npm-cache] [INFO] using /var/lib/asterisk/.package_cache as cache directory
[npm-cache] [INFO] creating cache directory
[npm-cache] [INFO] [composer] Dependency config file /var/www/html/admin/modules/pm2/node/composer.json does not exist. Skipping install
[npm-cache] [INFO] [npm] config file exists
[npm-cache] [INFO] [npm] cli exists
[npm-cache] [INFO] [npm] hash of /var/www/html/admin/modules/pm2/node/package.json: fa2348032788d5067b56972347177c79
[npm-cache] [INFO] [npm] running [npm install]…
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/abbrev):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/abbrev’ -> ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/.abbrev.DELETE’
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/ansi-regex):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/ansi-regex’ -> ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/.ansi-regex.DELETE’
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents/node_modules/aproba):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/aproba’ -> ‘/var/www/html/admin/modules/pm2/node/node_modules/fsevents/node_modules/.aproba.DELETE’ …

Similar warnings with v10 and v8. Sangoma has a lot of work to do if they want to eliminate the warnings.

But to be fair, npm says to Ignore anything that says 'WARN' or is just a warning.

Still, it would be comforting if they could address the high and critical vulnerability warnings.

@billsimon, @dicko - changing focus a little…

I’ve been building an audio only ffmpeg,

If I use he johnvansickle.com static build, I am getting the Missing HTML5 format converters message in the GUI. Do you see the same?

It appears but when I clean out the notifications table at the end, it doesn’t come back

I see the same as @dicko. With ffmpeg and sox installed I think all my bases are covered. I have not seen any problems playing back voicemail in UCP or converting sound files in the System Recordings module.

OK, I’ll have to decide if it’s worth the 3-4 minute build to avoid the nuisance.

More importantly, whether there’s something actually missing. The fact that a warning appears for my build but not for yours doesn’t make me happy, even though I don’t see any issues. There might be some use case that I haven’t hit. If you happen to figure that out, let us know. :slight_smile:

1 Like

I might take a look this weekend. I also want to look at what the true footprint of my build vs the static is. My ffmpeg w/library is smaller, but brings in more dependencies.

Looks like the johnvansickle.com static ffmpeg build won’t provide mp4 or m4a support to FreePBX.

In libraries/BMO/Media.class.php, FreePBX looks up browser supported formats and compares to what conversion utilities it can find on the system. If the browser supports m4a or mp4, FreepBX wants to find aac support in libraries/media/Media/Driver/Drivers/FfmpegShell.php.

The hasAAC function in libraries/media/Media/Driver/Drivers/FfmpegShell.php calls ffmpeg -version and greps for the string “enable-libfdk-aac”. The johnvansickle.com static ffmpeg is not built with --enable-libfdk-aac.

From ffmpeg -codecs, it looks like the static build gets aac from another lib. While the static build might technically be aac capable, FreePBX won’t use the static ffmpeg for m4a/mp4/aac.

But… Most browsers probably have another mutually supported codec available.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.