45fan.com - 路饭网

搜索: 您的位置主页 > 手机频道 > 阅读资讯:安装和使用pure-ftpd的步骤

安装和使用pure-ftpd的步骤

2016-08-31 14:53:14 来源:www.45fan.com 【

安装和使用pure-ftpd的步骤

一,系统支持
系统中需要安装有 Mysql+Apache+Dns(可选).
二,准备软件
Ftpd Server :

pure-ftpd-1.0.20.tar.gz
pureftpd_php_manager:
pureftpd_php_manager.tar.gz

三,定制安装
1:解压缩
到下载的两个文件所在目录.
#cd download
#tar zxvf pure-ftpd-1.0.20.tar.gz
#tar zxvf pureftpd_php_manager.tar.gz
2:编译
#cd pure-ftpd-1.0.20

#./configure /
--prefix=/usr/local/pureftpd /
--with-mysql=/usr/local/mysql /
--with-paranoidmsg /
--with-shadow /
--with-welcomemsg /
--with-uploadscript /
--with-quotas /
--with-cookie /
--with-pam /
--with-virtualhosts /
--with-virtualroot /
--with-diraliases /
--with-sysquotas /
--with-ratios /
--with-ftpwho /
--with-throttling /
--with-language=simplified-chinese --------------->>Socket 会话显示出来的信息的语言.缺省为英语,simplified-chinese 简体中文,traditional-chinese BIG5繁体中文

--with-mysql=/usr/local/mysql / 此处的 /usr/local/mysql 请改为你的mysql实际安装路径.如果出现类似configure: error: Your MySQL client libraries aren't properly installed 的错误,请将mysql目录下的 include/mysql下的mysql.h文件以及lib/mysql下的全部文件,连接(直接复制过去或许也可)到 /usr/lib 目录下
3:安装
#make
#make check
#make install

#cp pureftpd-mysql.conf /usr/local/etc/

#cd configuration-file
#chmod u+x pure-config.pl
#cp pure-config.pl /usr/local/sbin/


#cp /usr/local/pureftpd/sbin/pure-ftpwho /usr/local/sbin/

#cp pure-ftpd.conf /usr/local/etc/
将pureftpd_php_manager目录拷贝到网站目录下
cp -R pureftpd_php_manager /opt/www/pureftpd_php_manager



四,配置服务

1:编辑/usr/local/etc/pure-ftpd.conf文件
找到
#CreateHomeDir yes
改为
CreateHomeDir yes
作用是,用户登录,如果主目录不存在,便自动建立.
找到
Umask 133:022
改为
Umask 755:755
设定新文件的默认属性.
找到
# MySQLConfigFile /etc/pureftpd-mysql.conf
改为
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
设定ftpd服务的参数取得为pureftpd-mysql.conf
文件设置
#######################
存盘退出.


2:编辑/usr/local/etc/pureftpd-mysql.conf文件
它的大概样子是这样的


源码:

############################################## # # # Sample Pure-FTPd Mysql configuration file. # # See README.MySQL for explanations. # # # ############################################## # Optional : MySQL server name or IP. Don't define this for unix sockets. MYSQLServer localhost #服务器地址 # 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 /opt/mysql/var/mysql.sock #这里换成你的真实地址 # Mandatory : user to bind the server as. MYSQLUser root #登录服务器用户名 # Mandatory : user password. You must have a password. MYSQLPassword 123456 #登录服务器密码 # Mandatory : database to open. MYSQLDatabase ftpd #配置文件所在的数据库 # 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 cleartext #验证方式 # 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 password MYSQLGetPW SELECT Password FROM users WHERE User="/L" AND status="1" #登录服务器的用户密码验证字段,status="1"为此用户必需为激活模式. # Query to execute in order to fetch the system user name or uid MYSQLGetUID SELECT Uid FROM users WHERE User="/L" #用户的UID # Optional : default UID - if set this overrides MYSQLGetUID #MYSQLDefaultUID 1000 # Query to execute in order to fetch the system user group or gid MYSQLGetGID SELECT Gid FROM users WHERE User="/L" #用户的Gid # Optional : default GID - if set this overrides MYSQLGetGID #MYSQLDefaultGID 1000 # Query to execute in order to fetch the home directory MYSQLGetDir SELECT Dir FROM users WHERE User="/L" #用户的主目录 # 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 ULBandwidth FROM users WHERE User="/L" MySQLGetRatioDL SELECT DLBandwidth FROM users WHERE User="/L" #上边两项为,用户上传与下载的速度,单位 Kb/s # 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" # MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="/L" # 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
保存退出请按您的实际情况修改.或者直接找错后复制过去. 3:修改/opt/www/pureftpd_php_manager/index.php文件 #unzip -d pureftpd_php_manager pureftpd_php_manager.zip #cd pureftpd_php_manager 注:因为上面我已经写pureftpd-mysql.conf所以这里不用移动 #mv pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf #cp -R pureftpd_php_manager /var/wwwroot/html/pureftpd_php_manager #cd /var/wwwroot/html/pureftpd_php_manager #vi pureftp.config.php 修改:/opt/www/pureftpd_php_manager/pureftp.config.php文件
源码:

###################### ####### SETUP ######## ###################### // 设置pureftpd-mysql.conf的位置,这个要注意,不要写错哦 $PUREFTP_CONFIG_FILE = '/usr/local/etc/pureftpd-mysql.conf'; // The location where all the Forms directed to. (Mayby no change needed) $SELF_URL = 'index.php'; // The location of your pure-ftpdwho binary (set this to chmod 4711) $FTP_WHO = "/usr/local/sbin/pure-ftpwho"; ####################### # DEFAULT NEW-USER PARAMS # ####################### $DB_TABLE='users'; #新增加变量,定义数据表名 $DefaultUser = "ftpuser"; # 默认用户 $DefaultPass = "passwd"; # 默认初始用户密码 $DefaultUid = "2004"; # 默认的uid(设置为apache的uid,你的或许不是48,为PHP建立的目录能够正常使用而设置) $DefaultGid = "2004"; # 默认的gid(设置为apache的gid,你的或许不是48,为PHP建立的目录能够正常使用而设置) $DefaultDir = "/var/ftproot/ftpusershome"; # 默认的用户主目录 $DefaultUL = "0"; # 默认用户上传速率限制(KB/S) $DefaultDL = "0"; # 默认用户下载速率限制(KB/S) $Defaultip = "*"; # 设置用户可以从哪些IP登陆 $DefaultQS = "50"; # 用户默认的quota $Defaultcmt = ""; # 默认备注信息 $DefaultQF = "0"; # 默认文件数目quota $PWC = "55"; # Vorsatz fuerr Crypt Password
保存退出 五,创建启动服务环境 1:创见用户和组 #groupadd ftpusers -g 2004 #useradd ftpusers -g ftpusers -u 2004 2:创建数据库,以及数据表. mysql>CREATE DATABASE pureftpd; CREATE TABLE users ( User varchar(16) NOT NULL default '', status enum('0','1') NOT NULL default '0', Password varchar(64) NOT NULL default '', Uid varchar(11) NOT NULL default '-1', Gid varchar(11) NOT NULL default '-1', Dir varchar(128) NOT NULL default '', ULBandwidth smallint(5) NOT NULL default '0', DLBandwidth smallint(5) NOT NULL default '0', comment tinytext NOT NULL, ipaccess varchar(15) NOT NULL default '*', QuotaSize smallint(5) NOT NULL default '0', QuotaFiles int(11) NOT NULL default 0, PRIMARY KEY (User), UNIQUE KEY User (User) ) TYPE=MyISAM; 或者使用phpmyadmin创见上边的数据表和数据库数据库名为pureftpd. mysql>grant all on pureftpd.* to pureftpd@localhost identified by 'yourpassword' mysql>FLUSH PRIVILEGES; //重载受权表 编辑/usr/local/etc/pureftpd-mysql.conf 将刚才在mysql中新建的用户和密码加入其中,选项很简单,只要注意不要输错 六、启动pureftpd 1:启动服务需要给定一些参数,以告知服务配置文件的位置. 方法一: #/usr/local/pureftpd/sbin/pure-ftpd -l mysql:/usr/local/etc/pureftpd-mysql.conf & 方法二: #/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
 

本文地址:http://www.45fan.com/a/luyou/70268.html
Tags: 安装 系统 pure-ftpd
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部