HOWTO: Abilitare LDAP / Active Directory Authentication con MediaWiki - Parte 1
Oh Boy! Sono passati più di 4 mesi da quando ho scritto un post sul blog. Lavoro e le mie altre attività quotidiane, come l'esercizio fisico, cucina, pulizia, ecc è stata davvero tenermi occupato. Con questo post la mia intenzione è di iniziare lentamente blogging di nuovo.
Scopo: qualche tempo fa avevo bloggato su come installare e configurare MediaWiki sul vostro sistema Debian. Oggi impareremo come utilizzare il metodo di autenticazione LDAP / Active Directory con la configurazione attuale MediaWiki. Tieni presente che non entreremo nei dettagli di LDAP / Active Directory .
Che cosa è l'autenticazione LDAP / Active Directory?
Normalmente, quando si installa MediaWiki sul proprio sistema è necessario creare prima un account utente per accedere a MediaWiki. Ma cosa succede se si desidera centralizzare il processo di autenticazione? Il che significa che cosa se c'è un sistema (Windows Server facciamo utilizzando Active Directory), che gestisce già un database centralizzato / repository di username e password che possiamo utilizzare per autenticare i nostri dati di accesso MediaWiki.
Ipotesi
Partiamo dal presupposto che c'è una macchina server Windows è già in esecuzione nella vostra LAN / Intranet con Active Directory.
Quindi cerchiamo di iniziare ...
Passo 1: ottenere l'estensione per l'autenticazione LDAP
Useremo il popolare autenticazione LDAP estensione per questo scopo. Io suggerisco di scaricare l'estensione che corrisponde alla versione MediaWiki. Per esempio, sul mio sistema Debian Lenny, la versione attuale è 1,12 MedaiWiki quindi vi consiglio di installare l'estensione che corrisponde alla versione 1.12. È possibile sfogliare la versione diversa di questa estensione qui .
Passaggio 2: Installare / copiare i file di estensione
# tar -xzf LdapAuthentication-MW1.12-r30722.tar.gz -C /var/lib/mediawiki/extensions
Passo 3: Installare il plugin LDAP per PHP
Avrete bisogno di questo pacchetto in modo che l'estensione per funzionare correttamente.
# apt-get install php5-ldap
Passo 4: Configurare l'estensione
Questo è il passo più importante e questo è il passo in cui naturalmente la maggior parte degli utenti si incorrere in problemi. Vi prego di notare che io non sono la persona che amministra il Active Directory né io sono un esperto in Active Directory. In realtà io a malapena so molto di Active Directory, ma ho solo avere abbastanza informazioni circa la mia attuale server di Active Directory che dovrebbe permettermi di connettersi e autenticarsi utilizzando questa estensione. Quindi, se io sono in grado di ottenere questo fatto con successo non vi è alcuna ragione per cui non sarà possibile. Anche i passi che sto mostrando qui è per una configurazione non-fantasia non complesso molto semplice.
Aggiungere le seguenti righe al file / etc / mediawiki / LocalSettings.php preferibile verso la fine del file, ma in generale ho trovato questo lavoro, anche se si aggiunge che in principio:
# Enable LDAP Authentication
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array( "mycompany.net" );
$wgLDAPServerNames = array( "mycompany.net" => "myad1.mycompany.net" );
$wgLDAPSearchStrings = array( "mycompany.net" => "mynet\\USER-NAME" );
$wgLDAPEncryptionType = array( "mycompany.net" => "clear" );
$wgLDAPUseLocal = false;
$wgMinimalPasswordLength = 1;
$wgLDAPBaseDNs = array( "mycompany.net" => "dc=mycompany,dc=net" );
$wgLDAPSearchAttributes = array( "mycompany.net" => "sAMAccountName" );
$wgLDAPRetrievePrefs = array( "mycompany.net" => "true" );
$wgLDAPDebug = 3; //for debugging LDAP
$wgShowExceptionDetails = true; //for debugging MediaWiki
Dove:
mycompany.net = nome di Active directory nella vostra azienda / impresa
myad1.mycompany.net = Nome del server fisico su cui è ospitato il vostro Active Directory
mynet = nome di dominio della tua azienda
Si dovrebbe essere in grado di ottenere questi valori da parte della persona non chi è in carica di Active Directory.
Fase 5: Accesso
Ora è giunto il momento di vedere se abbiamo configurare correttamente la nostra estensione! Vai a registro del MediaWiki a pagina:
http://localhost/wiki/index.php?title=Special:Userlogin&returnto=Main_Page
e dovrebbe vedere un campo "Domain Name" proprio sotto il tuo nome utente e la casella di immissione della password in questo modo:
con il nome di Active Directory (in questo caso mycompany.net) specificato nel file di LocalSettings.php.
Prova a inserire un nome utente e la relativa password di un utente che è già in Active Directory e vedere se si è in grado di accedere con successo. Se si allora complimenti!! La configurazione ha lavorato con successo. Se poi non abbiamo bisogno di eseguire il debug ulteriormente.
Ulteriori Domande / Note
Che cosa succede se non si installa la versione corretta della proroga?
Si rischia di ottenere il seguente errore non appena si carica la pagina MediaWiki (http://localost/wiki/):
Fatal error: Class 'AuthPlugin' not found in \var\lib\mediawiki\extensions\LdapAuthentication\LdapAuthentication.php on line 65
Dove posso trovare a vedere gli errori in caso di estensione non funzionano?
Prima di tutto è necessario attivare il debug dell'estensione LDAP impostando la seguente riga nel file LocalSettings.php:
$wgLDAPDebug = 3; //for debugging LDAP
Si dovrebbe essere in grado di vedere gli errori sul alto a sinistra della vostra schermata come questa:
Ho bisogno di avere utenti nel mio database di MediaWiki primo prima di autenticare usando Active Directory?
No. Il modo in cui funzionano le cose è che se l'utente non è presente nel database di MediaWiki poi una voce per il nome utente utilizzato per l'autenticazione con Active Directory viene creato automaticamente nel database di MediaWiki. Se il nome utente esisteva già prima di avere effettuato il login per la prima volta utilizzando l'autenticazione di Active Directory quindi non succede nulla cioè nessun nuovo utente viene creato nel database perché l'utente già esistente nel database. Le preferenze dell'utente come nome, email, ecc che sono stato tirato da Active Directory viene aggiornato / sovrascritto per l'utente corrispondente nel database se la voce già uscite.
Spero che questo vi ha dato abbastanza materiale per iniziare con l'autenticazione LDAP / Active Directory.
LDAP'ing felice!















7 Marzo 2012 alle 04:53
[...] Abilita LDAP autenticazione di Windows Active Directory con MediaWiki | Soluzioni Debian Ubuntu Linux B ... [...]
Mar 21, 2012 alle 07:00
Quando provo, niente accade. Nessun errore, nessun login, niente (su LDAP) scritto al mio file di log (definito da $ wgDebugLogFile).
E funziona bene quando si prova ( http://localhost/wiki/index.php?title=Special:Userlogin&returnto=Main_Page ), ma quando ho aperto la pagina, niente
Rispondi a questo commento
16 ott 2012 alle 03:43
Grazie mille per un tutorial perfetto, mi hai salvato la giornata ;)
Rispondi a questo commento
30 ottobre 2012 alle 06:53
Hey Dude!
Grazie per aver postato questo tutorial, ha funzionato molto bene per me. Forse è opportuno ricordare che non è necessario per adattarsi a qualsiasi account per LDAP si collega, quindi ero alla ricerca di questo. E non alterare il termine 'nome utente'.
Il riposo è perfetta, a breve al punto!
Il tuo,
Chris
Rispondi a questo commento
13 Dic 2012 alle 04:17
La ringrazio molto, esercitazione impressionante!
Rispondi a questo commento
27 febbraio 2013 alle 11:04
Come si aggiunge un nuovo utente, allora? Posso entrare con le mie credenziali AD ora, ma se voglio aggiungere un nuovo utente al wiki. Essi non sarà in grado di accedere solo con le proprie credenziali AD, giusto? Avrei bisogno di concedere l'accesso prima. Si prega di spiegare. PS che la pubblicità sul tuo sito sono un po 'eccessivo.
Rispondi a questo commento