Proftpd mit mysql Unterstützung

schnurps

Member
Hi,

ich versuche schon länger einen Proftpd mit mysql Unterstützung aus den Ports zu installieren. Leider krieg ich das nicht hin.

Folgendes tue ich:

-cd /usr/ports/ftp/proftpd
-make USE_MYSQL=YES
-make install
fertig

dann ein /usr/local/libexec/proftpd -l (liste aller einkompilierten Module anzeigen) viel drin, aber kein mod_sql. ;-(

Ich würd mich freuen, wenn mir jemand helfen könnte. Stell ich mich nur zu blöd an?

Viele Grüsse
Schnurps
 
ja mit mod_quotatab,
ich hab beide ausprobiert und festgestellt, dass pure-ftpd fast out of the box funktioniert. und ihmo einfacher zu verstehen ist und auch mehr optionen hat.

z.B.
# Port range for passive connections replies. - for firewalling.

PassivePortRange 30000 50000

das hab ich bei proftpd ned gesehen.

auch kann man ganz einfache scripts nachdem upload ausführen um zum beispiel dateien auf viren zu prüfen.

was man natürlich am ende verwendet ist jedem selbst ueberlassen.

k33n
 
ok, mit der portrange bin ich ueberzeugt ;)

und ich denke auch das es nicht "den" ftp-server gibt.

das ist einfach wie mit anderen programmen auch, dass man mit dem einen besser zurecht kommt als mit dem anderen.

k33n
 
Hi,

so mal config posten für proftpd mit MySQL, vielleicht ist das ganz nützlich mal:

#------------------------------------------------------------------------------
ServerName "SERVERNAME"

ServerType standalone

ServerAdmin admin@proftpd.de





ServerIdent on "ftp.xyz.de"

DeferWelcome on

DefaultServer on

Port 21

Umask 022

MaxInstances 30



# Normally, we want files to be overwriteable.

<Directory />

AllowOverwrite on

</Directory>



#

# FXP Unterstuetzung

#

AllowForeignAddress on



# Maximal Werte setzen

MaxClientsPerHost 2 "Nicht mehr als %m Verbindungen"

MaxClients 8 "Leider sind schon %m Clients verbunden"

MaxLoginAttempts 3





#

# Restart erlauben

#

AllowStoreRestart on

AllowRetrieveRestart on



#

# Jail all users into their virtual home dir

#

DefaultRoot ~



RequireValidShell off





#

# Logging options

#

TransferLog /var/log/proftpd.xferlog



# Some logging formats

#

LogFormat default "%h %l %u %t \"%r\" %s %b"

LogFormat auth "%v [%P] %h %t \"%r\" %s"

LogFormat write "%h %l %u %t \"%r\" %s %b"



# Log file/dir access

ExtendedLog /var/log/proftpd.access_log WRITE,READ write



# Record all logins

ExtendedLog /var/log/proftpd.auth_log AUTH auth



# Paranoia logging level....

ExtendedLog /var/log/proftpd.paranoid_log ALL default







#------------------------mysql Modul: 4.x

#

# Zugangskontrolle

#

SQLAuthTypes Plaintext

SQLAuthenticate users*

SQLConnectInfo DATENBANK @localhost USERNAME PASSWORT

SQLDefaultGID 65534

SQLDefaultUID 65534

SQLMinUserGID 100

SQLMinUserUID 500

SQLUserInfo users username password uid gid homedir shell



#

# aktive SQL Kommandos, ab hier passiert etwas :-)

#

SQLLog PASS counter

SQLNamedQuery counter UPDATE "letzter_zugriff=now(), count=count+1 WHERE username='%u'" users



# xfer Log in mysql

SQLLog RETR,STOR transfer1

SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T',now(), 'c', NULL" xfer_stat



SQLLOG ERR_RETR,ERR_STOR transfer2

SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T',now(), 'i', NULL" xfer_stat

#

# mod_quota tab

#

QuotaEngine on

QuotaShowQuotas on

QuotaLimitTable sql:/get-quota-limit

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
#------------------------------------------------------------------------------

Gruß Bummibär
 
SQL Strukturen für dieses Beispiel...?

Auszug von Brummibär
####################################################

# Zugangskontrolle

#

SQLAuthTypes Plaintext

SQLAuthenticate users*

SQLConnectInfo DATENBANK @localhost USERNAME PASSWORT

SQLDefaultGID 65534

SQLDefaultUID 65534

SQLMinUserGID 100

SQLMinUserUID 500

SQLUserInfo users username password uid gid homedir shell

####################################################

Hallo,

hast du dazu vielleicht auch informationen, wie MySQL eingerichtet werden muss?
Also Datenbank, user und Tabellenstruktur?

Das wäre echt toll :D

Viele Grüße,
Vanessa
 
Bummibaer schrieb:
schau dir mal http://www.myftpadmin.nu/ und http://proma.sourceforge.net/ und http://www.sumpan.com/software/ppmy/ an, das ist sicher am einfachsten für Dich dann.

Gruß Bummibaer

Danke für den Tipp. Wäre eine Möglichkeit. Ich könnte mir zumindest ein bisschen Quelltext abkupfern. Welches benutzt du, oder würdest du empfehlen?

Ich brauche das übrigens nicht für eine Verwaltung, sondern möchte dem User, der sich bei meiner Seite einloggt zeigen, wieviel Speicherplatz er noch hat. Daher die MySQL-Unterstützung. Das anlegen/löschen von usern wird wahrscheinlich üner cron passieren.

Derselbe Hintergrund gilt auch für die MySQL-Unterstützung bei postfix. Hier soll auch beim Login der User über Speicherplatz und neue Mails informiert werden.

Du hast doch oben eine Beispielkonfiguration für proftpd geposted. Wollte eigentlich nur wissen, zu welcher Datenbank/ SQL-Code das passt, bzw. welches Skript du benutzt, damit ich beiden funktionell zusammenführen kann.

Viele Grüße,
Vanessa
 
Zuletzt bearbeitet:
Zurück
Oben