Titel: MySQL Quota will nicht Beitrag von: Pfead am 20. November 2004, 13:43:48 Hallo,
ich habe ein Login System mit MySQL aufgebaut. Man kann sich ohne Probleme einloggen und kann Dateien hoch- und runterladen. Gerade versuche ich Quota auf MySQL Basis hinzuzufügen. Ich bin nach dem Tutorial von http://www.castaglia.org/proftpd/modules/mod_quotatab_sql.html vorgegangen. Ich habe nun die Tabelle "quotalimits" und "quotatallies". In "quotalimits" habe ich folgendes stehen: Zitat `quotalimits` VALUES ('testman', 'all', 'true', 'soft', 1, 1, 1, 1, 1, 1); In quotatallies: Zitat `quotatallies` VALUES ('testman', 'all', 0, 0, 0, 0, 0, 0); Meine Konfiguration lautet: Zitat SQLConnectInfo serv@localhost root test123 SQLAuthenticate users SQLAuthTypes crypt SQLUserInfo users username pwd uid gid mountpoint shell SQLGroupInfo groups groupname gid members SQLLog PASS updatecount SQLNamedQuery updatecount UPDATE "last_ftp_login=unix_timestamp() WHERE username='%u'" users SQLLog RETR,STOR transfer1 SQLNamedQuery transfer1 INSERT "'', '%U', '%b', unix_timestamp()" traffic_ftp QuotaEngine on QuotaShowQuotas on QuotaLimitTable sql:/SELECT-SQLNamedQuery QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'" SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'" SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies Ausgabe von quote SITE QUOTA: Zitat ftp> quote SITE QUOTA 202 No quotas in effect ftp> Ich bin mit meinem Latein am Ende :( Kann mir bitte er helfen? Titel: MySQL Quota will nicht Beitrag von: Pfead am 23. November 2004, 11:55:25 Keiner eine Ahnung ? :(
Titel: MySQL Quota will nicht Beitrag von: stonki am 23. November 2004, 12:16:48 was sagt den das Debug log bzw. die SQLlogFile Ausgabe ?
Titel: MySQL Quota will nicht Beitrag von: Pfead am 23. November 2004, 19:53:50 Hallo,
wo kann ich einstellen, dass der Proftpd mir diese Logs anlegt? Ich habe nur die xferlog, die ja fast standart ist. Ich habe den Debugmodus laufen (proftpd -n -d 9), bringt mir aber keine sinnvollen Ausgaben. MySQL Userverwaltung funktioniert ohne Probleme. Muss ich die Verbindung zum MySQL nochmal herstellen? Eigentlich nicht oder? Pfead Titel: MySQL Quota will nicht Beitrag von: Wörsty am 24. November 2004, 15:56:30 Info 1: SQLLogfile (http://www.proftpd.de/index.php?id=28&directive_name=sqllogfile)
Info 2: Debug: proftpd -nd5 ist erstmal besser Info 3: QuotaLog (http://www.proftpd.de/index.php?id=28&directive_name=quotalog) Titel: MySQL Quota will nicht Beitrag von: Pfead am 25. November 2004, 22:58:18 Hallo,
so ich habe nun endlich die Lösung. Dank der Logfiles konnte ich das Problem lösen. 1) Ich hatte einen Fehler in der Konfiguration 2) Der Username wurde nicht angenommen ( %{0} funktioniert nicht immer) zu 1) Zitat SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%u' AND quota_type = '%{1}'" SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%u' AND quota_type = '%{1}'" SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%u' AND quota_type = '%{7}'" quotatallies SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies zu 2) Statt %{0} einfach %u verwenden, das funktioniert auch. Danke an alle die mir geholfen haben. mfg Pfead |