PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mediawiki – Visual Editor / Parsoid – Apache Zugriffsrechte Problem



wikiadmin
25.07.16, 06:46
Hallo zusammen,

ich habe ein Problem mit meinem Wiki Server. Ich hoffe ihr könnt mir helfen.

Technische Gegebenheiten:

Ubuntu Version 14.04.3 LTS

Apache2

PHP 5.5.9

MySQL 5.5.46

Es laufen mehrere Wikis auf dem Webserver. Jedes in einem separaten Webverzeichnis.

Die Zugriffsrechte auf die Webverzeichnisse (z.B. /var/www/wiki) sind in der Datei /etc/apache2/sites-available/000-default.conf über das LDAP Modul „authnz_ldap“ gesteuert (siehe Code). Auf das jeweilige Wiki sollen nur Benutzer der entsprechenden AD Gruppe zugreifen dürfen.




<VirtualHost *:80>
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/wiki>
###LDAP-Auth gegen AD
order allow,deny
allow from all
AuthType Basic
AuthName "Wiki"
AuthBasicAuthoritative off
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPBindDN "CN=user,CN=Users,DC=domain,DC=loc"
AuthLDAPBindPassword KENNWORT
AUTHLDAPURL ldap://server.domain.loc:3268/?sAMAccountName??(objectClass=*)
require ldap-group CN=Gruppenname,CN=Users,DC=domain,DC=loc
require ldap-user "Username"
</Directory>

Der Wiki Editor https://www.mediawiki.org/wiki/Extension:VisualEditor nutzt den Parsoid-Dienst https://www.mediawiki.org/wiki/Parsoid (läuft local auf derselben Maschine unter dem Benutzer „parsoid“). Um den normalen Text in Wikitext umzuwandeln benötigt der Parsoid-Dienst Zugriff auf die Datei api.php die sich in dem Wiki-Webverzeichnis (z.B. /var/www/wiki/api.php) befindet.

Für den Parsoid-Dienst muss das entsprechende Wiki in einer Settings.js eingetragen werden:


parsoidConfig.setInterwiki( 'wiki', 'http://server.domain.loc/wiki/api.php' );
parsoidConfig.setMwApi({ prefix: 'wiki', uri: 'http://server.domain.loc/wiki/api.php' });

Problembeschreibung:

Sobald der Editor im Wiki aufgerufen wird, wird der Wikitext in normalen Text umgewandelt und zum Bearbeiten angezeigt. Ohne die Zugriffsrechte über das LDAP Modul funktioniert der Editor. Sobald der Zugriff auf die AD Gruppe beschränkt wird, zeigt der Editor beim Aufruf eine Fehlermeldung. Anscheinend hat der Parsoid-Dienst keine Zugriffsrechte auf das Webverzeichnis bzw. die Datei api.php ('http://server.domain.loc/wiki/api.php') welche in der settings.js konfiguriert ist.

Gibt es die Möglichkeit den Parsoid-Dienst als ein AD User auszuführen, der auf das Webverzeichnis Zugriff erhält? Kann die 000-default.conf so konfiguriert werden, dass der Parsoid-Dienst ebenfalls Zugriffsrechte hat? Oder gibt es eine andere Möglichkeit dieses Problem zu lösen?

marce
25.07.16, 07:00
Du könntest den lokalen Zugriff per satisfy-any und einer entsprechenden allow-Regel freigeben

wikiadmin
25.07.16, 10:23
Wir konnten das Problem mittlerweile lösen.

Mittels "Require ip <IP-des-Systems>" in der 000-default.conf kann der Zugriff des Systems auf sich selbst immer erlaubt werden.