+ Responder ao Tópico



  1. #1

    Smile proftpd+mysql não inicia. help.

    ola a todos!

    to tentando instalar o proftpd + mysql e não to tendo muito sucesso nessa, o que ocorre é que quando vou iniciar o proftpd simplimente ele não inicia e nem me reporta log.

    a versão que estou usando:

    proftpd-1.3.1-1.el5.rf
    proftpd-mysql-1.3.1-1.el5.rf

    distro = centos 5.1

    proftpd.conf:

    ServerName "Teste FTP server"
    ServerIdent on "FTP Server ready."
    ServerAdmin [email protected]
    ServerType standalone
    #ServerType inetd
    DefaultServer on
    AccessGrantMsg "User %u logged in."
    #DisplayConnect /etc/ftpissue
    #DisplayLogin /etc/ftpmotd
    #DisplayGoAway /etc/ftpgoaway
    DeferWelcome off

    # Use this to excude users from the chroot
    #DefaultRoot ~ !adm
    DefaultRoot ~

    # Use pam to authenticate (default) and be authoritative
    #AuthPAMConfig proftpd
    #AuthOrder mod_auth_pam.c* mod_auth_unix.c


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

    # Port 21 is the standard FTP port.
    Port 21

    # Umask 022 is a good standard umask to prevent new dirs and files
    # from being group and world writable.
    Umask 022

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

    # See Configuration.html for these (here are the default values)
    #MultilineRFC2228 off
    #RootLogin off
    #LoginPasswordPrompt on
    #MaxLoginAttempts 3
    #MaxClientsPerHost none
    #AllowForeignAddress off # For FXP

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

    # To prevent DoS attacks, set the maximum number of child processes
    # to 30. If you need to allow more than 30 concurrent connections
    # at once, simply increase this value. Note that this ONLY works
    # in standalone mode, in inetd mode you should use an inetd server
    # that allows you to limit maximum number of processes per service
    # (such as xinetd)
    MaxInstances 20

    # Set the user and group that the server normally runs at.
    User nobody
    Group nobody

    # Disable sendfile by default since it breaks displaying the download speeds in
    # ftptop and ftpwho
    UseSendfile no

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

    # Normally, we want users to do a few things.
    <Global>
    AllowOverwrite yes
    <Limit ALL SITE_CHMOD>
    AllowAll
    </Limit>
    </Global>

    # Define the log formats
    LogFormat default "%h %l %u %t \"%r\" %s %b"
    LogFormat auth "%v [%P] %h %t \"%r\" %s"

    TimeoutLogin 60
    TimeoutNoTransfer 120
    TimeoutIdle 180

    TransferRate RETR 8:10

    TransferLog /var/log/proftpd/xferlog
    SystemLog /var/log/proftpd/proftpd.log

    # TLS
    # Explained at ProFTPD module mod_tls
    #TLSEngine on
    #TLSRequired on
    #TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
    #TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
    #TLSCipherSuite ALL:!ADH:!DES
    #TLSOptions NoCertRequest
    #TLSVerifyClient off
    ##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
    #TLSLog /var/log/proftpd/tls.log

    # SQL authentication Dynamic Shared Object (DSO) loading
    # See README.DSO and howto/DSO.html for more details.
    #<IfModule mod_dso.c>
    # LoadModule mod_sql.c
    # LoadModule mod_sql_mysql.c
    # LoadModule mod_sql_postgres.c
    #</IfModule>

    # A basic anonymous configuration, with an upload directory.
    #<Anonymous ~ftp>
    # User ftp
    # Group ftp
    # AccessGrantMsg "Anonymous login ok, restrictions apply."
    #
    # # We want clients to be able to login with "anonymous" as well as "ftp"
    # UserAlias anonymous ftp
    #
    # # Limit the maximum number of anonymous logins
    # MaxClients 10 "Sorry, max %m users -- try again later"
    #
    # # Put the user into /pub right after login
    # #DefaultChdir /pub
    #
    # # We want 'welcome.msg' displayed at login, '.message' displayed in
    # # each newly chdired directory and tell users to read README* files.
    # DisplayLogin /welcome.msg
    # DisplayFirstChdir .message
    # DisplayReadme README*
    #
    # # Some more cosmetic and not vital stuff
    # DirFakeUser on ftp
    # DirFakeGroup on ftp
    #
    # # Limit WRITE everywhere in the anonymous chroot
    # <Limit WRITE SITE_CHMOD>
    # DenyAll
    # </Limit>
    #
    # # An upload directory that allows storing files but not retrieving
    # # or creating directories.
    # <Directory uploads/*>
    # AllowOverwrite no
    # <Limit READ>
    # DenyAll
    # </Limit>
    #
    # <Limit STOR>
    # AllowAll
    # </Limit>
    # </Directory>
    #
    # # Don't write anonymous accesses to the system wtmp file (good idea!)
    # WtmpLog off
    #
    # # Logging for the anonymous transfers
    # ExtendedLog /var/log/proftpd/access.log WRITE,READ default
    # ExtendedLog /var/log/proftpd/auth.log AUTH auth
    #
    #</Anonymous>

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


    # 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

    SQLNamedQuery gettally SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'"
    SQLNamedQuery getlimit SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'"
    SQLNamedQuery getfree SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' AND ftpquotatallies.name = '%u'"

    SQLShowInfo LIST "226" "Used %{gettally}MB from %{getlimit}MB. You have %{getfree}MB available space."


    o que me parece, é que o proftpd não ta carregando o modulo mod_sql, mod_sql_mysql

    proftpd -l
    Compiled-in modules:
    mod_core.c
    mod_xfer.c
    mod_auth_unix.c
    mod_auth_file.c
    mod_auth.c
    mod_ls.c
    mod_log.c
    mod_site.c
    mod_delay.c
    mod_dso.c
    mod_readme.c
    mod_auth_pam.c
    mod_tls.c
    mod_cap.c
    mod_ctrls.c

    alguem tem alguma ideia de como proceder nesse caso.?
    Última edição por ecbr2003; 19-06-2008 às 18:25.

  2. #2

    Padrão

    Olá, olha eu nunca tentei instalar o proftpd com mysql, mas olhando seu conf e sua conclusão sobre o ocorrido, me parece que você não descomentou a parte onde o proftpd carrega os modulos:

    Código :
    # SQL authentication Dynamic Shared Object (DSO) loading
    # See README.DSO and howto/DSO.html for more details.
    #<IfModule mod_dso.c>
    #   LoadModule mod_sql.c
    #   LoadModule mod_sql_mysql.c
    #   LoadModule mod_sql_postgres.c
    #</IfModule>

    Tenta descomentar e carregar o proftpd de novo!
    Falowww

  3. #3

    Padrão Arquivo Host

    Amigo, além de precisar de um domino FQDN, no caso do uso do BD, você precisa estar com os hosts o.k..

    Poste aqui outros arquivos de configuração que sao 'lidos' ao iniciar o Proftpd..

    /etc/hosts
    /etc/hosts.allow e o deny (meio dificil vc ter modificado-s).

    Agora quanto ao log de erro nao aparecer, é estranho....

    de uma olhada no diretorio /var/log, nem sempre os erros sao reportados no arquivo do 'daemon' em questao. o que voce procura pode estar em outros arquivos..

    da um "tail" em todos os arquivos e procure a referencia do erro.

    Não se esqueça de atualizar a data do seu sistema, ajuda bastante a hora de visualizar arquivos de log.

    Fui!

  4. #4

    Padrão

    Citação Postado originalmente por zenun Ver Post
    Olá, olha eu nunca tentei instalar o proftpd com mysql, mas olhando seu conf e sua conclusão sobre o ocorrido, me parece que você não descomentou a parte onde o proftpd carrega os modulos:

    Código :
    # SQL authentication Dynamic Shared Object (DSO) loading
    # See README.DSO and howto/DSO.html for more details.
    #<IfModule mod_dso.c>
    #   LoadModule mod_sql.c
    #   LoadModule mod_sql_mysql.c
    #   LoadModule mod_sql_postgres.c
    #</IfModule>
    Tenta descomentar e carregar o proftpd de novo!
    Falowww
    eu descomentei sim, e mesmo assim nao funcionou, o que parece que ele nao esta carregando os modulos.

  5. #5

    Padrão

    Amigo, fiquei curioso...
    O que tem a ver o proftpd com base de dados com um FQND?

    Sobre os módulos, você já verificou que você possui eles?

  6. #6