GOOD NEWS IncrediblePBX for CentOS7 Arrives

Status
Not open for further replies.

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
Serenity now! At long last, we're pleased to advise that Incredible PBX for CentOS 7 and SL 7 (64-bit) is up and running... reliably.





Ready for the Pioneers now. Just follow the original tutorial for the time being. Install script has been modified. Suggestions/comments are more than welcome.
 
Last edited:
  • Like
Reactions: krzykat

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
Serenity now! At long last, we're pleased to advise that Incredible PBX for CentOS 7 and SL 7 is up and running... reliably.


Ready for the Pioneers now. Just follow the original tutorial for the time being. Install script has been modified. Suggestions/comments are more than welcome.
Just installed this on a new empty Centos 7 32 bit VM.

Found 2 bugs.

Could you post this script to your github repo?

We should propose discuss and merge bug fixes on github , as it's far more structured and suitable than on a forum.
 
Last edited:

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
@chris_c_ : We're not yet using github for Incredible PBX. Let me know what the bugs are, and we'll be glad to address them. Thanks.
 

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@chris_c_ : We're not yet using github for Incredible PBX. Let me know what the bugs are, and we'll be glad to address them. Thanks.
1. The count logic is off so it gives the wrong state - it shows Asterisk UP and Fail2Ban UP when in fact both are DOWN.
I fixed it here, web page view of the shell code:
https://github.com/EspaceNetworks/IncrediblePBXCentOS7/blob/master/status7
or just download that one status7 file to your machine from this url:
https://github.com/EspaceNetworks/IncrediblePBXCentOS7/raw/master/status7
or get the whole set of files with this command:
git clone https://github.com/EspaceNetworks/IncrediblePBXCentOS7

2. This is probably one of the most annoying bugs. I just learned, Fedora hasn't yet begun to compile their EPEL repo for 32 bit architecture CentOS 7 !!! Therefore, the needed package, "epel-release", fails to install. Furthermore, this causes fail2ban to fail to be installed. This really needs to be fixed. See below for my elegant hack.

Side note: CentOS 32 bit, release Oct 13, 2015, has been out for 9.5 months now. Sheesh... I'd expected they'd turn on compilation to 32 bit intel targets on their build machine, about 9.0 months ago...
IMHO IPBX is best run on 32 bit CentOS 7 because memory efficiency is way higher for its needs than 64 bit, PBX VMs are 512MB, yet 64 bit processes take up to double the RAM for no particular benefit to a PBX which is not a high performance computing task needing ultimate 64 bit power, it's a low power, low hardware, low demand on memory bandwidth and IO speed, perfect usage for a 32 bit VM.

Back on subject.

Here is my elegant hack for the EPEL repo bug on long waited for CentOS 7 32 bi, as promised above..

$ wget https://dl.fedoraproject.com/pub/epel/epel-release-latest-7.noarch.rpm
This is because package epel-release is not available from the CentOS 7 32bit Extras repos due to CentOS 7 32 bit lagging behind (?!) CentOS 64 bit.
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm
$ nano /etc/yum.repos.d/epel.repo

Find and replace all occurrences of "$basearch" with "x86_64" on the lines with the URLs.
This is because EPEL packages are built architecture-independent so intel 64 bit packages will work on intel i386 32 bit architecture OS. The i386 subdirectory does not yet exist on EPEL but when it does, it'll symlink to the 64 bit subdirectory.
$ yum install -y fail2ban
Yum will pull fail2ban from the epel-release x86-64 bit folder, yet it is the same package same code and works the same on 32 bit machines.
Epel install bug and Fail2ban install bug solved...
 
Last edited:

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
1. The count logic is off so it gives the wrong state - it shows Asterisk UP and Fail2Ban UP when in fact both are DOWN.

2. This is probably one of the most annoying bugs. I just learned, Fedora hasn't yet begun to compile their EPEL repo for 32 bit architecture CentOS 7 !!!
1. Many thanks.
2. Very elegant. Works perfectly.
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
Pioneer Alert: There were a couple of wrinkles in early releases regarding the Travelin' Man 3 firewall implementation.

While the firewall was secure, you couldn't whitelist IP addresses or FQDNs using add-ip and add-fqdn. Here's the fix for the early adopters:
Code:
sed -i 's|/etc/iptables/rules.v4|/etc/sysconfig/iptables|' /root/add-ip
sed -i 's|/etc/iptables/rules.v4|/etc/sysconfig/iptables|' /root/add-fqdn
 

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
1. Many thanks.
2. Very elegant. Works perfectly.
Several more bugs found!
Some fixed.
The script as it was released fails to compile asterisk on centos 7 32 bit.
Trying to find out why now.
Possibly partly due to missing packages which failed to install.
The author of the script should improve it to catch critical errors and stop and show the error message!
Not just blow past them, and keep on going, starting and stopping the non existent asterisk, when for example the compile failed or a key package failed to install!
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
Several more bugs found!
Some fixed.
The script as it was released fails to compile asterisk on centos 7 32 bit.
Trying to find out why now.
Possibly partly due to missing packages which failed to install.
The author of the script should improve it to catch critical errors and stop and show the error message!
Not just blow past them, and keep on going, starting and stopping the non existent asterisk, when for example the compile failed or a key package failed to install!
You're correct. Our article tomorrow makes clear that this is a 64-bit install only and we have clarified that above as well... until we (or you) have time to find all of the missing pieces. As you have noted, that is no small feat. 32-bit is also going away. AFAIK they don't even manufacture 32-bit servers any more.
 
Last edited:

hecatae

resident hecatae
Joined
Feb 7, 2014
Messages
661
Reaction score
163
Location
Northampton, United Kingdom
You're correct. Our article tomorrow makes clear that this is a 64-bit install only and we have clarified that above as well... until we (or you) have time to find all of the missing pieces. As you have noted, that is no small feat. 32-bit is also going away. AFAIK they don't even manufacture 32-bit servers any more.
challenge accepted, I know a commercial piece of software that uses 64bit for the server portion, but 32bit for the pbx part, for exactly the reason @chris_c_ mentioned.
 
  • Like
Reactions: wardmundy

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
challenge accepted, I know a commercial piece of software that uses 64bit for the server portion, but 32bit for the pbx part, for exactly the reason @chris_c_ mentioned.
Your help will be appreciated!
While doing thru the list of dependencies, many of them seem unnecessary or maybe I just dont know.
Does anyone know why all the x11 stuff xwindows stuff is getting installed by the script? Xwindows fonts and GUI icons etc. IPBX is supposed to be a headless linux server controlled thru the web interface, not a remote linux desktop, right?
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
There are folks that use Incredible PBX for all sorts of additional functions. Let's focus on getting Asterisk working and not try to reengineer the entire product.
 
  • Like
Reactions: hecatae

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
I've added the full log, and the error log, and the list of missing packages, for the reading pleasure of the script authors, and the brave soul who has accepted the challenge to make this work on CentOS 7 32 bit.

As you can see in the logs, there are many compilation errors, probably due to the 189 missing packages out of a total of 1139 in yumlist.txt (16.6%), which causes menuselect to fail the compile, and other errors.

The 189 missing packages are gathered up in :
https://github.com/EspaceNetworks/IncrediblePBXCentOS7/blob/master/no-package-available.txt

...and scattered throughout log-full.txt
https://github.com/EspaceNetworks/IncrediblePBXCentOS7/raw/master/log-full.txt

Some common packages are surprisingly not found in neither centos, fedora epel, nor repoforge.

Some packages seem obscure, unused for the compile, and probably OK to omit at least to get asterisk to compile, such as the X11 x-windows stuff.

Why does asterisk need any audio hardware control packages to stream raw digital audio data over RTP over IP protocol?

Probably have to add one or more other repos to satisfy these 189 missing packages.

log-error.txt catches the errors that various binaries decided to send to stderr, not *all* errors, notably, the missing packages are missing from this error log.

https://github.com/EspaceNetworks/IncrediblePBXCentOS7/blob/master/log-error.txt

Suggestions and fixes welcomed.
 
Last edited:
  • Like
Reactions: hecatae

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
We use the same installer for CentOS 6 and 7 as well as 32-bit and 64-bit. That means some of the packages don't exist or aren't needed on various platforms. Just to repeat the obvious... everything works on CentOS 6, 32-bit and 64-bit. CentOS 7 works on 64-bit. The only issue reported is with Asterisk not compiling on CentOS, 32-bit. Let's focus on that for the time being IF anyone needs the 32-bit implementation on CentOS 7. FWIW: Anything installed with yum isn't the problem since yum resolves the 32-bit/64-bit issue. I suspect the problem lies in one of the packages installed with wget. The log in /root should tell you exactly what failed in the Asterisk install.
 
Last edited:
  • Like
Reactions: jerrm

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
To: Anyone that needs 32-bit, CentOS 7 for Incredible PBX

Please take the time to examine the install log and post the error messages from the Asterisk compile. Thanks.
 

hecatae

resident hecatae
Joined
Feb 7, 2014
Messages
661
Reaction score
163
Location
Northampton, United Kingdom
@chris_c_ this works on centos 7 32 bit http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+CentOS+7

asterisk installs perfectly using this wiki page, you will notice it does not use epel at all.
so it's either a development tool package missing, or something from additional required dependencies, is there a reason why there are specific packages chosen in the installing packages needed for Asterisk, would
Code:
yum -y groupinstall core base "Development Tools"
be a cleaner way to install the packages required?
 

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
To: Anyone that needs 32-bit, CentOS 7 for Incredible PBX

Please take the time to examine the install log and post the error messages from the Asterisk compile. Thanks.
The problem which halts the script had to do with the menuselect.menuopts.

As you know, this file is downloaded from incrediblepbx.com and unzipped.

It contains previously chosen menu options from the freepbx text option picker menu, which were saved and zipped and provided as the popular defaults so the user wouldnt have to pick from a million confusing technical module options on the freepbx menu.

The problem is that, the pre-chosen menu options, require certain packages, which the install script was unable to find and therefore unable to install, at least so far.

The missing 32 bit packages are surely out there on the internet somewhere.

So the script process came to a stop because of missing package required to build freepbx modules.

The challenge is obviously to determine which packages are missing, because freepbx only tells you the name of the module, not the names of the packages needed to build that module.

Here is the output of the list of modules FreePBX says it is unable to build: It comes from the end of this error log file : https://github.com/EspaceNetworks/IncrediblePBXCentOS7/raw/master/log-error.txt

The first one is probably missing the linux package jackaudio for CentOS 7 i686.

***********************************************************

The existing menuselect.makeopts file did not specify

that 'app_jack' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'cdr_radius' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'cdr_tds' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'cel_radius' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'cel_tds' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'chan_console' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'res_config_sqlite' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'test_named_lock' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************





***********************************************************

The existing menuselect.makeopts file did not specify

that 'test_res_pjsip_scheduler' should not be included. However, either some

dependencies for this module were not found or a

conflict exists.



Either run 'make menuselect' or remove the existing

menuselect.makeopts file to resolve this issue.

***********************************************************


make: *** [menuselect.makeopts] Error 255
 
Last edited:

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,327
Reaction score
2,705
@chris_c_ : Interesting. None of this should matter with the latest installer which automatically runs make menuselect and automatically exits. This should remove the inclusion of any module whose dependencies were not met. Are you sure you were running the latest installer??

As a footnote, I find it somewhat telling that neither Digital Ocean nor Vultr supports a 32-bit flavor of CentOS 7. That should tell you something as well. :death:

We've uploaded a new installer this morning that blocks 32-bit install attempts on CentOS 7 until this is sorted out so comment out lines 153-156 if you wish to do further testing.
 
Last edited:
  • Like
Reactions: jerrm

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@chris_c_ this works on centos 7 32 bit http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+CentOS+7

asterisk installs perfectly using this wiki page, you will notice it does not use epel at all.
so it's either a development tool package missing, or something from additional required dependencies, is there a reason why there are specific packages chosen in the installing packages needed for Asterisk, would
Code:
yum -y groupinstall core base "Development Tools"
be a cleaner way to install the packages required?
@hecatae Yes - there is definitely a cleaner way to install the packages required.

I've fixed my version of the script, and it builds and installs fine now on CentOS 7 32 bit.

On my CentOS 7 32 bit - the command yum -y groupinstall core base "Development Tools" says that those three groups are already installed, it only updates the package "diffstat" to a higher minor version number.

The installer is definitely a work in progress.
1. Many variables were repeatedly re-defined to the same values (?). Technically not a bug but very silly.
2. Many important services were stopped and started, and re-stopped again, and restarted again, and again! No point.
3. Critical errors which should be caught and stop the script, were not caught and the script continued onward, leaving the user blissfully ignorant, as it silently failed, asterisk failed to be built, asterisk is not running, you the admin have no idea what is missing. The install script can and should tell you exactly what's missing, and stop the let you supply them, if it can't install them itself. A bug.
4. There are missing dependencies needed by hylafax, without which it fails to handle fax images properly... bug.
5. Another installation error which makes outgoing text or PDF text faxes to be rendered to TIFF bitmap by hylafax, look terrible. Bug.
6. And there is many more bugs, plus, brittle things which are too easily broken should be improved...

I'm taking some time tonight to give some love to this installer and fix it up so it runs better. The script should halt on a critical error and bring it to the attention of the admin, as there's no point continuing the build which will fail.

@wardmundy Have you looked at FreePBX 13 code. Interface is responsive, compatible with tablets and phones, which FreePBX 12 is not. I read your objections to the mandatory collection of personal user information. Yet it's possible to bypass the code which collects the user information, and in so doing let 13 run free without collecting or submitting the detailed user info, right?
 
Last edited:
Status
Not open for further replies.

Members online

PIAF 5 - Powered by 3CX

Forum statistics

Threads
22,522
Messages
138,571
Members
14,648
Latest member
KellyOnley