Pureftp服务器的配置与应用

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服务器。

你可能感兴趣的:(配置,应用,pureftp)