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, la cucina, la pulizia, ecc è stato veramente tenermi occupato. Con questo post la mia intenzione è di iniziare lentamente a bloggare di nuovo.

Scopo: qualche tempo fa avevo bloggato su come installare e configurare MediaWiki sul sistema Debian. Oggi impareremo come utilizzare il metodo di autenticazione LDAP / Active Directory con la configurazione MediaWiki corrente. Si prega di notare che noi non entreremo nei dettagli di LDAP / Active Directory .

Che cosa è LDAP / Active Directory Authentication?

Normalmente, quando si installa MediaWiki sul proprio sistema è necessario prima creare un account utente per accedere MediaWiki. Ma cosa succede se si desidera centralizzare il processo di autenticazione? Significato cosa succede se c'è un sistema (di consentire a Windows Server utilizzando Active Directory), che gestisce già un database / repository centralizzato di username e password che possiamo usare per autenticare le nostre login MediaWiki.

Assunzione

Partiamo dal presupposto che c'è una macchina server Window già in esecuzione nella vostra LAN / Intranet con Active Directory.

Quindi cerchiamo di iniziare ...

Fase 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 di MediaWiki. Ad esempio, sul mio sistema Debian Lenny, la versione attuale MedaiWiki è 1.12 quindi vi consiglio di installare l'estensione che corrisponde alla versione 1.12. È possibile sfogliare versione diversa di questa estensione qui .

Passo 2: Installare / copiare i file di estensione

# tar -xzf LdapAuthentication-MW1.12-r30722.tar.gz -C /var/lib/mediawiki/extensions

Passaggio 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 passaggio in cui, naturalmente, la maggior parte degli utenti si incorrere in problemi. Si prega di notare che io non sono la persona che amministra Active Directory né io sono un esperto in Active Directory. Infatti ho appena so molto di Active Directory, ma ho solo avere abbastanza informazioni sul mio attuale server Active Directory che dovrebbe permettermi di connessione e l'autenticazione tramite questa estensione. Quindi, se io sono in grado di ottenere questo fatto successo non vi è alcun motivo per cui non sarà possibile. Anche i passi che sto mostrando qui è per un semplice non-fantasia di installazione non complessa.

Aggiungere le seguenti linee al proprio / 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 della directory di Active nella vostra azienda / impresa

myad1.mycompany.net = Nome del server fisico su cui è ospitato Active Directory

mynet = nome di dominio della tua azienda

Dovreste essere in grado di ottenere questi valori da parte della persona IT che è in carica di Active Directory.

Fase 5: Entra

Ora è giunto il momento di vedere se si configurerà correttamente la nostra estensione! Vai al registro dei vostri 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 password della casella di input come questo:

MediaWiki autenticazione di Active Directory

con il nome di Active Directory (in questo caso mycompany.net), che si è 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 siete in grado di accedere con successo. Se si allora congratulazioni!! La configurazione ha lavorato con successo. Se poi non abbiamo bisogno di eseguire il debug ulteriormente.

Ulteriori Domande / Note

Cosa succede se non installo 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 arrivare a vedere gli errori nel caso in cui, per estensione non funzionano?

Prima di tutto è necessario abilitare il debug dell'estensione LDAP impostando la seguente riga nel file LocalSettings.php:

$wgLDAPDebug = 3; //for debugging LDAP

Dovreste essere in grado di vedere gli errori nell'angolo in alto a sinistra della schermata come questa:

Errore MediaWiki LDAP

Ho bisogno di avere l'uso nel mio database MediaWiki prima che l'autenticazione tramite 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 che hai utilizzato per l'autenticazione con Active Directory verrà creato automaticamente nel database di MediaWiki. Se il nome utente esisteva già prima connesso per la prima volta utilizzando l'autenticazione di Active Directory 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 vengono tirati da Active Directory si aggiorna / modifica per l'utente corrispondente nel database se la voce esce già.
Spero che questo vi ha dato abbastanza materiale per iniziare con il / autenticazione di Active Directory LDAP.

LDAP'ing felice!

Essere socievole, trova!