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:

autenticazione di Active Directory MediaWiki

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:

MediaWiki Errore LDAP

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!

Be Sociable, Share!