[horde] Upgrade Horde 3.1.x to 3.3.x
Michael Rhyner
michael.rhyner at medianet.ch
Fri Oct 8 17:41:01 UTC 2010
Dear Horde Community,
We have trouble with the update script "2008-08-29_fix_mdb2_sequences.php"
upgrdading data suiting newly installed versions from:
horde 3.1.x to 3.3.x
imp 4.1.x to 4.3.x
ingo 1.1.2 to 1.2.4
kronolith 2.1.x to 2.3.x
mnemo 2.1.1 to 2.3.4
turba 2.1.x to 2.3.x
First of all, possibly a simple question for someone of you (I'm not
experienced in OOP ;-(): Is this script only manipulating the database
scheme or changing some data within the tables, or even some files outside
the database? So do we have to run this script at all? I'm asking because in
Horde 3.1 etc. there werent tables like turba_shares or kronolith_shares.
The problem is, that the script always returns the following result printed
in red colour:
====================
Fatal Error:
MDB2 Error: not found
====================
I analyzed the problem a bit and saw that the message came from the
instantiating of an Object $db of the MDB2::factory class. So I inserted a
var_dump command after the line
$db = &MDB2::factory($config);
echo var_dump($db) . "\n";
Within the trace, I found the following line multiple times:
string(99) "unable to find package 'MDB2_Driver_MDB2_Driver_mysql: ' file
'MDB2/Driver/MDB2/Driver/mysql: .php'"
My horde framework configuration file config/conf.php (some sensitive values
hidden):
<?php
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
// $Horde: horde/config/conf.xml,v 1.74.2.89 2010/04/21 08:02:24 jan Exp $
$conf['vhosts'] = false;
$conf['debug_level'] = E_ALL & ~E_NOTICE;
$conf['max_exec_time'] = 0;
$conf['compress_pages'] = true;
$conf['secret_key'] = '****************************************';
$conf['umask'] = 077;
$conf['tmpdir'] = '/var/cache/horde';
$conf['use_ssl'] = 2;
$conf['server']['name'] = $_SERVER['SERVER_NAME'];
$conf['server']['port'] = $_SERVER['SERVER_PORT'];
$conf['urls']['token_lifetime'] = 30;
$conf['urls']['hmac_lifetime'] = 30;
$conf['urls']['pretty'] = false;
$conf['safe_ips'] = array();
$conf['session']['name'] = 'Horde';
$conf['session']['use_only_cookies'] = true;
$conf['session']['cache_limiter'] = 'nocache';
$conf['session']['timeout'] = 0;
$conf['cookie']['domain'] = $_SERVER['SERVER_NAME'];
$conf['cookie']['path'] = '/horde';
$conf['sql']['persistent'] = true;
$conf['sql']['username'] = 'horde';
$conf['sql']['password'] = '**********';
$conf['sql']['hostspec'] = 'localhost';
$conf['sql']['port'] = 3306;
$conf['sql']['protocol'] = 'tcp';
$conf['sql']['database'] = 'horde';
$conf['sql']['charset'] = 'utf-8';
$conf['sql']['ssl'] = false;
$conf['sql']['splitread'] = false;
$conf['sql']['phptype'] = 'mysql';
$conf['auth']['admins'] = array('*************');
$conf['auth']['checkip'] = true;
$conf['auth']['checkbrowser'] = true;
$conf['auth']['alternate_login'] = false;
$conf['auth']['redirect_on_logout'] = false;
$conf['auth']['list_users'] = 'list';
$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';
$conf['signup']['allow'] = false;
$conf['log']['priority'] = PEAR_LOG_NOTICE;
$conf['log']['ident'] = 'HORDE';
$conf['log']['params'] = array();
$conf['log']['name'] = '/var/log/horde.log';
$conf['log']['params']['append'] = true;
$conf['log']['type'] = 'file';
$conf['log']['enabled'] = true;
$conf['log_accesskeys'] = false;
$conf['prefs']['params']['driverconfig'] = 'horde';
$conf['prefs']['driver'] = 'sql';
$conf['alarms']['params']['driverconfig'] = 'horde';
$conf['alarms']['params']['ttl'] = 300;
$conf['alarms']['driver'] = 'sql';
$conf['datatree']['params']['driverconfig'] = 'horde';
$conf['datatree']['driver'] = 'sql';
$conf['group']['driverconfig'] = 'horde';
$conf['group']['driver'] = 'sql';
$conf['group']['cache'] = false;
$conf['perms']['driverconfig'] = 'horde';
$conf['perms']['driver'] = 'sql';
$conf['share']['no_sharing'] = false;
$conf['share']['any_group'] = false;
$conf['share']['cache'] = false;
$conf['share']['driver'] = 'datatree';
$conf['cache']['default_lifetime'] = 86400;
$conf['cache']['params']['sub'] = 0;
$conf['cache']['driver'] = 'file';
$conf['lock']['params']['driverconfig'] = 'horde';
$conf['lock']['driver'] = 'sql';
$conf['token']['params']['driverconfig'] = 'horde';
$conf['token']['driver'] = 'sql';
$conf['mailer']['params']['host'] = 'smtp.zapponline.ch';
$conf['mailer']['params']['port'] = 25;
$conf['mailer']['params']['localhost'] = 'mail.zapponline.ch';
$conf['mailer']['params']['auth'] = 'PLAIN';
$conf['mailer']['params']['username'] = 'postmaster at zapp.ch';
$conf['mailer']['params']['password'] = '***************';
$conf['mailer']['type'] = 'smtp';
$conf['mailformat']['brokenrfc2231'] = false;
$conf['vfs']['params']['driverconfig'] = 'horde';
$conf['vfs']['type'] = 'sql';
$conf['sessionhandler']['type'] = 'none';
$conf['sessionhandler']['memcache'] = false;
$conf['mime']['magic_db'] = '/usr/share/file/magic.mime';
$conf['geoip']['datafile'] = '/var/www/horde/GeoIPCountryWhois.csv';
$conf['problems']['email'] = 'support at zapp.ch';
$conf['problems']['maildomain'] = 'zapp.ch';
$conf['problems']['tickets'] = false;
$conf['problems']['attachments'] = true;
$conf['menu']['apps'] = array();
$conf['menu']['always'] = false;
$conf['menu']['links']['help'] = 'all';
$conf['menu']['links']['options'] = 'authenticated';
$conf['menu']['links']['problem'] = 'all';
$conf['menu']['links']['login'] = 'all';
$conf['menu']['links']['logout'] = 'authenticated';
$conf['logo']['image'] = '/horde/themes/zappklein.jpg';
$conf['logo']['link'] = 'http://www.zapp.ch';
$conf['hooks']['permsdenied'] = false;
$conf['hooks']['username'] = false;
$conf['hooks']['preauthenticate'] = false;
$conf['hooks']['postauthenticate'] = false;
$conf['hooks']['authldap'] = false;
$conf['hooks']['groupldap'] = false;
$conf['portal']['fixed_blocks'] = array();
$conf['accounts']['driver'] = 'null';
$conf['user']['verify_from_addr'] = false;
$conf['imsp']['enabled'] = false;
$conf['kolab']['enabled'] = false;
$conf['memcache']['enabled'] = false;
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
/horde/test.php outputs the following:
Horde Version
Horde: 3.3.8
Horde Applications
Forwards: H3 (3.2.1)
Gollem: H3 (1.1.1) (run Gollem tests)
Horde: 3.3.8
Imp: H3 (4.3.7) (run Imp tests)
Ingo: H3 (1.2.4) (run Ingo tests)
Kronolith: H3 (2.3.4) (run Kronolith tests)
Mnemo: H3 (2.2.3)
Nag: H3 (2.3.5)
Passwd: H3 (3.1.3) (run Passwd tests)
Turba: H3 (2.3.4) (run Turba tests)
PHP Version
View phpinfo() screen
View loaded extensions
PHP Version: 5.3.2-2
PHP Major Version: 5.3
PHP Minor Version: 2
PHP Subminor Version: 2
PHP Version Classification: release
This version of PHP has not been fully tested with this version of Horde.
PHP Module Capabilities
Ctype Support: Yes
DOM XML Support: Yes
FTP Support: Yes
GD Support: Yes
Gettext Support: Yes
GeoIP Support (via PECL extension): No
Horde can optionally use the GeoIP extension to provide faster country name
lookups.
Iconv Support: Yes
GNU Iconv Support: Yes
IMAP Support: Yes
Imagick Library: Yes
JSON Support: Yes
LDAP Support: No
LDAP support is only required if you want to use an LDAP server for anything
like authentication, address books, or preference storage.
LZF Compression Support: No
If the lzf PECL module is available, Horde can compress some cached data in
your session to make your session size smaller.
Mbstring Support: Yes
PCRE Support: Yes
PCRE UTF-8 Support: Yes
Mcrypt Support: Yes
memcached Support (memcache): No
The memcache PECL module is only needed if you are using a memcached server
for caching or sessions. See horde/docs/INSTALL for information on how to
install PECL/PHP extensions.
MIME Magic Support (fileinfo): Yes
MIME Magic Support (mime_magic): No
The fileinfo PECL module (see above) or the mime_magic PHP extension will
most likely provide faster MIME Magic lookups than the built-in Horde PHP
magic code. See horde/docs/INSTALL for information on how to install
PECL/PHP extensions.
MySQL Support: Yes
OpenSSL Support: Yes
PostgreSQL Support: No
The PostgreSQL extension is only required if you want to use a PostgreSQL
database server for data storage.
Session Support: Yes
XML Support: Yes
Zlib Support: Yes
Miscellaneous PHP Settings
magic_quotes_runtime disabled: Yes
memory_limit value: 128M
If PHP's internal memory limit is not set high enough Horde will not be able
to handle large data items (e.g. large mail attachments in IMP). You should
set the value of memory_limit in php.ini to a sufficiently high value - at
least 64M is recommended.
safe_mode disabled: Yes
session.use_trans_sid disabled: Yes
session.auto_start disabled: Yes
zlib.output_compression disabled: Yes
zend_accelerator.compress_all disabled: Yes
File Uploads
file_uploads enabled: Yes
upload_max_filesize: 12M
post_max_size: 30M
This value should be several times the expect largest upload size
(notwithstanding any upload limits present in an application). Any upload
that exceeds this size will cause any state information sent along with the
uploaded data to be lost. This is a PHP limitation and can not be worked
around.
Required Horde Configuration Files
config/conf.php: Yes
config/mime_drivers.php: Yes
config/nls.php: Yes
config/prefs.php: Yes
config/registry.php: Yes
PHP Sessions
Session counter: 1
To unregister the session: click here
PEAR
PEAR Search Path (PHP's include_path):
/var/www/horde/lib:.:/usr/share/php:/usr/share/pear
PEAR: Yes
Recent PEAR: Yes
Mail: Yes
Mail_Mime: Yes
Mail_mimeDecode: Yes
Log: Yes
DB: Yes
MDB2: Yes
Net_Socket: Yes
Date: Yes
Auth_SASL: Yes
HTTP_Request: Yes
HTTP_WebDAV_Server: Yes
Net_SMTP: Yes
Services_Weather: Yes
Cache: Yes
XML_Serializer: Yes
Net_DNS: Yes
The root cause to stick on running this script is mainly (besides concern
not being able to do further upgrades) that preference settings like
Identity Description, From Address, Signatures, etc. weren't visible to
users after upgrading the databases. All other data like address books,
calendar entries, et.c were ok as it seems...
And, by the way: Is Horde 3.3.8 running/tested on PHP 5.3.x at all? I was
forced to upgrade today from PHP 5.2.x due to dependencies caused by the
above mentioned script (2008-08-29_fix_mdb2_sequences.php). It seems that
many deprecated functions/features are used...
Many thanks in advanced!
Best Regards,
Michael Rhyner
System Engineer
ZAPP AG
Bahnhofstr. 28, 3076 Worb
Telefon +41 31 710 34 23
Fax +41 31 710 34 25
michael.rhyner at medianet.ch
http://www.zapp.ch
More information about the horde
mailing list