Pure-FTPd 是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器。 侧重于运行效率和易用性。 它提供了简单的答案,他满足了大众化的需求,包括普通用户以及主机供应商们。
编辑yum运行环境
yum -y install httpd php php-mysql mysql mysql-server mysql-devel安装所需软件包,共11个
service httpd start 启动httpd
service mysqld start 启动mysql
mysqladmin -u root -p password '123456' 为mysql设置一个管理员口令
把pureftp所需软件源代码上传到Linux中
cd pureftp/ 切换到目录
tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/ 拆解所需软件包到指定目录
cd /usr/local/src/pure-ftpd-1.0.36/ 切换到生成目录
执行以下命令:
./configure \
--prefix=/usr/local/pureftpd \ pure的安装目录
--with-mysql \ 支持
mysql
--with-shadow \ 支持本地的
shadow
--with-pam \ 支持
pam身份验证
--with-welcomemsg \ 支持欢迎信息
--with-uploadscript \ 上传完毕后可以执行脚本
--with-cookie \ 缓存
--with-virtualchroot \ 支持软连接
--with-virtualhosts \ 支持虚拟主机
--with-diraliases \ 支持目录别名
--with-quotas \ 配额
--with-puredb \ 支持
puredb数据库
--with-sysquotas \ 配额相关参数
--with-ratios \
--with-ftpwho \
--with-throttling \ 支持一个报警值
--with-language=simplified-chinese 支持简体中文
编译完成后执行make和make install
mkdir /usr/local/pureftpd/etc 创建配置文件目录
cd configuration-file/ 切换到目录
cp pure-ftpd.conf /usr/local/pureftpd/etc/拷贝生成配置文件
chmod 755 pure-config.pl修改文件权限
cp pure-config.pl /usr/local/pureftpd/sbin/ 拷贝到指定目录
cd ..
cd contrib/ 跳转目录cp redhat.init /etc/init.d/pureftpd 生成启动文件
chmod 755 /etc/init.d/pureftpd 修改文件权限
vim /etc/init.d/pureftpd 编辑文件
service pureftpd start这样就能用service启动pureftp了
chkconfig –add pureftpd 设为开机启动
mkdir /ftproot建立一个用户登录目录
chmod -R 777 /ftproot 修改所建目录权限
useradd virtualftp -d /ftproot -s /sbin/nologin -M创建虚拟用户存放在目录中
chown virtualftp:virtualftp /ftproot
vim /usr/local/pureftpd/etc/pure-ftpd.conf修改配置文件
77行修改
NoAnonymous yes
116行修改位置MySQLConfigFile
/usr/local/pureftpd/etc/pureftpd-mysql.conf
打开336行的CreateHomeDir
yes
service pureftpd restart重启服务
cd pureftp/进入目录cp pureftpd-mysql.conf /usr/local/pureftpd/etc/生成mysql配置文件
cd /usr/local/pureftpd/etc/切换目录vim pureftpd-mysql.conf编译mysql的配置文件
32行修改数据库口令MYSQLPassword
tmppasswd
45行修改密码显示MYSQLCrypt
md5
vim pureftp.sql编译一个数据库文件
文件主要内容:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES('localhost','ftp',PASSWORD('passwd'),'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N');
FLUSH PRIVILEGES;
CREATE DATABASE ftpusers;
USE ftpusers;
--
-- Table structure for table 'admin'
--
CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;
--
-- Data for table 'admin'
--
INSERT INTO admin VALUES ('admin',MD5('passwd'));
CREATE TABLE `users` (
`User` varchar(16) NOT NULL default '',
`Password` varchar(32) binary NOT NULL default '',
`Uid` int(11) NOT NULL default '14',
`Gid` int(11) NOT NULL default '5',
`Dir` varchar(128) NOT NULL default '',
`QuotaFiles` int(10) NOT NULL default '500',
`QuotaSize` int(10) NOT NULL default '30',
`ULBandwidth` int(10) NOT NULL default '80',
`DLBandwidth` int(10) NOT NULL default '80',
`Ipaddress` varchar(15) NOT NULL default '*',
`Comment` tinytext,
`Status` enum('0','1') NOT NULL default '1',
`ULRatio` smallint(5) NOT NULL default '1',
`DLRatio` smallint(5) NOT NULL default '1',
PRIMARY KEY (`User`),
UNIQUE KEY `User` (`User`)
) TYPE=MyISAM;
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
mysql -u root -p < pureftp.sql 导入这个文件
mysql -u root –p进入数据库查看导入的表格
grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd';在
mysql中执行命令,创建ftp用户和密码
flush privileges;刷新数据库
退出
mysql
tar -zxvf PureAdmin-0.3.tar.gz –C /var/www/html解压pureftp的web管理工具
cd /var/www/html/切换目录
mv PureAdmin-0.3 pureadmin修改生成目录的名字
vim pureadmin/config.php编辑首页文件
service httpd restart重启apache
service pureftpd restart 重启ftp
这样就可以测试了
通过导入进mysql的文件中的管理员和密码登陆,可以对ftp进行相对应的管理
配置用户登陆的虚拟映射关系:
编辑文件vim /usr/local/pureftpd/etc/pure-ftpd.conf
126行PureDB
/usr/local/pureftpd/pureftpd.pdb来获得虚拟账户映射
echo PATH=$PATH:/usr/local/pureftpd/bin >>/etc/profile把搜索文件追加到默认的环境变量中便于搜索。(此命令下次登录时生效). /etc/profile执行此命令立即生效
pure-pw useradd user2 -u virtualftp -g virtualftp -d /ftproot/user2 -m
添加一个虚拟账号user2与本地账号相映射
pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb 建立虚拟映射的数据库
重启
apache和ftp
用虚拟账号登陆完全正常
这样在网页上管理员创建的账号和手工直接输入mysql的账号都可以连接ftp服务器。