It appears that Horde requires the "domxml" PHP extension, which is apparently not a part of the standard CentOS 4.x PHP 4.x distribution. In fact, "domxml" is no longer available from the sourceforge web site as they prefer the use of the dom libraries in PHP5 instead.
http://pecl.php.net/package/domxml
Given these facts, how has anyone gotten this working? I would love to replace Squirrelmail with IMP if it can be made to work without lots of customization.
Regards, -Tom
*Notice*: Use of undefined constant PEAR_LOG_EMERG - assumed 'PEAR_LOG_EMERG' in */usr/share/horde/lib/Horde.php* on line *204*
*Notice*: Undefined index: log in */usr/share/horde/lib/Horde.php* on line *49*
A fatal error has occurred
You need the domxml PHP extension to use the configuration tool.
|[line 25 of /usr/share/horde/admin/setup/config.php]|
On Wed, 2005-12-14 at 11:22 -0500, Thomas Brown wrote:
It appears that Horde requires the "domxml" PHP extension, which is apparently not a part of the standard CentOS 4.x PHP 4.x distribution. In fact, "domxml" is no longer available from the sourceforge web site as they prefer the use of the dom libraries in PHP5 instead.
http://pecl.php.net/package/domxml
Given these facts, how has anyone gotten this working? I would love to replace Squirrelmail with IMP if it can be made to work without lots of customization.
Regards, -Tom
You need to follow the instructions here to upgrade/install some pear modules: http://www.horde.org/horde/docs/?f=INSTALL.html
Johnny Hughes wrote:
You need to follow the instructions here to upgrade/install some pear modules: http://www.horde.org/horde/docs/?f=INSTALL.html
Making the required pear module rpms (and making them dependencies of the appropriate Horde rpms) would be a good idea maybe. Using 'pear install', and 'pear upgrade' is a sure way to overwrite files from the php-pear rpm. Another reason would be to have a consistent environment for users of the new Centos supplied Horde rpms. The versions available from 'pear install xxx' change frequently, are not always stable, and lately apparently prompt you to upgrade pear itself to install additional modules.
I believe all that _needs_ to be installed or updated for Horde, Imp, Turba and Ingo are the date, db, file, log, mail, and mail_mime modules. There are others needed for the other applications, and others needed to use certain features like the Weather block in Horde.
I'm not sure if Fedora/Redhat have any guidelines for making rpms of pear modules, but the source rpms we use for SME Server are here if you're interested - (pear-db, pear-file, etc): http://distro.ibiblio.org/pub/linux/distributions/e-smith/devel/repo/SRPMS/
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Greg
On Wed, 2005-12-14 at 11:01 -0800, Greg Swallow - SkyNet wrote:
Johnny Hughes wrote:
You need to follow the instructions here to upgrade/install some pear modules: http://www.horde.org/horde/docs/?f=INSTALL.html
Making the required pear module rpms (and making them dependencies of the appropriate Horde rpms) would be a good idea maybe. Using 'pear install', and 'pear upgrade' is a sure way to overwrite files from the php-pear rpm. Another reason would be to have a consistent environment for users of the new Centos supplied Horde rpms. The versions available from 'pear install xxx' change frequently, are not always stable, and lately apparently prompt you to upgrade pear itself to install additional modules.
I believe all that _needs_ to be installed or updated for Horde, Imp, Turba and Ingo are the date, db, file, log, mail, and mail_mime modules. There are others needed for the other applications, and others needed to use certain features like the Weather block in Horde.
I'm not sure if Fedora/Redhat have any guidelines for making rpms of pear modules, but the source rpms we use for SME Server are here if you're interested - (pear-db, pear-file, etc): http://distro.ibiblio.org/pub/linux/distributions/e-smith/devel/repo/SRPMS/
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
--- Johnny Hughes
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
It would be greatly appreciated as I'm in the same situation.
Regards,
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
It would be greatly appreciated as I'm in the same situation.
---- I certainly passed on your horde rpms since the horde/etc. tarballs were the easy part and the pear modules have tended to be the harder part.
I also have always used /var/www/html/horde as my base and was confused with your installation base location and thought that it might create some issues with selinux so I chickened out and removed the horde rpms and just went for the tarballs (old habits die hard).
Thanks
Craig
On Mon, 2005-12-19 at 16:32 -0700, Craig White wrote:
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
It would be greatly appreciated as I'm in the same situation.
I certainly passed on your horde rpms since the horde/etc. tarballs were the easy part and the pear modules have tended to be the harder part.
I also have always used /var/www/html/horde as my base and was confused with your installation base location and thought that it might create some issues with selinux so I chickened out and removed the horde rpms and just went for the tarballs (old habits die hard).
Just for the record ... the base location is the same as for squirrelmail and the other Red Hat web based items (/usr/share/project_name).
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
Also, the solution needs to work for both php4 and php5 .. so for now, installing the pear updates via the instructions provided by the horde website is the best way.
On Mon, 2005-12-19 at 19:21 -0600, Johnny Hughes wrote:
On Mon, 2005-12-19 at 16:32 -0700, Craig White wrote:
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
It would be greatly appreciated as I'm in the same situation.
I certainly passed on your horde rpms since the horde/etc. tarballs were the easy part and the pear modules have tended to be the harder part.
I also have always used /var/www/html/horde as my base and was confused with your installation base location and thought that it might create some issues with selinux so I chickened out and removed the horde rpms and just went for the tarballs (old habits die hard).
Just for the record ... the base location is the same as for squirrelmail and the other Red Hat web based items (/usr/share/project_name).
---- excellent explanation - since I don't use squirrelmail, I wouldn't have known that.
I would suppose then that one makes a soft link from /usr/share/horde to /var/www/html/horde and then has to deal with setting selinux httpd contexts for the /usr/share/horde tree or do your rpm's set the contexts? ----
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
Also, the solution needs to work for both php4 and php5 .. so for now, installing the pear updates via the instructions provided by the horde website is the best way.
---- I assumed that php-pear was from upstream - that would present an issue.
Thanks for the efforts...actually on CentOS 4, I don't really have issues with php/pear/etc. CentOS 3 (RHEL 3 actually), I have to work it hard...I actually have started to script a php/pear repair kit ;-)
Craig
On Mon, 2005-12-19 at 18:53 -0700, Craig White wrote:
On Mon, 2005-12-19 at 19:21 -0600, Johnny Hughes wrote:
On Mon, 2005-12-19 at 16:32 -0700, Craig White wrote:
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
Greg,
I agree that picking a good version of the pear modules and building them as rpms is probably the best way to handle the upgrade requirements for pear.
I am going to try to do that this weekend.
It would be greatly appreciated as I'm in the same situation.
I certainly passed on your horde rpms since the horde/etc. tarballs were the easy part and the pear modules have tended to be the harder part.
I also have always used /var/www/html/horde as my base and was confused with your installation base location and thought that it might create some issues with selinux so I chickened out and removed the horde rpms and just went for the tarballs (old habits die hard).
Just for the record ... the base location is the same as for squirrelmail and the other Red Hat web based items (/usr/share/project_name).
excellent explanation - since I don't use squirrelmail, I wouldn't have known that.
I would suppose then that one makes a soft link from /usr/share/horde to /var/www/html/horde and then has to deal with setting selinux httpd contexts for the /usr/share/horde tree or do your rpm's set the contexts?
What happens is that /horde (logically on the web server) is set as an alias in httpd.conf (actually in /etc/httpd/conf.d/horde.conf) so that /usr/share/horde appears as /horde on the website.
You would need to do everything to /usr/share/horde that you would do to /var/www/html/horde in selinux (and also via chmod, chown) to set the proper permissions.
Things like file permissions and ownership are already set in the RPMS ... though not selinux settings ... as is the horde.conf created and added to /etc/httpd/conf.d/
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
Also, the solution needs to work for both php4 and php5 .. so for now, installing the pear updates via the instructions provided by the horde website is the best way.
I assumed that php-pear was from upstream - that would present an issue.
That would be a problem (changing php-pear, an upstream RPM) which is why this part would happen in the centosplus repo and not the extras repo.
For people who don't know what php-pear is, it is an RPM with several pear modules in it ... and several available modules are left out.
There is an interface (much like CPAN for PERL) that can be used to upgrade the pear existing pear modules, or install new ones. BUT upgrading pear that way will result in items that are not known to the RPM database.
On the next php update, a new php-pear will be installed, overwriting the changed pear-modules.
Horde requires some pear modules that are not included in the default pear modules in php-pear ... and it requires upgrades to some of the modules that are included by the OS.
Thanks for the efforts...actually on CentOS 4, I don't really have issues with php/pear/etc. CentOS 3 (RHEL 3 actually), I have to work it hard...I actually have started to script a php/pear repair kit ;-)
The reason this is required is that a new php-pear (installed via a php security upgrade) overwrites any of it's core pear modules, downgrading them. Depending on how the upgrade is done, it could also erase the directory that holds the newly installed pear modules too.
So, an RPM solution to the pear problem is in order.
I am developing a plan that should work for php4 and php5 ... and that should allow for upgrades BUT not replace php-pear, but contain all the functionality. This would be part of the centosplus repo.
For those who want to know what the centosplus repo is: http://mirror.centos.org/centos/4/centosplus/Readme.txt
Johnny Hughes wrote:
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
It might be. In SME Server the "include_path" in php.ini was changed to read: include_path = ".:/usr/share/pear-addons:/usr/share/pear"
Our pear addon rpms install files into the pear-addons folder. It works for us. The php-pear rpm contains DB 1.6.2 and Mail 1.1.3 (installed in /usr/share/pear), and our addon rpms of pear-db (1.7.6) and pear-mail (1.1.4) install files to /usr/share/pear-addons.
Greg
On Tue, 2005-12-20 at 11:35 -0800, Greg Swallow - SkyNet wrote:
Johnny Hughes wrote:
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
It might be. In SME Server the "include_path" in php.ini was changed to read: include_path = ".:/usr/share/pear-addons:/usr/share/pear"
Our pear addon rpms install files into the pear-addons folder. It works for us. The php-pear rpm contains DB 1.6.2 and Mail 1.1.3 (installed in /usr/share/pear), and our addon rpms of pear-db (1.7.6) and pear-mail (1.1.4) install files to /usr/share/pear-addons.
If you use that method, what does this command show?
pear list
Johnny Hughes wrote:
If you use that method, what does this command show?
pear list
Installed packages: =================== Package Version State Archive_Tar 1.1 stable Console_Getopt 1.2 stable DB 1.6.2 stable HTTP 1.2.2 stable Mail 1.1.3 stable Net_SMTP 1.2.3 stable Net_Socket 1.0.1 stable PEAR 1.3.2 stable XML_Parser 1.0.1 stable XML_RPC 1.1.0 stable
It shows just what is included in php-pear, as our addon rpm's don't register themselves with pear. But I don't believe they need to. For example, if I check horde's test.php page, it says I do have mail_mime installed, but that's not shown in 'pear list'. If I 'rpm -e pear-mail_mime', restart apache and check again with Horde's test.php, it says I don't have Mail_Mime installed.
I'd like to see proof as well that the ones that are duplicates are actually using the newer version in pear-addons, but I have little doubt the newer version is being used, as the rpms were made to fix (and did fix) bugs we encountered. I looked for some php documentation to say the first path in the "include_path" setting overrides the second but didn't find any. But if you google for 'pear "include_path to override"', you'll see some remarks that putting the additional path first works though.
Greg
Greg Swallow - SkyNet wrote:
Johnny Hughes wrote:
Also ... upgrading pear modules via RPM correctly is a major problem. Some of the modules that are included in the php-pear modules need to be upgraded. That is a major problem that requires some major thought and planning.
Just removing the files and not replacing / obsoleting the php-pear package will result in breakage at the next php upgrade.
I think the proper way to do this is going to be to redo a php-pear that only has the pear module and no others (currently there are several modules as part of the php-pear RPM) ... then having a separate RPM for each pear module (similar to how perl modules are done now).
This is not as easy as just building a couple RPMS :)
It might be. In SME Server the "include_path" in php.ini was changed to read: include_path = ".:/usr/share/pear-addons:/usr/share/pear"
Our pear addon rpms install files into the pear-addons folder. It works for us. The php-pear rpm contains DB 1.6.2 and Mail 1.1.3 (installed in /usr/share/pear), and our addon rpms of pear-db (1.7.6) and pear-mail (1.1.4) install files to /usr/share/pear-addons.
from a policy standpoint, I am not sure how good an idea this is - to have multiple versions of the same codebase sitting on the users machine - and i am sure in many many cases, the user is oblivious to this situation.
Karanbir Singh wrote:
from a policy standpoint, I am not sure how good an idea this is - to have multiple versions of the same codebase sitting on the users machine
- and i am sure in many many cases, the user is oblivious to this
situation.
True, but for us it does ensure Horde continues to work after a php update - I'm sure our users are glad to be oblivious to there not being a problem there.
Maybe the best option for Centos is to create a php-pearplus (or whatever name) rpm that duplicates the standard php-pear, but also updates and adds any extra modules for Horde (and is set to conflict with php-pear so both can't be installed together). You could have one for php4 and one for php5 that way too.
Greg
On 12/21/05, Greg Swallow - SkyNet gregswallow@skynetonline.ca wrote:
Maybe the best option for Centos is to create a php-pearplus (or whatever name) rpm that duplicates the standard php-pear, but also updates and adds any extra modules for Horde (and is set to conflict with php-pear so both can't be installed together). You could have one for php4 and one for php5 that way too.
This would leave you without a clean upgrade path when CentOS 5 (or whatever) comes out with a new-and-improved php-pear that couldn't upgrade the Centosplus php-pearplus.
The upstream provider is aware of the various problems with php-pear - see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173270 and the many bugs linked to from that. It looks like you could steal the php-pear from Fedora Test, since many of the fixes appear to already be in it; then you'd be more likely to get a clean upgrade.
Josh Kelley
Josh Kelley wrote:
The upstream provider is aware of the various problems with php-pear - see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173270 and the many bugs linked to from that. It looks like you could steal the php-pear from Fedora Test, since many of the fixes appear to already be in it; then you'd be more likely to get a clean upgrade.
Thanks for the link. Looks like in Rawhide they've split php-pear to a separate srpm and no longer include the DB and Mail pear modules that Horde needs updated.
I made a RHEL4 bug report cloning the FC4 bug report that was closed/fixed in Rawhide. We'll see... https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=176459
Greg
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
That is because domxml in php5 is not the same as in php4 ... I do not think horde will work with php5.
see these links: http://blog.bitflux.ch/archive/2005/11/06/domxml-and-php-5.html
http://www.phpbuilder.com/board/archive/index.php/t-10289606.html
On Mon, 2005-12-19 at 19:36 -0600, Johnny Hughes wrote:
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
That is because domxml in php5 is not the same as in php4 ... I do not think horde will work with php5.
see these links: http://blog.bitflux.ch/archive/2005/11/06/domxml-and-php-5.html
http://www.phpbuilder.com/board/archive/index.php/t-10289606.html
Looks like the horde-cvs stuff might work with php5 ... http://janschneider.de/cweb/home/index,channel,25,story,183.html
On Mon, 2005-12-19 at 19:44 -0600, Johnny Hughes wrote:
On Mon, 2005-12-19 at 19:36 -0600, Johnny Hughes wrote:
On Mon, 2005-12-19 at 13:45 -0500, Ugo Bellavance wrote:
Johnny Hughes wrote:
And to answer the original poster question, there's a php-domxml rpm you can install with 'yum install php-domxml' - you do need that, particularly for the Horde administration/Configuration to work.
Yes, but it is not available with the PHP5 rpm from Centosplus repo.
That is because domxml in php5 is not the same as in php4 ... I do not think horde will work with php5.
see these links: http://blog.bitflux.ch/archive/2005/11/06/domxml-and-php-5.html
http://www.phpbuilder.com/board/archive/index.php/t-10289606.html
Looks like the horde-cvs stuff might work with php5 ... http://janschneider.de/cweb/home/index,channel,25,story,183.html
More research on the web shows me that php-dom (or php-xml/php-xmlrpc) is required for php5 and that after installing it, and restarting httpd, the latest horde (the version in CentOS now) should work.
Hopefully, this works as we do have php-xml and php-xmlrpc in the centosplus repo's php5.
On 12/14/05, Thomas Brown twb0@lymenet.org wrote:
It appears that Horde requires the "domxml" PHP extension, which is apparently not a part of the standard CentOS 4.x PHP 4.x distribution. In fact, "domxml" is no longer available from the sourceforge web site as they prefer the use of the dom libraries in PHP5 instead.
The php-domxml RPM is a standard part of CentOS 4.x and should provide what you need.
Josh Kelley