Testwiki: Difference between revisions

From NURDspace
mNo edit summary
No edit summary
Line 60: Line 60:


Some settings might not be necessary, such as the wgGroupPermissions and wgHooks. I'll do some experimenting to see if it can be cleaned up.
Some settings might not be necessary, such as the wgGroupPermissions and wgHooks. I'll do some experimenting to see if it can be cleaned up.
* What needs to be done when installing is execute the .sql file that comes with the LdapAuthenticate extension:
mysql -uwikiuser -pgodver nurdspace_wiki < /var/www/extensions/LdapAuthentication/ldap.sql
* This will create a table that is needed by the extension. I should execute it by itself at first run, however, it does not.


= Todo =
= Todo =

Revision as of 18:17, 30 May 2013

NURDs Inventory
NoPicture.png
Owner The wikipage input value is empty (e.g. <code>SomeProperty::, [[]]</code>) and therefore it cannot be used as a name or as part of a query condition.
Status
Tool
Tool category

{{{Name}}}Property "Tool Name" (as page type) with input value "{{{Name}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. Property "Tool Image" (as page type) with input value "File:{{{Picture}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. {{{Picture}}} User:FwD {{{Location}}}Property "Tool Location" (as page type) with input value "{{{Location}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.

On this VM I'll create a duplicate of the actual Wiki to test how hooking it up to the LDAP will turn out.

IP: 192.168.1.223

Status

  • Files copied from the real wiki (/root/filestmp)
  • Files put in /var/www/
  • Database dumped from the real wiki
  • Database put in /root/backup.sql
  • Database and files in place, wiki working (http://testwiki.nurdspace.lan/)
  • Ldap plugin installed and working
  • Current problem: the mediawiki login system converts the first character of the username you feed it to uppercase, possibly due to restrictions on usernames. See /tmp/debug.log for this error (when logging in as 'fwd'):
2013-05-22 21:15:50 testwiki nurdspace_wiki: 2.0d Failed to bind as uid=Fwd,ou=people,dc=nurdspace,dc=lan
  • Possible solutions:
  • Turns out $wgLDAPLowerCaseUsername does more than advertised, it converts input usernames completely to lowercase. However, now the skin starts bugging:
[Sat May 25 15:45:32 2013] [error] [client 192.168.1.9] PHP Strict Standards:
 Only variables should be passed by reference in /var/www/skins/GuMax.php on line 172,
 referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
  • and it still won't log in with a correct userdn:
2013-05-25 15:56:26 testwiki nurdspace_wiki: 2.0d Failed to bind as uid=fwd,ou=people,dc=nurdspace,dc=lan
2013-05-25 15:56:26 testwiki nurdspace_wiki: 2.0d Entering strict.
  • With lots of help from Cha0z97 it's now working! Users in the group 'wikiusers' can log in. Admins, bureaucrats and sysops are locally managed.
  • Full addition to LocalSettings.php:
#LDAP Auth
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDebug = 9;
$wgDebugLogGroups['ldap'] = '/tmp/debug.log';

$wgLDAPDomainNames = array( 'nurdspace.lan', );
$wgLDAPServerNames = array( 'nurdspace.lan' => 'ldap.nurdspace.nl', );
$wgLDAPUseLocal = false;
$wgLDAPEncryptionType = array( 'nurdspace.lan' => 'ssl', );
$wgLDAPSearchStrings = array( 'nurdspace.lan' => 'uid=USER-NAME,ou=people,dc=nurdspace,dc=lan', );
$wgLDAPLowerCaseUsername = array( 'nurdspace.lan' => true );
$wgLDAPRequiredGroups = array( 'nurdspace.lan' => array( 'cn=wikiusers,ou=groups,dc=nurdspace,dc=lan', ) );
$wgLDAPGroupUseFullDN = array( "nurdspace.lan"=>false );
$wgLDAPGroupObjectclass = array( "nurdspace.lan"=>"posixGroup" );
$wgLDAPGroupAttribute = array( "nurdspace.lan"=>"memberUid" );
$wgLDAPGroupSearchNestedGroups = array( "nurdspace.lan"=>false );
$wgLDAPGroupNameAttribute = array( "nurdspace.lan"=>"cn" );
$wgLDAPBaseDNs = array( "nurdspace.lan"=>"dc=nurdspace,dc=lan" );
$wgLDAPUseLDAPGroups = array( "nurdspace.lan"=>true );
$wgGroupPermissions['wikiusers']['edit'] = true;
$wgGroupPermissions['admins'] = $wgGroupPermissions['sysop'];

# This hook is called by the LdapAuthentication plugin. It is a configuration hook. Here we
# are specifying what attibute we want to use for a username in the wiki.
# Note that this hook is NOT called on a straight bind.
# The hook calls the function defined below.
$wgHooks['SetUsernameAttributeFromLDAP'][] = 'SetUsernameAttribute';

Some settings might not be necessary, such as the wgGroupPermissions and wgHooks. I'll do some experimenting to see if it can be cleaned up.

  • What needs to be done when installing is execute the .sql file that comes with the LdapAuthenticate extension:
mysql -uwikiuser -pgodver nurdspace_wiki < /var/www/extensions/LdapAuthentication/ldap.sql
  • This will create a table that is needed by the extension. I should execute it by itself at first run, however, it does not.


Todo

  • It seems renaming/merging users can cause some problems. In the testwiki 2 users have disappeared after renaming and merging them.
  • While looking for errors regarding the disappearing users I came across some other errors in the Apache logging:
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1711, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1712, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1736, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 1 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1743, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1711, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1712, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 0 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1736, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page
[Wed May 29 18:22:18 2013] [error] [client 192.168.1.103] PHP Notice:  Undefined offset: 1 in /var/www/extensions/
 LdapAuthentication/LdapAuthentication.php on line 1743, referer: http://testwiki.nurdspace.lan/index.php5?title=Special:UserLogin&returnto=Main+Page


Relevant files to get this working

  • /var/www/LocalSettings.php - Mediawiki settings file with added ldap authentication extension stuff
  • /tmp/debug.log - debug logging of ldap events from mediawiki (configged by $wgLDAPDebug = 9 and $wgDebugLogGroups['ldap'] = '/tmp/debug.log'
  • /var/log/apache2/error.log - php/apache errors
  • http://testwiki.nurdspace.lan