Oh Boy! Det har været over 4 måneder nu, siden jeg skrev et blogindlæg. Arbejde og mine andre daglige aktiviteter som motion, madlavning, rengøring mv er virkelig holder mig travlt. Med dette indlæg min hensigt er at langsomt at begynde at blogge igen.

Formål: Engang tilbage jeg havde blogget om , hvordan du installerer og konfigurerer mediawiki på dit Debian-system. I dag vil vi lære at bruge LDAP / Active Directory godkendelsesmetode med din nuværende MediaWiki opsætning. Bemærk, at vi ikke vil gå i detaljer med LDAP / Active Directory .

Hvad er LDAP / Active Directory-godkendelse?

Normalt, når du installerer MediaWiki på dit system skal du først oprette en brugerkonto til at logge ind MediaWiki. Men hvad nu hvis du ønsker at centralisere denne proces med autentificering? Betydning hvad hvis der er et system (lad os Windows Server ved hjælp af Active Directory), der allerede vedligeholder en central database / repository af brugernavn og adgangskode, som vi kan bruge til at godkende vores MediaWiki logins.

Assumption

Vi antager, at der er et vindue server maskine allerede kører i dit LAN / Intranet med Active Directory.

Så lad os komme i gang ...

Trin 1: Få udvidelse til LDAP-godkendelse

Vi vil bruge den populære LDAP Authentication udvidelse til dette formål. Jeg foreslår at du downloader en udvidelse, der svarer til din MediaWiki-version. For eksempel, på min Debian Lenny systemet den aktuelle MedaiWiki version er 1.12, så jeg anbefaler, at du installerer en udvidelse, der svarer til version 1.12. Du kan gennemse anden version af denne udvidelse her .

Trin 2: Installer / kopiere udvidelse filer

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

Trin 3: Installer LDAP plugin til PHP

Du får brug for denne pakke, for at udvidelsen kan fungere korrekt.

# apt-get install php5-ldap

Trin 4: Konfigurere forlængelsen

Dette er det vigtigste skridt, og det er det trin, hvor naturligt de fleste af brugerne vil løbe ind i problemer. Bemærk venligst, at jeg ikke er den person, der administrerer Active Directory hverken jeg er ekspert i Active Directory. Faktisk jeg knap nok kender meget om Active Directory, men jeg bare har nok oplysninger om min nuværende Active Directory-server, der skal sætte mig til at forbinde og autentificere bruge denne udvidelse. Så hvis jeg er i stand til at få dette gjort med succes er der ingen grund til at du ikke vil være i stand til. Også de skridt, som jeg viser her er en meget simpel, ikke-fancy ukomplekst setup.

Tilføje følgende linier til din / etc / mediawiki / LocalSettings.php foretrække i slutningen af filen, men generelt har jeg fundet dette til at fungere, selvom du tilføje det i begyndelsen:


# 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

Hvor:

mycompany.net = Active Directory navn i din virksomhed / enterprise

myad1.mycompany.net = Navn på den fysiske server, som din Active Directory er hostet

MyNet = Domain navnet på dit firma

Du bør være i stand til at få disse værdier fra IT person, der er i charge af Active Directory.

Trin 5: Login

Nu er tiden kommet til at se, om vi konfigurerer vores extension korrekt! Gå til din MediaWiki log in side:

http://localhost/wiki/index.php?title=Special:Userlogin&returnto=Main_Page

og bør se en "Domain Name" feltet lige under dit brugernavn og adgangskode input boks som denne:

mediawiki active directory-godkendelse

med Active Directory navn (i dette tilfælde mycompany.net), som du har angivet i LocalSettings.php fil.

Prøv at indtaste et brugernavn og tilhørende adgangskode for en bruger, der allerede er i Active Directory og se om du er i stand til at logge ind med succes. Hvis du er så tillykke!! Dit setup har fungeret med succes. Hvis ikke så er vi nødt til at fejlsøge videre.

Yderligere spørgsmål / Noter

Hvad sker der, hvis jeg ikke installere den korrekte version af udvidelsen?

Du er tilbøjelige til at få følgende fejl, så snart du indlæse din MediaWiki siden (http://localost/wiki/):

Fatal error: Class 'AuthPlugin' not found in \var\lib\mediawiki\extensions\LdapAuthentication\LdapAuthentication.php on line 65

Hvor får jeg at se de fejl i tilfælde af forlængelse ikke virker?

Først og fremmest er du nødt til at aktivere debugging af LDAP forlængelse ved at indstille følgende linje i din LocalSettings.php fil:

$wgLDAPDebug = 3; //for debugging LDAP

Du bør være i stand til at se fejl på det øverste venstre hjørne af skærmen sådan her:

MediaWiki LDAP Fejl

Skal jeg nødt til at have brugeren i mit MediaWiki database først, før jeg Godkend bruger Active Directory?

Nej Den måde tingene fungerer, er, at hvis brugeren ikke er til stede i din MediaWiki database så en post for det brugernavn, som du brugte til at autentificere med Active Directory, vil automatisk blive skabt i MediaWiki-databasen. Hvis brugernavnet allerede eksisterede, før du er logget ind for første gang ved hjælp af Active Directory-godkendelse, så sker der ikke noget dvs. ingen nye bruger er oprettet i databasen, fordi brugeren allerede eksisterede i databasen. Brugerindstillinger som navn, e-mail osv., der bliver trukket fra Active Directory bliver opdateret / overskrevet for den tilsvarende bruger i databasen Hvis opslaget allerede udgange.
Jeg håber, at dette har givet dig nok materiale til at komme i gang med LDAP / Active Directory-godkendelse.

Glad LDAP'ing!

Være selskabelig, Del!