FreePBX Distro Upgrade for FreePBX GUI 2.10

So people have started to want to upgrade their FreePBX Distro systems to FreePBX 2.10. They are now seeing a problem where sysadmin for FreePBX 2.10 will not install on older FreePBX Distro systems as sysadmin 2.10 requires PHP 5.3. We have decided to move the FreePBX Distro 1.88.210.57 into stable even though FreePBX 2.10 is considered RC1 still so be careful with the upgrade.

Please see http://www.freepbx.org/forum/freepbx-distro/distro-discussion-help/stable-release-versions for how to upgrade your FreePBX Distro system. The upgrade script will handle upgrading everything for you including FreePBX 2.10. Please report an issues and as always be careful and remember to reboot your system after the upgrade since the kernel has to be upgraded.

Will that update run under the paid system admin bundle once Freepbx 2.10 is final? Also, my system is flaking out. When I backup and restore to new hardware, will my paid system admin license move?

Yes it will be added to the sysadmin auto update in the next few days once we know it all works well.

No you are allowed one reset of your paid modules. You can do this right inside the portal by clicking the reset zend id option under the deployment. This will allow you to release the hardware lock. Please see http://freepbxdistro.org/signup.php?view=tos for complete details on this.

Tried to upgrade but it I got some errors.

First I got this on upgrading php.

yum -y upgrade php*
Loaded plugins: fastestmirror, kmod
Loading mirror speeds from cached hostfile
Setting up Upgrade Process
Resolving Dependencies
--> Running transaction check
---> Package php.i386 0:5.3.3-1.3 set to be updated
---> Package php-cli.i386 0:5.3.3-1.3 set to be updated
--> Processing Dependency: php-common = 5.2.17-1.1 for package: php-mcrypt
---> Package php-common.i386 0:5.3.3-1.3 set to be updated
---> Package php-devel.i386 0:5.3.3-1.3 set to be updated
---> Package php-gd.i386 0:5.3.3-1.3 set to be updated
---> Package php-ldap.i386 0:5.3.3-1.3 set to be updated
---> Package php-mbstring.i386 0:5.3.3-1.3 set to be updated
---> Package php-mysql.i386 0:5.3.3-1.3 set to be updated
---> Package php-pdo.i386 0:5.3.3-1.3 set to be updated
---> Package php-process.i386 0:5.3.3-1.3 set to be updated
--> Finished Dependency Resolution
php-mcrypt-5.2.17-1.1.i386 from installed has depsolving problems
  --> Missing Dependency: php-common = 5.2.17-1.1 is needed by package php-mcrypt-5.2.17-1.1.i386 (installed)
Error: Missing Dependency: php-common = 5.2.17-1.1 is needed by package php-mcrypt-5.2.17-1.1.i386 (installed)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

It crashed at the upgrade script and I run it manually to get the error.

Also, on applying config I get

xit: 255
Failed loading /usr/lib/php/modules/ZendGuardLoader.so:  /usr/lib/php/modules/ZendGuardLoader.so: undefined symbol: gc_remove_zval_from_buffer
found language dir fr for directory, not installed on system, skipping
PHP Fatal error:  Call to undefined function core_devices_list() in /var/www/html/admin/modules/callforward/functions.inc.php on line 59

How can this be fixed?

Also,

After the upgrade for some reason the core module (alongside with 3-4 more modules) were not installed so I had to install them manually.

That is because you have not gotten php 5.3 installed.

Not sure why you have php-mcrypt installed as I dont show that being installed by us in the past. Do a yum erase php-mcrypt and than run the upgrade script again.

Installer is still running… Got the following error messages. How do I ever know if the end results are fully successful?

–> Finished Dependency Resolution
kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5.i686 from pbx has depsolving problems
–> Missing Dependency: kernel-i686 = 2.6.18-274.3.1.el5 is needed by package kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5.i686 (p
bx)
Error: Missing Dependency: kernel-i686 = 2.6.18-274.3.1.el5 is needed by package kmod-dahdi-linux-2.5.0.1-1_centos5.2.6.18_274.3.1.el5.i686 (pbx)

—SNIP—

SETTING FILE PERMISSIONS
chmod: cannot access isymphony/*.pl': No such file or directory chmod: cannot accessisymphony/safe_opserver’: No such file or directory
Permissions OK
Error(s) have occured, the following is the retrieve_conf output:
exit: 255
found language dir fr for directory, not installed on system, skipping
PHP Fatal error: Call to undefined function core_users_list() in /var/www/html/admin/modules/campon/functions.inc.php on line 291

Can make calls in/out, so basic functionality is there!!!

Endpoint manager is giving the following error on the configuration management page -

Caught exception: DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (.0)

It looks like it didn’t update the unix stuff (kernel, glibc, etc) because of the dahdi dependency. Still on old kernel and “yum update” comes back with a long list of 171 items. uname -a shows kernel 2.6.18-194.17.1.el5 which is old I believe.

I don’t remember if I installed dahdi - I don’t think so as I have no real need for it. I was trying to get the external sangoma timing device to work at one point, so maybe I did. Looking at /var/log/yum.log that was installed by itself around the time I ordered the timing usb device, so probably the case.

I did a “yum remove kmod-dahdi-linux” which removed that and many sub-tools. Ran “yum update” to get the updates. Then I noticed that the kernel wasn’t changed - tracked down to yum.conf had exclude kernel and yum update put that change in yum.conf.rpmnew. Soooo - I ‘mv yum.conf.rpmnew yum.conf’ and ran ‘yum update’ again.

Perhaps my best action would have been to run the update.sh file after the ‘yum remove kmod-dahdi-linux’??

Going back to endpoint manager, I finally figured out that timezone wasn’t set in the main config page of endpoint manager. Set the timezone and it started working. Perhaps a better error on the exception would be good.

Of course, before I put this into production, going to just do a full rebuild. This system is setup for testing. I have a few extensions from my main server going to this as a trunk and a few polycom phones moved over.

questions -

  1. Wouldn’t it be better if the update.sh file would exit out with a major error if one of the steps failed? Is that possible?
  2. will the Sangoma UT50 be support be built in eventually? Or is it not necessary with the newer kernel’s improved timing?
  3. anything better could be done with the TZ error on endpoint manager?

Thanks!!!

I am not sure why mcrypt was there. It shouldn’t be. Anyway, I erased it and re-run the script. Now, I get the following error at freepbx

retrieve_conf failed to sym link:
/etc/asterisk/chan_dahdi.conf from dahdiconfig/etc (Already exists, not a link)
This can result in FATAL failures to your PBX. If the target file exists and not identical, the symlink will not occur and you should rename the target file to allow the automatic sym link to occur and remove this error, unless this is an intentional customization.
Added 12 minutes ago
(retrieve_conf.SYMLINK)

And everytime I click any option I get logged out and need to re-login in.

EDIT:

Managed to solve this problem by doing a :

chmod 777 /var/lib/php/session

and deleting all php sessions inside that folder. I am not sure whether this is a valid solution or not.

Do you mean you were getting logged out in the ARI or in the FreePBX Admin eveytime you click something and yes I missed that in my upgrade script. We have to chown that to be owned by asterisk actually.

As far as the dahdi module we do not recommend using that module and do not install it by default as it has lots of problems.

Also not sure why you kernel was being excluded in yum as that is not something we would do. You sure you were running the latest 1.87.29.55 before the upgrade.

I updated the script and published it for

  1. chown the/var/lib/php/session
  2. If it fails to install the kernel it exits and lets you know.
  3. remove php-mycript before upgrading php incase others have it installed.
  4. Resetup yum.conf with a good config incase others have the yum.conf with exclude kernel.

Also the scripts log everything into the /var/log/pbx/ directory for each major step for you already and always have.

Please test for me as I did not test these changes since I am running our of time to get things done today.

Thanks Tony!

Crazy thing is I ran this script on about 20 systems the past 2 weeks for support customers with no issues. But its all about getting it to the masses to find things that they changed from stock install.

Also make sure you run all upgrade scripts in chronological order or you will have issues. You can script any version upgrade script along the way.

We will also never be able to make them 100% perfect if you are installing packages that are not part of the stock Distro and not much we can do about that without jumping through hoop after hoop

I think mine would have been fine had I not tried to install dahdi a long time back in a failed attempt to get the USB timing device to work. I guess with the exception of the timezone getting lost for End Point Manager. I had been installing all the updates in order thanks to the purchased system admin program.

I did have the session problem quite some time back, can’t remember which update, but it was later fixed.

Ok well I just ran it quick on a new install of 1.87.29.55 and it worked well. Let me know if anyone else sees problems and I will try to get them fixed this weekend between everything else and preparing for OTTS in 2 weeks.

I will test it with a new FreePBX installation and I will report you back. Also, I found out why there was mcrypt installed. That was because phpmyadmin was installed(it was a test machine) and mcrypt was needed.

I upgraded from the 1.87.29.55 to 1.88.210.57 and now have no devices module, users module. That’s what I’ve noticed is missing so far. Also Asterisk is no longer loggin to full so I’m not sure where to look for errors.
When I press the red button it I get this error:

exit: 255
found language dir fr for directory, not installed on system, skipping
PHP Notice: Undefined offset: 3 in /var/www/html/admin/modules/timeconditions/bin/schedtc.php on line 29
PHP Fatal error: Call to a member function addFeatureGeneral() on a non-object in /var/www/html/admin/modules/parking/functions.inc.php on line 46

On the System Status page it says my IVR destinations are bad now and the SIPSTATION module, which fortunately I’m not using is disabled.

Not sure where to start.

Go make sure all the modules are updated. Did you have any 3rd party modules installed. Seems like something kept all your modules from being updated and installed. This is usually caused by things like 3rd party modules or unsupported modules being installed.

The only 3rd party module was FOP2, I uninstalled that. Didn’t help on it’s own. However I had missed that Core for some reason didn’t install. I thought it would be in the first section of updates, under Admin rather than Applications so I hadn’t looked as closely there. After getting that installed everything else was able to install and started working. Also the Fax Pro module which I had previously had to be installed manually. Now I have a problem that sometimes when I reboot I get a kernel panic going down. The last thing it says is some cryptic stuff about dahdi, so I’m assuming it’s an IRQ thing with my card. Previously the card hadn’t been recognizing at all, but I don’t use it so wasn’t worried about it. Now I better figure out what’s going on with it.