Страница 1 из 1

PROFTPD и SQL (Fatal: unknown configuration directive)

Добавлено: 2012-03-14 23:55:51
pr_o
Не хочет подыматься proftp-демон, говорит мол

Код: Выделить всё

Starting proftpd.
kit.cn.ua proftpd[98750]: Fatal: unknown configuration directive 'SQLAuthTypes' on line 29 of '/usr/local/etc/proftpd.conf'
/usr/local/etc/rc.d/proftpd: WARNING: failed to start proftpd
Это значит, что модуль sql не загружается? я не пойму, ведь демон таких слов не знает, как SQLAuthTypes и тд...
Но есть же строчка "AuthOrder mod_sql.c"
Первый раз настраиваю PROFTPD, помогите...

Вот на всякий случай: /usr/local/etc/proftpd.conf

Код: Выделить всё

ServerName                      "FTP Server"
ServerType                      standalone
DefaultServer                   on
Port                            21
UseIPv6                         off
Umask                           022
SyslogLevel                     emerg
SystemLog                       /var/log/xferlog
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s"
ExtendedLog                     /var/log/xferlog        AUTH auth
DeferWelcome                    off
MultilineRFC2228                on
ShowSymlinks                    on
TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200
DisplayLogin                    welcome.msg
DisplayChdir                    .message
ListOptions                     "-l"
DenyFilter                      \*.*/
MaxInstances                    30
CommandBufferSize       512
User                            nobody
Group                           nogroup
AllowOverwrite          on
DefaultRoot ~
RequireValidShell off
AuthOrder mod_sql.c
SQLAuthTypes            Crypt
SQLAuthenticate         users groups
SQLConnectInfo          syscp@localhost syscp пароль=)
SQLUserInfo             ftp_users username password uid gid homedir shell
SQLGroupInfo            ftp_groups groupname gid members
SQLUserWhereClause      "login_enabled = 'y'"
SQLLog                  PASS            login
SQLNamedQuery           login           UPDATE "last_login=now(), login_count=l
SQLLog                  RETR            download
SQLNamedQuery           download        UPDATE "down_count=down_count+1, down_b
SQLLog                  STOR            upload
SQLNamedQuery           upload          UPDATE "up_count=up_count+1, up_bytes=u
<IfModule mod_delay.c>
  DelayEngine off
</IfModule>
<IfModule mod_tls.c>
   TLSEngine on
   TLSLog /var/log/xferlog
   TLSProtocol SSLv23
   TLSRequired off
   TLSRSACertificateFile /etc/ssl/proftpd/cert.pem
   TLSRSACertificateKeyFile /etc/ssl/proftpd/key.pem
   TLSVerifyClient off
   TLSRenegotiate required off
</IfModule>

Разобрался

Добавлено: 2012-03-15 1:19:29
pr_o
Заработало!

1. # cd /usr/ports/ftp/proftpd/
2. # make deinstall
3. # make install WITH_MYSQL=yes
4. # make clean
5. # ls /usr/local/libexec/proftpd/
И я наконец-то я увидел нужный мне модуль sql_mod !!!

Ключевую роль сыграла опция WITH_MYSQL=yes
Меня спасла статья: http://www.base.vingrad.ru/view/1417-Us ... teley-v-BD

FreeBSD+SysCP+ProFTPd, рабочий фариант настроек proftpd.conf

Добавлено: 2012-03-16 0:08:18
pr_o
Там в настройках надо в начале еще дописать комманды для загрузки модулей.

В общем, рабочий вариант настроек ProFTPd для SysCP /usr/local/etc/proftpd.conf следующий:

Код: Выделить всё

# This is a basic ProFTPD configuration file. It establishes a single
# server and a single anonymous login. It assumes that you have a
# user/group "nobody"/"nogroup" for normal operation and anon.

#    !!! PLEASE read the documentation of proftpd !!!
#
# You can find the documentation in /usr/doc/packages/proftpd/,
# http://www.proftpd.org/ and don't forget to read carefully
# and _follow_ hints on http://www.proftpd.net/security.html.


LoadModule mod_tls.c
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_sql.c
LoadModule mod_radius.c
LoadModule mod_rewrite.c
LoadModule mod_ifsession.c


#
# Basic
#
ServerName                      "Pizza"
ServerType                      standalone
ServerAdmin                     LittleFuntik@gmail.com

#
# Если сервер в локалке, то можно руту дать возможность
# соединяться по ftp. В /etc/ftpusers закомментируем root
#
#RootLogin on

#
# Debug Level
# emerg, alert, crit (empfohlen), error, warn. notice, info, debug
#
SyslogLevel                     emerg
SystemLog                       /var/log/xferlog
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s"
ExtendedLog                     /var/log/xferlog AUTH auth

#
# uncomment, if you want to hide the servers name:
#
ServerIdent                     on      "Pizza's Server"
DeferWelcome                    off
DefaultServer                   on

#
# Display
#
DisplayLogin                    welcome.msg
DisplayChdir                    .message

# Port 21 is the standard FTP port.
Port                            21

UseIPv6                         off

#
# Маска для ограничения создания директорий и файлов
#
Umask                           022

MultilineRFC2228                on
ShowSymlinks                    on


# Ограничение трафика. В данном случае мы ограничиваем закачку и
# скачивание всем пользователям на 250k кроме рута
TransferRate                    RETR,STOR,APPE 250 user !root

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

ListOptions                     "-l"
DenyFilter                      \*.*/
MaxInstances                    30
CommandBufferSize               512

#
# Пользователь и группа, под которой работает демон
#
User                            nobody
Group                           nogroup

#
# Ограничения
#
MaxClients 15 "Слишком много соединений с сервером!"
MaxClientsPerHost 4 "Кол-во подключенных клиентов с Вашего хоста: %m. Больше не разрешено!"
MaxLoginAttempts 3 "Слишком много попыток входа!"

AllowOverwrite                  on
DefaultRoot                     ~
RequireValidShell               off
AuthOrder                       mod_sql.c

#------------------------mysql Modul:
SQLAuthTypes                    Crypt
SQLAuthenticate                 users groups
SQLConnectInfo                  syscp@localhost ПОЛЬЗОВАТЕЛЬ_БД ПАРОЛЬ_БД
SQLUserInfo                     ftp_users username password uid gid homedir shell
SQLGroupInfo                    ftp_groups groupname gid members
SQLUserWhereClause              "login_enabled = 'y'"
SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users
#------------------------mysql

<IfModule mod_delay.c>
  DelayEngine       off
</IfModule>

<IfModule mod_tls.c>
   TLSEngine        on
   TLSLog           /var/log/xferlog
   TLSProtocol      SSLv23
   TLSRequired      off
   TLSRSACertificateFile    /etc/ssl/proftpd/cert.pem
   TLSRSACertificateKeyFile /etc/ssl/proftpd/key.pem
   TLSVerifyClient  off
   TLSRenegotiate   required off
</IfModule>