I need to setup a new FreePBX install. Is it best to use Rocky Linux 9.1 as the operating system or is there a better option?
Commercial Modules are only supported on the official Sangoma Distro: Download | FreePBX - Let Freedom Ring
However, if you don’t need commercial modules and want to install OSS FreePBX, consider following one of the guides in the FreePBX Wiki. I personally have Debian 11 + FreePBX16.
With that being said, if you specifically want to use Rocky Linux, it seems like getting FreePBX to work on Rocky Linux is quite a challenge.
Disclaimer; Rocky Linux is planned as the the future official FreePBX Distro. However, it does not seem like the alpha version has been made public yet.
Probably because like the IPBX project they are having way more issues with Rocky (and Alama) then anyone thought there would be.
I some what made it work. I don’t use commercial modules, so it is a simple case.
Freepbx’s “./install” shell script is somewhat delicate, whenever it get stuck, I have to remove all relevant folders and MySQL database (MariaDB I am using for my case) then start over again, that method seems pretty workable.
After the basic installation, I use Backup & Restore module to bring up my production environment in new server. As long as Freepbx is up on running, the operation on RL9 seems fairly stable. (so far)
If I find a spare time, I will upload the installation note.
FYI, below is the snippet of the installation note.
[FreePBX-Memo/FreePBX16-Asterisk18-RockyLinux9.md at main · domosute/FreePBX-Memo · GitHub]
Thankyou for this
Np, If I have a time, I may look closely what the script doing, but the script seem to go through multiple checks before the installation (checking asterisk to be running with asterisk user, that’s the primary one…) and fails if the requirement does not match. I have done multiple installing/removing sequences foreseeing future upgrade flow, but so far I feel the best way for the script not to get stuck is to remove any relevant files from the host including MySQL database and start over again.
It will be nice to have “uninstall” script to clean everything from the host to make the “./install” script happy, but at a moment, I can live with the manual cli process because once it is up, I won’t be upgrading so often without relevant purpose.
In my test environment, restoring all the profile from the production PBX is verified with using Backup and Restore module, (It is really good, robust module, I got to say) including trunk connection, and I verified physical phone provisioning as well, I would probably swap the host in a week or two.
Why are you even trying to do this ?
We are in the process of migrating whole CentOS 8 based hosts to Rocky Linux 9 LTS platform, I personally wish to stick with the platform closer to developper team will be using but that’s not possible in my situation…
By the way, do you know ideal nodejs version for FreePBX 16? my RL9 installed ver. 18.12.1, I see UCP Daemon error on the dashboard. (Though I don’t see issue on UCP functionality…) Maybe I have to lower the nodejs version I am thinking. My production PBX is using version 8.17.0 and it is not showing the error. (but it is quite old…)
I would use debian, no surprises there, if you want commercial modules, you will need to wait for godot . . . .
Ah, I finally figured out the UCP Daemon error. I was seeing error when I perform
fwconsole ma downloadinstall ucp, the script stopped with compilation error and it was due to the dependency module,
mariasql. As in the below link, the build failed if nodejs version is 12 or greater.
Apparently, this module is failing the build with newer nodejs version, and Rocky Linux 9 comes with version 18 as default, (as of 4/27/2023) and I could not install legacy nodejs version from dnf/yum repository. (I guess from the security perspective installing legacy software suite is prevented which is a good security practice, I agree…)
But the error needs to be eliminated. My solution is to install nodejs through node version manager,
n. (I tried
nvm but it didn’t work for me)
Detailed installation step is here, basically, set the installation directory
N_PREFIX followed by
sudo curl -L https://bit.ly/n-install | bash installation script.
But this was not the end yet. The compilation was very picky about the nodejs version and so far I confirmed nodejs version of 10.24.1 will safely compile the ucp module for my Rocky Linux 9 environment. The nodejs version 8, 9, and 11 were not successful… (
n node manager is quite convenient, just by issuing
n install <version number> bring up the relevant nodejs version)
So after setting the nodejs version to 10.24.1, and perform
fwconsole ma downloadinstall ucp followed by
fwconsole reload, UCP Daemon error in the dashboard was eliminated.
Just a side note, by looking at the dependency module,
mariasql, the code is not updated quite long time, it maybe a frozen project. Perhaps this dependency should be eliminated going forward… (If it is already discussed and proper action is taking place, please disregard my comment…)