Jump to content
Froxlor Forum
  • 0
tomski

Froxlor & Webdav

Question

Hallo,

 

ich habe bzgl. Froxlor und Webdav leider nur ein paar ganz alte Threads hier im Forum gefunden, w?rde es aber gerne einsetzen.

Aktuell ist es ja noch nicht intergriert oder geplant zu integrieren oder hab ich etwas ?bersehen ?

 

Ich habe webdav jetzt mal auf folgende Weise reingehackt, w?rde gerne Eure Meinung h?ren bzgl. Sicherheit und evtl. Problemen die auftreten k?nnten.

Das ganze funktioniert mittels SQL Authentifizierung gegen die panel_customers table.

Es wird bei erfolgreicher Authentifizierung (Froxlor Login) der Zugriff ?ber den URL "/dav" (von irgendeiner Kundendomain aus) auf "/<kundenverzeichnis>/dav" gew?hrt (nur lesend).

 

F?r jede Kundendomain wird ein Alias und eine Location Sektion hinzugef?gt, das geschieht ?ber die "Standard vHost-Einstellungen"

 

Alias /dav ###KUNDENVERZ###dav
<Location /dav>
Options +Indexes
DAV On
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthMySQL On
AuthName "webdav"
AuthType Basic
Auth_MySQL_Host localhost
Auth_MySQL_User webdav
Auth_MySQL_Password PASSWORD
AuthMySQL_DB froxlor
AuthMySQL_Password_Table panel_customers
Auth_MySQL_Username_Field loginname
Auth_MySQL_Password_Field password
Auth_MySQL_Empty_Passwords Off
Auth_MySQL_Encryption_Types PHP_MD5
Auth_MySQL_Authoritative On
require user ###USER###
</Location>

Hier m?ssen die Platzhalter ###KUNDENVERZ### und ###USER### mit den jeweiligen Kundendaten ersetzt werden.

Bietet hier Froxlor diese Variablen  an ?

Ich habe es jetzt im Script  "cron_tasks.inc.http.10.apache.php" selbst ersetzt mit folgenden Code:

 

 

Zeile 770, alt:

$vhost_content .= Settings::Get('system.default_vhostconf') . "\n";
neu:
$vhost_content .= str_replace('###KUNDENVERZ###', $domain['customerroot'], Settings::Get('system.default_vhostconf')) . "\n";
$vhost_content = str_replace('###USER###', $domain['loginname'], $vhost_content) . "\n";
Es entsteht dann z.B. folgendes in der Domainkonfiguration:
 
Alias /dav /var/kunden/kunde1/dav
<Location /dav>
Options +Indexes
DAV On
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthMySQL On
AuthName "webdav"
AuthType Basic
Auth_MySQL_Host localhost
Auth_MySQL_User webdav
Auth_MySQL_Password PASSWORD
AuthMySQL_DB froxlor
AuthMySQL_Password_Table panel_customers
Auth_MySQL_Username_Field loginname
Auth_MySQL_Password_Field password
Auth_MySQL_Empty_Passwords Off
Auth_MySQL_Encryption_Types PHP_MD5
Auth_MySQL_Authoritative On
require user kunde1
</Location>
 

Es kann dann ?ber die Domain von kunde1 z.B. http://www.kunde1.de/dav auf das Verzeichnis /var/kunden/kunde1/dav zugegriffen werden.

 

Zuvor muss noch ein SQL User angelegt werden der die Authentifizierung gegen die panel_customers table durchf?hren kann:

CREATE USER 'webdav'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT SELECT ON froxlor.panel_customers TO 'webdav'@'localhost' IDENTIFIED BY 'PASSWORD';

Weitere Vorraussetzung ist das die Webserver Module dav, dav_fs und auth_mysql enabled sind.

 

 

Gru?, Thomas

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Nett. Zur Info: Froxlor bietet (noch) keine Variablen an, die in den "eigenen Vhost-Einstellungen" ersetzt werden. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...





×
×
  • Create New...