HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (
-   HOWTO-Related Questions (
-   -   Virtual Hosting With Proftpd And MySQL Problems (

bigredgecko 6th July 2006 21:21

Virtual Hosting With Proftpd And MySQL Problems
Hello there,

I have searched these forums and have not seen a similar problem so I am going to post here.

Before you read this, I have followed the instructions exactly (Or so I believe). My MySQL is set up with all the tables and stuff. The ProFTPd is configured aaaaand the user and groups are created.

When I try to login with "exampleuser", password: "secret", I get this message:


Looking up
Connected to
Disconnecting from site
Waiting 30 seconds until trying to connect again
The thing is, My service is started... I typed into terminal /etc/init.d/proftpd restart to make the changes and it came up with:


Shutting down proftpd: [ OK ]
Starting proftpd: [ OK ]
So all systems are working, My Firewall is configured to allow Port 21 [FTP] from anywhere.

Anyways, as you can guess I have been at this for HOURS reading your tutorial and I am just not getting anywhere and wondering what you think.

My proftpd.conf file is this:


# This is the ProFTPD configuration file
# $Id: proftpd.conf,v 1.1 2004/02/26 17:54:30 thias Exp $

# Load modules for sql support
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c

# Server config
ServerName "BigRedGecko FTP server"
ServerType standalone
ServerIdent on "FTP Server ready."
DeferWelcome off
DefaultServer on
Port 21
Umask 022
MaxInstances 10
User ftp
Group ftp
DefaultRoot ~ !adm
AllowOverwrite on
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
AllowRetrieveRestart on
AllowStoreRestart on

AllowOverwrite yes

# Do not perform ident nor DNS lookups (hangs when the port is filtered)
IdentLookups off
UseReverseDNS off

# Default to show dot files in directory listings
ListOptions "-a"

# Allow to resume not only the downloads but the uploads too
AllowRetrieveRestart on
AllowStoreRestart on

# This is where we want to put the pid file
ScoreboardFile /var/run/proftpd.score

# The passwords in MySQL are encrypted using CRYPT
SQLAuthTypes Plaintext Crypt
SQLAuthenticate users* groups*

# used to connect to the database
# databasename@host database_user user_password
SQLConnectInfo ftp@localhost proftpd REMOVED_FOR_HELP

# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
SQLUserInfo ftpuser userid passwd uid gid homedir shell

# Here we tell ProFTPd the names of the database columns in the "grouptable"
# we want it to interact with. Again the names match with those in the db
SQLGroupInfo ftpgroup groupname gid members

# set min UID and GID - otherwise these are 999 each
SQLMinID 500

# create a user's home directory on demand if it doesn't exist
SQLHomedirOnDemand on

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

# User quotas
# ===========
#QuotaEngine on
#QuotaDirectoryTally on
#QuotaDisplayUnits Mb
#QuotaShowQuotas on

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 ftpquotalimits 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 ftpquotatallies 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}'" ftpquotatallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

#QuotaLimitTable sql:/get-quota-limit
#QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off

# Normally, we want users to do a few things.
AllowOverwrite yes

# Define the log formats
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
You can have a go and see what you can make of it too if you are online @200-@999 [Swatch time for people who know it] or 8:00am - 11:59pm GMT.

user: exampleuser
pass: secret

Please oh please could someone help, I am a complete n00b, yeh... But hey! at least I admit it, lmao.

Take care people, Xan Manning.

falko 7th July 2006 13:56

I get "Connection failed" in WS_FTP...
Have you tried both active and passive transfers in your FTP client?

All times are GMT +2. The time now is 20:24.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.