Save the following file (also attached to this page) to horde/lib/Auth/cpanel.php:
<?php require_once dirname(__FILE__) . '/imap.php'; class Auth_cpanel extends Auth_imap { /** * Constructs a new cpanel authentication object. * * @param array $params A hash containing connection parameters. */ function Auth_cpanel($params = array()) { $this->capabilities['transparent'] = true; parent::Auth_imap($params); } /** * Automatic authentication. * * @return boolean Whether or not the client is allowed. */ function transparent() { if ($this->_authenticate(getenv('REMOTE_USER'), array('password' => getenv('REMOTE_PASSWORD')))) { $this->setAuth(getenv('REMOTE_USER'), array('transparent' => 1, 'password' => getenv('REMOTE_PASSWORD'))); return true; } else { return false; } } }
Then add the following line to horde/config/conf.php after the line saying /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */:
$conf['auth']['driver'] = 'cpanel';
Don't change anything else in the conf.php file.