The LocalSettings.php is configured like below
$wgGroupPermissions['engineering'] = $wgGroupPermissions['user'];
// Private Wiki. External LDAP login. Default NS requires login.
$wgEmailConfirmToEdit = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['createaccount'] = true;
$wgGroupPermissions['sysop']['createaccount'] = true;
$wgGroupPermissions['*']['autocreateaccount'] = true;
$wgBlockDisablesLogin = true;
// Load LDAP Config from JSON
$ldapJsonFile = "ldap.json";
$ldapConfig = false;
if (is_file($ldapJsonFile) && is_dir("extensions/LDAPProvider") ) {
$testJson = @json_decode(file_get_contents($ldapJsonFile),true);
if (is_array($testJson)) {
$ldapConfig = true;
} else {
error_log("Found invalid JSON in file: ldap.json");
$ldapConfig = true;
}
}
$wgShowExceptionDetails = true;
//$wgShowSQLErrors = true;
//$wgShowDBErrorBacktrace = true;
// $wgPluggableAuth_EnableAutoLogin = false;
// $wgPluggableAuth_EnableLocalLogin = true;
$wgPluggableAuth_EnableLocalProperties = false;
$wgPluggableAuth_ExtraLoginFields=[];
$wgPluggableAuth_Class = "MediaWiki\\Extension\\LDAPAuthentication2\\PluggableAuth";
//$wgPluggableAuth_Class="MediaWiki\Extension\PluggableAuth\PluggableAuth";
// $wgPluggableAuth_ButtonLabel = "Log In";
$wgPluggableAuth_Config['Log In (xxx.local)'] = [
'plugin' => 'LDAPAuthentication2',
'data' => [
'domain' => 'xxx.local'
]
];
$LDAPAuthentication2AllowLocalLogin=true;
$LDAPAuthentication2UsernameNormalizer= "";
// Activate Extension
if($ldapConfig) {
wfLoadExtension( 'PluggableAuth' );
wfLoadExtension( 'LDAPProvider' );
wfLoadExtension( 'LDAPAuthentication2' );
wfLoadExtension( 'LDAPAuthorization' );
wfLoadExtension( 'LDAPUserInfo' );
wfLoadExtension( 'LDAPGroups' );
$LDAPProviderDomainConfigs = $ldapJsonFile;
// Force LDAPGroups to sync by choosing a domain (e.g. first JSON object in ldap.json)
$LDAPProviderDefaultDomain = "xxx.local";
//if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }
}
and the ldap.json file configuration is
{
"xxx.local":{
"connection": {
"server": "dc,xxx.local",
"port": "389",
"user": "CN=dcadmin,OU=Users,DC=xxx,DC=local",
"pass": "dc@#xyz",
"options": {
"LDAP_OPT_REFERRALS": 1
},
"basedn": "dc=xxx,dc=local",
"groupbasedn": "cn=zzz xxx family,ou=Distribution Group,dc=xxx,dc=local",
"userbasedn": "cn=zzz xxx family,ou=Distribution Group,dc=ethio,dc=local",
"searchattribute": "sAMAccountName",
"searchstring": "samaccountname",
"usernameattribute": "samaccountname",
"realnameattribute": "cn",
"emailattribute": "mail"
},
"userinfo": [],
"authorization": [],
"groupsync": {
"mapping": {
"bureaucrat": "CN=zzz xxx family,OU=Distribution Group,DC=XXX,DC=local",
"engineering": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=locall",
"interface-admin": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=local",
"sysop": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=local"
}
}
}
}
The error output is
Deprecated: Use of PersonalUrls hook (used in PluggableAuthHooks::modifyLoginURLs) was deprecated in MediaWiki 1.39. [Called from MediaWiki\HookContainer\HookContainer::run in C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php at line 137] in C:\xampp\htdocs\ethiowiki\includes\debug\MWDebug.php on line 381
MediaWiki internal error.
Original exception: [5e0d07f782094fdb33f0a479] /ethiowiki/index.php Error: Call to undefined method PluggableAuthHooks::modifyLoginURLs()
Backtrace:
from C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(338)
#0 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#1 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookRunner.php(3045): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#2 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(582): MediaWiki\HookContainer\HookRunner->onPersonalUrls(array, Title, MediaWiki\Skins\Vector\SkinVectorLegacy)
#3 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(1262): SkinTemplate->buildPersonalUrls(boolean)
#4 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(790): SkinTemplate->buildContentNavigationUrlsInternal()
#5 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(229): SkinTemplate->getPortletsTemplateData()
#6 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(88): SkinTemplate->getTemplateData()
#7 C:\xampp\htdocs\ethiowiki\skins\Vector\includes\SkinVector.php(450): SkinMustache->getTemplateData()
#8 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(58): MediaWiki\Skins\Vector\SkinVector->getTemplateData()
#9 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(177): SkinMustache->generateHTML()
#10 C:\xampp\htdocs\ethiowiki\includes\OutputPage.php(2874): SkinTemplate->outputPage()
#11 C:\xampp\htdocs\ethiowiki\includes\MediaWiki.php(922): OutputPage->output(boolean)
#12 C:\xampp\htdocs\ethiowiki\includes\MediaWiki.php(562): MediaWiki->main()
#13 C:\xampp\htdocs\ethiowiki\index.php(50): MediaWiki->run()
#14 C:\xampp\htdocs\ethiowiki\index.php(46): wfIndexMain()
#15 {main}
Exception caught inside exception handler: [5e0d07f782094fdb33f0a479] /ethiowiki/index.php Error: Call to undefined method PluggableAuthHooks::modifyLoginURLs()
Backtrace:
from C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(338)
#0 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#1 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookRunner.php(3045): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#2 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(582): MediaWiki\HookContainer\HookRunner->onPersonalUrls(array, Title, MediaWiki\Skins\Vector\SkinVectorLegacy)
#3 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(1262): SkinTemplate->buildPersonalUrls(boolean)
#4 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(790): SkinTemplate->buildContentNavigationUrlsInternal()
#5 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(229): SkinTemplate->getPortletsTemplateData()
#6 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(88): SkinTemplate->getTemplateData()
#7 C:\xampp\htdocs\ethiowiki\skins\Vector\includes\SkinVector.php(450): SkinMustache->getTemplateData()
#8 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(58): MediaWiki\Skins\Vector\SkinVector->getTemplateData()
#9 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(177): SkinMustache->generateHTML()
#10 C:\xampp\htdocs\ethiowiki\includes\OutputPage.php(2874): SkinTemplate->outputPage()
#11 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionRenderer.php(183): OutputPage->output()
#12 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionRenderer.php(102): MWExceptionRenderer::reportHTML(Error)
#13 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionHandler.php(131): MWExceptionRenderer::output(Error, integer)
#14 C:\xampp\htdocs\ethiowiki
all the ldap extensions is mediawiki 1.39, for your support please