Debian + pure-ftpd + MySQL + User Manager for pureftpd

Source: Internet
Author: User
Tags crypt

1. Install pure-ftpd and MySQL

Apt-Get purge vsftpd
Apt-Get purge pure-ftpd
Apt-Get purge pure-ftpd-common
Apt-Get purge pure-ftpd-MySQL
Apt-Get purge pure-ftpd-LDAP
Apt-Get install pure-ftpd-mysql-Server

2. Configure pure-ftpd

Echo "yes">/etc/pure-ftpd/CONF/chrooteveryone
Echo "yes">/etc/pure-ftpd/CONF/createhomedir

3. Add an FTP group and user

Groupadd ftpusers
Useradd-S/bin/false-D/var/ftp-c "Pure ftpd user"-G ftpusers ftpuser

4. Get User Manager for pureftpd

Wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
Tar xvzf ftp_v2.1.tar.gz
Mv ftp/var/www/
Http://192.168.x.x/ftp

5. Configure pure-ftpd-MySQL

VI/etc/pure-ftpd/DB/MySQL. conf

#############################################################################                                                                          ## PureFTPd MySQL configuration file.                                       ## Generated by the installation wizard for the 'User manager for PureFTPd' ## See http://machiel.generaal.net for more info                            ## or read the README.MySQL for explanations of the syntax.                 ##                                                                          ############################################################################## Optional : MySQL server name or IP. Don't define this for unix sockets.MYSQLServer     127.0.0.1# Optional : MySQL port. Don't define this if a local unix socket is used.# MYSQLPort       3306# Optional : define the location of mysql.sock if the server runs on this host.MYSQLSocket     /tmp/mysql.sock# Mandatory : user to bind the server as.MYSQLUser      root# Mandatory : user password. You must have a password.MYSQLPassword   *****# Mandatory : database to open.MYSQLDatabase  ftpusers# Mandatory : how passwords are stored# Valid values are : "cleartext", "crypt", "md5" and "password"# ("password" = MySQL password() function)# You can also use "any" to try "crypt", "md5" *and* "password"MYSQLCrypt      md5# In the following directives, parts of the strings are replaced at# run-time before performing queries :## \L is replaced by the login of the user trying to authenticate.# \I is replaced by the IP address the user connected to.# \P is replaced by the port number the user connected to.# \R is replaced by the IP address the user connected from.# \D is replaced by the remote IP address, as a long decimal number.## Very complex queries can be performed using these substitution strings,# especially for virtual hosting.# Query to execute in order to fetch the passwordMYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Query to execute in order to fetch the system user name or uidMYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : default UID - if set this overrides MYSQLGetUID#MYSQLDefaultUID 1000# Query to execute in order to fetch the system user group or gidMYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : default GID - if set this overrides MYSQLGetGID#MYSQLDefaultGID 1000# Query to execute in order to fetch the home directoryMYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : query to get the maximal number of files# Pure-FTPd must have been compiled with virtual quotas support.# MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"# Optional : query to get the maximal disk usage (virtual quotas)# The number should be in Megabytes.# Pure-FTPd must have been compiled with virtual quotas support.# MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"# Optional : ratios. The server has to be compiled with ratio support.# MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"# MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"# Optional : bandwidth throttling.# The server has to be compiled with throttling support.# Values are in KB/s .MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS :# 1) You know what you are doing.# 2) Real and virtual users match.# MySQLForceTildeExpansion 1# If you upgraded your tables to transactionnal tables (Gemini,# BerkeleyDB, Innobase...), you can enable SQL transactions to# avoid races. Leave this commented if you are using the# traditionnal MyIsam databases or old (< 3.23.x) MySQL versions.# MySQLTransactions On

6. Restart pure-ftpd-MySQL

/Etc/init. d/pure-ftpd-mysql restart

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.