Roundcube Community Forum

 

Migrated (from earlier RC versions) LDAP Address Book

Started by appletech, June 09, 2021, 04:45:00 PM

Previous topic - Next topic

appletech

Hello,

For a long time, I have the following config to enable a read-only organizational Address Book, but in the recent versions (I can't remember when the issue started) it won't load: there is an "Internal Server Error" popup.

Here is the config (domain name is modified). Could someone please suggest what may be wrong with it? (See also the php error below.)


// -------------------------------------
// LDAP ADDRESS BOOK START
// --------------------------------------
$config['ldap_public'] = array (
  'OurOrg' =>
  array (
    'name' => 'Our Shared Address Book',
    'hosts' =>
    array (
      0 => 'ldaps://ldap.example.com',
    ),
    'port' => 636,
    'use_tls' => false,
    'ldap_version' => 3,
    'network_timeout' => 10,
    'user_specific' => false,
    'base_dn' => 'ou=people,dc=example,dc=com',
    'bind_dn' => 'uid=auth,ou=Sys,dc=example,dc=com',
    'bind_pass' => 'our_secret',
    'domain_base_dn' => '',
    'domain_filter' => '',
    'hidden' => false,
    'searchonly' => false,
    'writable' => false,
    'fieldmap' =>
    array (
      'name' => 'cn',
      'surname' => 'sn',
      'firstname' => 'givenName',
      'jobtitle' => 'title',
      'email' => 'mail:*',
      'phone:work' => 'telephoneNumber',
      'organization' => 'o',
      'department' => 'ou;lang-en-us',
    ),
    'sort' => 'sn',
    'scope' => 'sub',
    'filter' => '(&(objectClass=inetOrgPerson)(!(schacUserStatus=internal)))',
    'fuzzy_search' => true,
    'vlv' => false,
    'vlv_search' => false,
    'numsub_filter' => '(objectClass=organizationalUnit)',
    'config_root_dn' => 'cn=config',
    'sizelimit' => '0',
    'timelimit' => '0',
    'referrals' => false,
    'dereference' => 0,
  ),
);


In the logs am getting the error:


[09-Jun-2021 23:35:01 Europe/Athens] PHP Fatal error:  Uncaught Error: Class 'Net_LDAP3' not found in /var/webs/webmail/rcube/program/lib/Roundcube/rcube_ldap_generic.php:29
Stack trace:
#0 /var/webs/webmail/rcube/program/lib/Roundcube/bootstrap.php(485): include_once()
#1 [internal function]: rcube_autoload('Roundcube/rcube...')
#2 /var/webs/webmail/rcube/program/lib/Roundcube/rcube_ldap.php(253): spl_autoload_call('rcube_ldap_gene...')
#3 /var/webs/webmail/rcube/program/include/rcmail.php(220): rcube_ldap->__construct(Array, false, 'example.com')
#4 /var/webs/webmail/rcube/program/steps/addressbook/photo.inc(40): rcmail->get_address_book('OurOrg')
#5 /var/webs/webmail/rcube/index.php(306): include_once('/var/webs/webma...')
#6 {main}
  thrown in /var/webs/webmail/rcube/program/lib/Roundcube/rcube_ldap_generic.php on line 29


We are currently at RC version 1.4.11, with php 7.4.x on CentOS 7.

Here: https://github.com/roundcube/roundcubemail/issues/6775 I found the suggestion to use the "complete" RC package in order to make Net_LDAP3 available (which seems to be the problem), but I am already using the "complete" package.

I am confused about the possibility to use composer for installation; I am not proficient with it. Any ideas?

Thanks in advance,
Nick

appletech

Actually, after a bit of research, I found and installed:

https://centos.pkgs.org/7/remi-x86_64/php-kolab-net-ldap3-1.1.3-1.el7.remi.noarch.rpm.html

and this solved the problem!

So, no config change was finally needed!

I guess case is closed.

Nick