Jump to content
Froxlor Forum
  • 0

Froxlor & Webdav


tomski

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

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...