Even after LocalSettings.php has been put inside the mediawiki-1.42.3 directory it still says that it is not found; why?
Project:Support desk
Appearance
The problem with this is that you are not in the right directory. Assuming you are on Linux, it should be in "/var/www/html/wiki". The mediawiki-1.42.3 directory is just the downloaded file, not the actual installation.
In MediaWiki 1.42.3, could you check: public_html/w/languages/i18n/en-gb.json ?
This is deployed with the language set to British English, but it seem to have some Yoruba terms in it (for example 'Talk' appears as 'Sọ̀rọ̀' and 'Change user groups' starts 'Ìyípo'). I have not been through every one.
This is being tracked in https://phabricator.wikimedia.org/T375487
Is there some documentation about general MediaWiki's compliance with Web Content Accessibility Guidelines 2.0 or 2.1? The pages Accessibility and Accessibility and usability cleanup are a starting point. Still, they suggest there is no real drive toward accessibility, not to speak of a compliance overview, etc.
WCAG are guidelines, and MediaWiki follows most of them to varying degrees in various of its components. We do however not promise compliance (not that it is a legal framework to comply with), and the MW framework as a whole is not regularly tested by a recognized standards body to certify (at the cost of a hefty fee) how much it is or is not 'compliant'.. It also highly depends on what/which functionality you release to which size of audience and if the content authors are the kind of people that mark up their emails with skittle colors.
Thank you for your insight on accessibility with MediaWiki.
Yeah, most of the issues will probably come from users of MediaWiki instances who are unaware of how to create compliant content. I cannot blame them. This is why I asked about plain MediaWiki without user-generated content.
As I learned yesterday while browsing, there are many accessibility testers around. So, I did random tests on some MediaWiki instances, and the results were not bad. Moreover, they provided starting points on how to improve.
If I grokked correctly, e.g., the European Accessibility Act (EAA) should become national law requiring people to provide accessible websites by the end of June 2025. I guess things will get interesting in the first half of next year.
I'm sure I'm not the first to have this issue, but I couldn't find the info I need in FAQs. I'm in the process of setting up a Wiki at knowledge.reconnect.org.uk, I'm currently mostly installing extensions etc. before posting the initial pages that are currently in desktop files that will need editing. All was going well until I attempted another update via http://knowledge.reconnect.org.uk/mw-config/index.php. I got the error message "Your session data was lost! Check your php.ini and make sure session.save_path
is set to an appropriate directory." How do I resolve this? I have MediaWiki 1.40.1 installed.
So, did you
Check your php.ini and make sure
session.save_path
is set to an appropriate directory.
?
The error message indicates that the session data can not be stored. This may be related to the mentioned configuration. There is also Manual:$wgSessionCacheType which may contain useful information, but I don't think it really applies to the web installer.
Hi Osnard, thanks for your quick response. Unfortunately, I don't currently have command line access - but that will get sorted in the next 24 hours. Perhaps I just need to wait for that?! I don't understand why the problem suddenly appeared, I was just setting up the ConfirmEdit Extension... as soon as I can, I'll check php.ini and post what I find here. Hopefully it'll be a solution. Thanks!
I have an older script "Werbung.php" which was intecrated per
require_once( "$IP/extensions/Werbung/Werbung.php" );
$wgHooks['ParserBeforeStrip'][]='Werbung';
in the LocalSettings.php and now don't work under version 1.42.
Unfortunately I can't find any hint in error.log of PHP for the problem. What's the best way to fix this update-problem?
Thanks in advance.
It is probably no longer compatible. You would have to ask the author of Werbung.php to release a newer version, or update the code yourse to be conpatible with newer versions of Mediawiki.
Thank your for this information. The author is not available. Perhaps someone has a hint as to what should be adapted here (ins the (in the manageable code):
function getPOIs($cmd) { require_once("/usr/www/users/data.php"); $mysqli = new mysqli($DBHost, $DBUser, $DBPass, $DBName); #Aufbau des Kommandos:<!-- Karte;latitude;longitude;zoom;NumberOfPOIs --> $c = preg_split('/;/', $cmd[0]); $latitude = $c[1]; $longitude = $c[2]; $zoom = $c[3]; $c4 = intval($c[4]); #30.5.15 Anzahl der POIs begrenzen $maxNumberOfPOIs = $c4; if ($c4 == 0) $maxNumberOfPOIs = 50; # POI Anzahl if ($c4 > 1500) $maxNumberOfPOIs = 1500; $map = "{{#display_map: "; $query = "select src from vaPOIs2 order by sqrt( power(lat-$latitude,2) + power(lon-$longitude,2) ) limit $maxNumberOfPOIs"; $result = $mysqli->query($query); while($row = $result->fetch_row()) { $map .= $row[0] . "\n"; } $map = trim ($map); $map = trim ($map, ';'); $map .= "|service=openlayers|center=$latitude, $longitude|width=100%|zoom=$zoom}}"; return $map; } #funct getPOIs function Werbung(&$parser, &$text) { $text = preg_replace_callback ('/<!-- Karte.* -->/', "getPOIs", $text); echo $text; return(true); }
This code looks very simple. Apparently it just composes an invocation of Extension:Maps, based on some database content. But I don't think we can discuss it here on the SupportDesk.
Maybe you want to check out the Professional_development_and_consulting page.
Thanks for the tip. My idea with the board here was just to get an approach to solving the problem. I thought that some people would have to fix similar problems with an update...
You will need to update the "Werbung" extension. There is a guide available that may help you: Manual:Extension_registration/Migration
I had already tried a few things - unfortunately always without success:
1. with Manual:Hooks/de to replace $wgHooks['ParserBeforeStrip'][]='Werbung';
-> Werbung ( $parser, $text );
2. Manual:Hooks/ParserBeforeInternalParse extensions.json -> add:
"HookHandlers": {
"main": {
"class": "MediaWiki\\Extension\\Werbung",
}
},
"Hooks": {
"ParserBeforeStrip": "Werbung",
"services": [ "UserNameUtils" ]
}
alternativ:
"Hooks": {
"ParserBeforeStrip": "MediaWiki\\Extension\\Werbung\\Hooks::onParserBeforeStrip"
},
(at least there was no error message with this version)
But I probably just don't have the right approach ?
The error probably went away because your changes made it fail before the error was encountered.
You should probably post any error message you got.
I have found the error messages of the function
function Werbung(&$parser, &$text) {
$text = preg_replace_callback ('//', "getPOIs", $text);
#echo $text;
#echo "<br><brblblb lblbllbd lbalbab.<br><br>";
return(true);
}
which I set in the LocalSettings.php
Werbung ( $parser, $text );
(instead of the old Hook #$wgHooks['ParserBeforeStrip'][]='Werbung';)
Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/abc/archiv24/extensions/Werbung/Werbung.php on line 49
Notice: Headers already sent, should send headers earlier than require [Called from MediaWiki\Request\HeaderCallback::warnIfHeadersSent in /usr/www/users/veikkoc/archiv24/includes/Request/HeaderCallback.php at line 94] in /usr/www/users/abc/archiv24/includes/debug/MWDebug.php on line 492
Warning: session_name(): Session name cannot be changed after headers have already been sent in /usr/www/users/abc/archiv24/includes/Setup.php on line 472
You can not call something like Werbung ( $parser, $text );
within LocalSettings.php
. There is neither a $parser
nor a $text
in this context. You need to register the method as a hook handler.
The messages are (more or less) unrelated. I guess you have an empty line somewhere before a <?php
or after a ?>
.
I used the info in Manual:Hooks and changed, like
Function, no data | $wgHooks['EventName'][] = 'efSomeFunction'; |
efSomeFunction( $param1, $param2 ); |
#$wgHooks['ParserBeforeStrip'][]='Werbung'; -> Werbung ( $parser, $text );
(old version -> new version 1.42)
But what exactly is missing?
Respectfully, that's just not how this works at all. I would suggest an introduction to php tutorial. (E.g. https://www.javatpoint.com/php-tutorial )
Hello, thanks for your answer. I thought, if I change the script according to the instruction from Manual:Hooks , an uncomplicated adaption is possible. But if not, who could help me with this little scirpt?
I guess, in case you want help from the community, you should consider making the whole code publicly available (e.g. on github.com). Make sure to use a proper open source license. There are no guarantees you will find a volunteer though.
Otherwise, check out Professional development and consulting.
Can I get notifications from Extension:Echo (and other extensions using same mechanism, seeing as "Other MediaWiki extensions can make use of Notifications to send their own notifications; Thanks and DiscussionTools are two such extensions") pushed to Android? If this is not implemented, please guide me how to do it regarding the available API and examples of similar open-source apps, then I can try to develop this feature. I would like to do this as part of an app which is not focused on Wikipedia only, it should allow the users to specify the address of the wiki (or multiple wikis) where to get the notifications from in their Android device.
The notifications can be pushed to the (Wikipedia) mobile app, by going Preferences -> Notifications and checking the notifications for the 'Mobile' channel.
As there is only a Wikipedia Android app, those are the only sites of which you can push the notifications to Android. As Application notifications need to be configured by the website owner and registered etc etc, I don't think you can push them to your own app.
Of course you can build your own push server to push them. But then you'd have to fetch them using the api from this server, which would be less than ideal, as you'd have to pull them in that case, before you can push, which is pretty inefficient.
I guess someone could implement push notifications on the real site instead of the app.
Hi TheDJ, Bawolff, thank you for your replies. How does it work in the English Wikipedia app? Where is the push server?
I'm not entirely sure, there seems to be some documentation here: https://wikitech.wikimedia.org/wiki/Push_notifications and Wikimedia Product Infrastructure team/Push Notifications Infrastructure
Thanks. I've found the latter link useful as there is an api query that allows to subscribe to receive new notification. Example of how to leverage this in a tiny sample Android app would be very helpful.
(The infrastructure team is now known as Content Transform Team. @MSantos (WMF) @SLopes-WMF)
TheDJ, Bawolff, I appreciate your advice however I've had zero progress because I don't know what I need to do to achieve what I want: write an app that allows me to receive on-wiki notifications as push notifications on Android, and allow me to write custom code to send additional notifications triggered by events which I want which are not included in Echo/Notifications system. Could you please provide me with step by step instructions?
I can administer a software on a toolforge server if it is needed.
I also don't know. I can only give the pointers that I have given.
I have built a Mediawiki 1.42.3 on the latest version of Rocky9 and imported my database from a previous version. Everything works except (Open)LDAP login which returns an error when I try to login. The strange thing is that the error is different if I clear my cookie cash. I know that LDAP is working because I can login at the OS level using sssd. Is there any way to debug this as the logs give me no clue?
These are my LocalSettings.php LDAP settings:
######### LDAP ########
#######################
# LDAP Extensions
######################
wfLoadExtensions( [
'PluggableAuth',
'Auth_remoteuser',
'LDAPProvider',
'LDAPAuthentication2',
'LDAPAuthorization',
'LDAPUserInfo'
] );
$LDAPAuthorizationAutoAuthRemoteUserStringParser = 'username-at-domain';
$LDAPAuthentication2UsernameNormalizer = 'strtolower';
$LDAPAuthentication2AllowLocalLogin = true;
$wgAuthRemoteuserAllowUserSwitch = true;
$wgPluggableAuth_EnableLocalLogin = true;
$wgAuthRemoteuserUserName = function() {
$user = '';
if( isset( $_SERVER[ 'REMOTE_USER' ] ) ) {
$user = strtolower( $_SERVER[ 'REMOTE_USER' ] );
}
return $user;
};
$LDAPProviderDomainConfigProvider = function() {
$config = [
'acmecorp.com' => [
'connection' => [
"server" => "auth.acmecorp.com",
"user": "cn=readonlyroot,dc=acme,dc=corp",
"pass": "PASSWD",
"options" => [
"LDAP_OPT_DEREF" => 1
],
"basedn" => "dc=acme,dc=corp",
"groupbasedn" => "ou=group,dc=acme,dc=corp",
"userbasedn" => "ou=people,dc=acme,dc=corp",
"searchattribute" => "uid",
"usernameattribute" => "uid",
"realnameattribute" => "fullname",
"emailattribute" => "mail",
"grouprequest" => "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::factory"
],
'authorization' => [
'rules' => [
'groups' => [
'required' => [
'cn=readonlyroot,dc=acme,dc=corp'
]
]
]
],
'userinfo' => [
'attributes-map' => [
'email' => 'mail',
'realname' => 'fullname'
]
]
]
];
return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );
};
# In any case we need to specify LDAP domain configs
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";
# Local login is enabled
$wgPluggableAuth_EnableLocalLogin = true;
$LDAPAuthentication2AllowLocalLogin = true;
$wgPluggableAuth_Class = "MediaWiki\\Extension\\LDAPAuthentication2\\PluggableAuth";
$wgPluggableAuth_ButtonLabel = "Log In (PluggableAuth)";
$wgPluggableAuth_Config['Log In (auth1.acmecorp.com)'] = [
'plugin' => 'LDAPAuthentication2',
'data' => [
'domain' => 'acmecorp.com'
]
];
# LDAP
wfLoadExtension( 'PluggableAuth' );
$wgPluggableAuth_EnableAutoLogin = false; #if true, disables the logout option
$wgPluggableAuth_EnableLocalLogin = true;
wfLoadExtension( 'LDAPProvider' );
$LDAPProviderDomainConfigs = "$IP/ldapprovider.json";
wfLoadExtension( 'LDAPAuthentication2' );
$LDAPAuthentication2AllowLocalLogin = true;
### EDIT EDIT ENABLE DEBUG LOGS
/**
* The debug log file must never be publicly accessible because it
* contains private data. But ensure that the directory is writeable by the
* PHP script running within your Web server.
* The filename is with the database name of the wiki.
*/
$wgDebugLogFile = "/var/log/mediawiki/debug-{$wgDBname}.log";
### ALSO turn on LDAP debug
$wgLDAPDebug = 99;
$wgDebugLogGroups['ldap'] = '/var/log/mediawiki/debug-ldap.log';
$wgShowExceptionDetails = true;
#$wgRevokePermissions['user']['createaccount'] = true;
# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;
## Forces user to login to view Wiki
## # The following permissions were set based on your choice in the installer
## $wgGroupPermissions['*']['createaccount'] = false;
## $wgGroupPermissions['*']['edit'] = false;
## $wgGroupPermissions['*']['read'] = false;
I have also tried using ldapprovider.json and that doesn't help either?
{
"LDAP": {
"connection": {
"server": "auth.acme.com",
"user": "cn=readonlyroot,dc=acme,dc=corp",
"pass": "PASSWD",
"port": 636,
"enctype": "tls",
"options": {
"LDAP_OPT_DEREF": 1
},
"basedn": "dc=acme,dc=corp",
"userbasedn": "ou=people,dc=acme,dc=corp",
"groupbasedn": "ou=group,dc=acme,dc=corp",
"searchattribute": "uid",
"searchstring": "uid=USER-NAME,ou=people,dc=acme,dc=corp",
"usernameattribute": "uid",
"realnameattribute": "cn",
"emailattribute": "mail"
},
"userinfo": {
"attributes-map": {
"email": "mail",
"realname": "cn",
"nickname": "uid"
}
}
}
}
[...] The strange thing is that the error is different if I clear my cookie cash. [...]
What exactly is the error?
Please, enable debug logging and share the (redacted) results.
MediaWiki internal error.
Original exception: [Zxt-iIUMHHwirGji-KznVQAAAMA] /wiki/index.php?title=Special:UserLogin&returnto=Development+Info+Wiki TypeError: Cannot assign null to property MediaWiki\Extension\Auth_remoteuser\UserNameSessionProvider::$remoteToken of type string
Backtrace:
from /var/www/html/mediawiki-1.42.3/extensions/Auth_remoteuser/src/UserNameSessionProvider.php(793)
#0 /var/www/html/mediawiki-1.42.3/includes/session/SessionBackend.php(756): MediaWiki\Extension\Auth_remoteuser\UserNameSessionProvider->persistSession()
#1 /var/www/html/mediawiki-1.42.3/includes/session/SessionBackend.php(670): MediaWiki\Session\SessionBackend->save()
#2 /var/www/html/mediawiki-1.42.3/includes/session/SessionBackend.php(346): MediaWiki\Session\SessionBackend->autosave()
#3 /var/www/html/mediawiki-1.42.3/includes/session/Session.php(133): MediaWiki\Session\SessionBackend->persist()
#4 /var/www/html/mediawiki-1.42.3/includes/specialpage/LoginSignupSpecialPage.php(249): MediaWiki\Session\Session->persist()
#5 /var/www/html/mediawiki-1.42.3/includes/specialpage/SpecialPage.php(719): MediaWiki\SpecialPage\LoginSignupSpecialPage->execute()
#6 /var/www/html/mediawiki-1.42.3/includes/specialpage/SpecialPageFactory.php(1669): MediaWiki\SpecialPage\SpecialPage->run()
#7 /var/www/html/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#8 /var/www/html/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(145): MediaWiki\Actions\ActionEntryPoint->performRequest()
#9 /var/www/html/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(199): MediaWiki\Actions\ActionEntryPoint->execute()
#10 /var/www/html/mediawiki-1.42.3/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#11 {main}
Exception caught inside exception handler: [Zxt-iIUMHHwirGji-KznVQAAAMA] /wiki/index.php?title=Special:UserLogin&returnto=Development+Info+Wiki TypeError: Cannot assign null to property MediaWiki\Extension\Auth_remoteuser\UserNameSessionProvider::$remoteToken of type string
Backtrace:
from /var/www/html/mediawiki-1.42.3/extensions/Auth_remoteuser/src/UserNameSessionProvider.php(793)
#0 /var/www/html/mediawiki-1.42.3/includes/session/SessionBackend.php(756): MediaWiki\Extension\Auth_remoteuser\UserNameSessionProvider->persistSession()
#1 /var/www/html/mediawiki-1.42.3/includes/session/SessionBackend.php(659): MediaWiki\Session\SessionBackend->save()
#2 [internal function]: MediaWiki\Session\SessionBackend->MediaWiki\Session\{closure}()
#3 /var/www/html/mediawiki-1.42.3/vendor/wikimedia/scoped-callback/src/ScopedCallback.php(102): call_user_func_array()
#4 /var/www/html/mediawiki-1.42.3/vendor/wikimedia/scoped-callback/src/ScopedCallback.php(58): Wikimedia\ScopedCallback->__destruct()
#5 /var/www/html/mediawiki-1.42.3/includes/session/SessionManager.php(951): Wikimedia\ScopedCallback::consume()
#6 /var/www/html/mediawiki-1.42.3/includes/session/SessionManager.php(268): MediaWiki\Session\SessionManager->getSessionFromInfo()
#7 /var/www/html/mediawiki-1.42.3/includes/Request/WebRequest.php(864): MediaWiki\Session\SessionManager->getSessionById()
#8 /var/www/html/mediawiki-1.42.3/includes/skins/Skin.php(1721): MediaWiki\Request\WebRequest->getSession()
#9 /var/www/html/mediawiki-1.42.3/includes/skins/Skin.php(1730): Skin->hideNewTalkMessagesForCurrentSession()
#10 /var/www/html/mediawiki-1.42.3/includes/skins/SkinMustache.php(137): Skin->getNewtalks()
#11 /var/www/html/mediawiki-1.42.3/skins/Vector/includes/SkinVectorLegacy.php(161): SkinMustache->getTemplateData()
#12 /var/www/html/mediawiki-1.42.3/includes/skins/SkinMustache.php(92): MediaWiki\Skins\Vector\SkinVectorLegacy->getTemplateData()
#13 /var/www/html/mediawiki-1.42.3/includes/skins/SkinTemplate.php(176): SkinMustache->generateHTML()
#14 /var/www/html/mediawiki-1.42.3/includes/Output/OutputPage.php(3004): SkinTemplate->outputPage()
#15 /var/www/html/mediawiki-1.42.3/includes/exception/MWExceptionRenderer.php(189): MediaWiki\Output\OutputPage->output()
#16 /var/www/html/mediawiki-1.42.3/includes/exception/MWExceptionRenderer.php(106): MWExceptionRenderer::reportHTML()
#17 /var/www/html/mediawiki-1.42.3/includes/exception/MWExceptionHandler.php(133): MWExceptionRenderer::output()
#18 /var/www/html/mediawiki-1.42.3/includes/exception/MWExceptionHandler.php(237): MWExceptionHandler::report()
#19 /var/www/html/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(221): MWExceptionHandler::handleException()
#20 /var/www/html/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(82): MediaWiki\MediaWikiEntryPoint->handleTopLevelError()
#21 /var/www/html/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(205): MediaWiki\Actions\ActionEntryPoint->handleTopLevelError()
#22 /var/www/html/mediawiki-1.42.3/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#23 {main}
I enabled debugging as follows but couldn't see anything LDAP related.
$wgDebugLogFile = "/var/log/mediawiki/debug-{$wgDBname}.log";
### ALSO turn on LDAP debug
$wgLDAPDebug = 99;
$wgDebugLogGroups['ldap'] = '/var/log/mediawiki/debug-ldap.log';
$wgShowExceptionDetails = true;
Stupid question: Which directory should this be in? /var/www/html/mediawiki-1.42.3 or /var/www/html ?
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";
You are using Extension:Auth_remoteuser. Can you confirm you have set up the webserver in a way it provides a $_SERVER['REMOTE_USER']
? Something like Kerberos authentication?
I have not done any browser configuration other than to create the ssl.conf and to install the SSL certs as I cannot find any instructions for this, so any advice would be gratefully received .
I built this server from scratch and imported the database from a very old server that runs Centos-7 and has never been updated. It is using the original LDAPAUTH plugin and I can only see the changes that were made to LocalSettings.php. Is there somewhere else I should look?
Both servers are authenticating to an OpenLDAP server.
The old Extension:LDAP_Authentication supported implicit authentication via . But it did not require it. I can not tell if it was used in your old set up (maybe you can share a redacted version of your old configuration here). If not, you don't need Extension:Auth_remoteuser. If it was, you need to configure your webserver in a way it performs the Kerberos authentication and hands over the authenticated username to the wiki application (usually this is done in the [$_SERVER['REMOTE_USER']
] variable). It highly depends on your webserver (Apache, Nginx, IIS) how this needs to be done.
I cannot find any mention of Extension:Auth_remoteuser in the config.
Hi,
The old v1.34.2 server used:
$wgAuth = new LdapAuthenticationPlugin(); $wgAuthManagerAutoConfig['primaryauth'] += [
LdapPrimaryAuthenticationProvider::class => [ 'class' => LdapPrimaryAuthenticationProvider::class, 'args' => [[ 'authoritative' => true, // don't allow local non-LDAP accounts ]], 'sort' => 50, // must be smaller than local pw provider ],
];
$wgLDAPDomainNames = array("ACMELDAP"); $wgLDAPServerNames = array("ACMELDAP"=>"auth.ACMEcorp.com");
$wgLDAPServerNames = array("ACMELDAP"=>"ldapserver.ACMEcorp.com");
$wgLDAPUseLocal = false;
$wgLDAPEncryptionType = array("ACMELDAP"=>"ssl"); $wgLDAPEncryptionType = array("ACMELDAP"=>"tls", "ACMELDAP"=>"ssl", "ACMELDAP"=>"clear", );
$wgLDAPEncryptionType = array("ACMELDAP"=>"ssl"); $wgLDAPOptions = array("ACMELDAP" => array( LDAP_OPT_DEREF, 1 )); $wgLDAPPort = array("ACMELDAP"=>636);
$wgLDAPSearchStrings = array("testLDAPdomain"=>"uid=USER-NAME,ou=people,dc=ACME,dc=corp");
$wgLDAPSearchStrings = array("ACMELDAP"=>"uid=USER-NAME,ou=people,dc=ACME,dc=corp"); $wgLDAPSearchAttributes = array("ACMELDAP"=>"uid"); $wgLDAPBaseDNs = array("ACMELDAP"=>"dc=ACME,dc=corp"); $wgLDAPGroupBaseDNs = array("ACMELDAP"=>"ou=group,dc=ACME,dc=corp"); $wgLDAPUserBaseDNs = array("ACMELDAP"=>"ou=people,dc=ACME,dc=corp"); $wgLDAPProxyAgent = array("ACMELDAP" => "cn=readonlyroot,dc=ACME,dc=corp"); $wgLDAPProxyAgentPassword = array("ACMELDAP" => "PASSWD"); $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['autocreateaccount'] = true;
Hi, I noticed that if a user with "bot" permission pinging in the edit summary, the ping is not sent.
(I note that the question arose from a wiki site that does not belong to the Wikimedia Foundation, where manual edits are made through the bot account, so it is necessary to send pings.)
what can be done?
Thanks in advance!
You could remove the !$user->isBot()
check in the file includes/DiscussionParser.php
in the Echo extension code base.
Thank you!
Hello, I configured cirrussearch on my Mediawiki. Some keywords will found but the most one not. What can I do.
The elasitc search has follow indexes:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open mw_cirrus_metastore_first 7wp2GksrTomwLR1PNLEIaw 1 0 20 2 12.5kb 12.5kb
green open wikidb_general_first MIUxSiRoRliaRZuW_9nXyg 1 0 66 8 403.7kb 403.7kb
green open wikidb_content_first anQitu8XQRupvOwAYYEZiw 1 0 111 0 8.3mb 8.3mb
Hi! I just installed the "I'm bored" setup and I'm getting an error when the software tries to connect to the database. It's using the shared server name and not the configured db server name (even though that's reported). The error (sensitive details obscured) is as follows: Exception caught inside exception handler: [Zww0topbIUZYzy1vPmphxwAAACU] /index.php Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Access denied for user '<name>'@'<hosting system>' (using password: YES) (<db server name>)
I'm not sure where <hosting system> comes from after trying to track it down the code. Here's the full dump:
MediaWiki internal error.
Original exception: [Zww0topbIUZYzy1vPmphxwAAACU] /index.php Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Access denied for user '<name>'@'<hosting system>' (using password: YES) (<db server name>)
Backtrace:
from /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1138)
#0 /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(794): Wikimedia\Rdbms\LoadBalancer->reportConnectionError()
#1 /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(782): Wikimedia\Rdbms\LoadBalancer->getServerConnection(integer, string, integer)
#2 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal(integer, array, string, integer)
#3 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection()
#4 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(338): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#5 /path to/mediawiki-1.42.3/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(747): Wikimedia\Rdbms\DBConnRef->selectField(array, string, array, string, array, array)
#6 /path to/mediawiki-1.42.3/includes/language/LCStoreDB.php(65): Wikimedia\Rdbms\SelectQueryBuilder->fetchField()
#7 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(563): LCStoreDB->get(string, string)
#8 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(609): LocalisationCache->isExpired(string)
#9 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(520): LocalisationCache->initLanguage(string)
#10 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(400): LocalisationCache->loadSubitem(string, string, string)
#11 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(416): LocalisationCache->getSubitem(string, string, string)
#12 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1251): LocalisationCache->getSubitemWithSource(string, string, string)
#13 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1193): MessageCache->getMessageForLang(LanguageEn, string, boolean, array)
#14 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1088): MessageCache->getMessageFromFallbackChain(LanguageEn, string, boolean)
#15 /path to/mediawiki-1.42.3/includes/Message/Message.php(1530): MessageCache->get(string, boolean, LanguageEn)
#16 /path to/mediawiki-1.42.3/includes/Message/Message.php(1018): MediaWiki\Message\Message->fetchMessage()
#17 /path to/mediawiki-1.42.3/includes/Message/Message.php(1105): MediaWiki\Message\Message->format(string)
#18 /path to/mediawiki-1.42.3/includes/title/MalformedTitleException.php(61): MediaWiki\Message\Message->text()
#19 /path to/mediawiki-1.42.3/includes/title/MediaWikiTitleCodec.php(101): MediaWiki\Title\MalformedTitleException->__construct(string, string, array)
#20 /path to/mediawiki-1.42.3/includes/title/MediaWikiTitleCodec.php(411): MediaWiki\Title\MediaWikiTitleCodec::MediaWiki\Title\{closure}(string, string)
#21 /path to/mediawiki-1.42.3/includes/title/Title.php(2754): MediaWiki\Title\MediaWikiTitleCodec->splitTitleString(string, integer)
#22 /path to/mediawiki-1.42.3/includes/title/Title.php(504): MediaWiki\Title\Title->secureAndSplit(string)
#23 /path to/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(240): MediaWiki\Title\Title::newFromURL(string)
#24 /path to/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(331): MediaWiki\Actions\ActionEntryPoint->parseTitle(MediaWiki\Request\WebRequest)
#25 /path to/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(93): MediaWiki\Actions\ActionEntryPoint->getTitle()
#26 /path to/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(199): MediaWiki\Actions\ActionEntryPoint->execute()
#27 /path to/mediawiki-1.42.3/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#28 {main}
Exception caught inside exception handler: [Zww0topbIUZYzy1vPmphxwAAACU] /index.php Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Access denied for user '<name>'@'<hosting system>' (using password: YES) (<db server name>)
Backtrace:
from /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1138)
#0 /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(794): Wikimedia\Rdbms\LoadBalancer->reportConnectionError()
#1 /path to/mediawiki-1.42.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(782): Wikimedia\Rdbms\LoadBalancer->getServerConnection(integer, string, integer)
#2 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal(integer, array, string, integer)
#3 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection()
#4 /path to/mediawiki-1.42.3/includes/libs/rdbms/database/DBConnRef.php(338): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#5 /path to/mediawiki-1.42.3/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(747): Wikimedia\Rdbms\DBConnRef->selectField(array, string, array, string, array, array)
#6 /path to/mediawiki-1.42.3/includes/language/LCStoreDB.php(65): Wikimedia\Rdbms\SelectQueryBuilder->fetchField()
#7 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(536): LCStoreDB->get(string, string)
#8 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(400): LocalisationCache->loadSubitem(string, string, string)
#9 /path to/mediawiki-1.42.3/includes/language/LocalisationCache.php(416): LocalisationCache->getSubitem(string, string, string)
#10 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1251): LocalisationCache->getSubitemWithSource(string, string, string)
#11 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1193): MessageCache->getMessageForLang(LanguageEn, string, boolean, array)
#12 /path to/mediawiki-1.42.3/includes/language/MessageCache.php(1088): MessageCache->getMessageFromFallbackChain(LanguageEn, string, boolean)
#13 /path to/mediawiki-1.42.3/includes/Message/Message.php(1530): MessageCache->get(string, boolean, LanguageEn)
#14 /path to/mediawiki-1.42.3/includes/Message/Message.php(1018): MediaWiki\Message\Message->fetchMessage()
#15 /path to/mediawiki-1.42.3/includes/Message/Message.php(1105): MediaWiki\Message\Message->format(string)
#16 /path to/mediawiki-1.42.3/includes/exception/MWExceptionRenderer.php(255): MediaWiki\Message\Message->text()
#17 /path to/mediawiki-1.42.3/includes/exception/MWExceptionRenderer.php(408): MWExceptionRenderer::msg(string, string)
#18 /path to/mediawiki-1.42.3/includes/exception/MWExceptionRenderer.php(104): MWExceptionRenderer::reportOutageHTML(Wikimedia\Rdbms\DBConnectionError)
#19 /path to/mediawiki-1.42.3/includes/exception/MWExceptionHandler.php(133): MWExceptionRenderer::output(Wikimedia\Rdbms\DBConnectionError, integer)
#20 /path to/mediawiki-1.42.3/includes/exception/MWExceptionHandler.php(237): MWExceptionHandler::report(Wikimedia\Rdbms\DBConnectionError)
#21 /path to/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(221): MWExceptionHandler::handleException(Wikimedia\Rdbms\DBConnectionError, string)
#22 /path to/mediawiki-1.42.3/includes/actions/ActionEntryPoint.php(82): MediaWiki\MediaWikiEntryPoint->handleTopLevelError(Wikimedia\Rdbms\DBConnectionError)
#23 /path to/mediawiki-1.42.3/includes/MediaWikiEntryPoint.php(205): MediaWiki\Actions\ActionEntryPoint->handleTopLevelError(Wikimedia\Rdbms\DBConnectionError)
#24 /path to/mediawiki-1.42.3/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#25 {main}
It is normal that '<name>'@'<hosting system>' in the error message should use the IP address of the web server. This is just how mysql formats error message - the ip address is the server making the request, not the database server.
Be sure that the db user being used has all the appropriate rights.
Thanks @Bawolff. I have looked in the LocalSettings.php file and the information there matches what I use when logging in using the `mysql` command line tool via ssh to the remote machine.
I'm going to give the web server permissions to the DB and see if that fixes things.
Well, that didn't help either. It turns out that the escape character that was placed in the password string wasn't needed. Deleting that allowed the log in.