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


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.


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${nodeVersion}.x | bash - &&
    apt-get -y install nodejs
  elif [ "$nodeInstall" = "DISTRO" ]; then
    apt-get -y install nodejs npm


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 nomnom@1.8.1: Package no longer supported. Contact 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 chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated mkdirp@0.5.1: 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 fsevents@1.2.12: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated resolve-url@0.2.1:
npm WARN deprecated urix@0.1.0: Please see
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 fsevents@1.2.12: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: abbrev@1.1.1 (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: ansi-regex@2.1.1 (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: aproba@1.2.0 (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 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:


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 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 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.

(system) closed #59

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