PureFTPD服务器的应用

 

PureFTPD服务器的管理
PureFTPD服务器可以通过插件来实现web界面用户管理,比如WebPureFTPD,pureFTPD ,
PHP,User,Management,同时用户可以使用MySQL来存储。本节介绍PureFTPD服务器的相关配置与管理。
1.       PureFTPD服务器需要用到apache mysql mysql-server mysql-devel这些软件
安装实验所用的软件包
[root@localhost ~]# yum -y install httpd php php-mysql mysql mysql-server mysql-devel
安装PureFTPD服务器还要用到

 

 

 

拆分软件包进行安装(这里用到的是源代码)
[root@localhost pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
[root@localhost pureftp]# cd /usr/local/src/pure-ftpd-1.0.36/【切换目录】
进行编译(执行以下命令)
[root@localhost pure-ftpd-1.0.36]# ./configure \
                             --prefix=/usr/local/pureftpd \
                             --with-mysql \
                                                         --with-shadow \
                                                         --with-pam \
                                                        --with-welcomemsg   \
                                                         --with-uploadscript \
                                                         --with-cookie   \
                                                         --with-virtualchroot \
                                                         --with-virtualhosts \
                                                         --with-diraliases \
                                                         --with-quotas \
                                                         --with-puredb \
                                                         --with-sysquotas \
                                                        --with-ratios \
                                                         --with-ftpwho \
                                                          --with-throttling \
                                                          --with-language=simplified-chinese
[root@localhost pure-ftpd-1.0.36]# make
[root@localhost pure-ftpd-1.0.36]# make install
1.       需要开启的服务
[root@localhost ~]# service httpd start【开启http服务】
Starting httpd:                                             [ OK ]
[root@localhost ~]# chkconfig httpd on【设置开机启动http】
[root@localhost ~]# service mysqld start【启动mysql服务】
[root@localhost ~]# chkconfig mysqld on【设置开机启动】
[root@localhost ~]# mysqladmin -u root -p password '12345'【为mysql设置密码】
2.       如果需要像其他服务那样启动PureFTPD服务,需要进一步调整。
生成pureftpd的服务脚本
[root@localhost pure-ftpd-1.0.36]# mkdir /usr/local/pureftpd/etc【创建存放配置文件的目录】
[root@localhost pure-ftpd-1.0.36]# cd configuration-file/
[root@localhost configuration-file]# chmod 755 pure-config.pl
[root@localhost configuration-file]# cp pure-config.pl  /usr/local/pureftpd/sbin/
[root@localhost configuration-file]# cp pure-ftpd.conf  /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cd ..
[root@localhost pure-ftpd-1.0.36]# cd contrib/
[root@localhost contrib]# cp redhat.init /etc/init.d/pureftpd
[root@localhost contrib]# chmod 755 /etc/init.d/pureftpd
[root@localhost contrib]# vim /etc/init.d/pureftpd
修改以下这三行
18 fullpath=/usr/local/pureftpd/sbin/$prog
19 pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
24          $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
启动PureFTPD
[root@localhost contrib]# service pureftpd start
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 –Z 【成功启动】
[root@localhost contrib]# chkconfig --add pureftpd 【设置开机启动】
[root@localhost contrib]# chkconfig pureftpd on
[root@localhost contrib]# chkconfig --list |grep ftp
pureftpd             0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.       配置虚拟用户登录环境
[root@localhost ~]#mkdir /ftproot
[root@localhost ~]#chmod -R 777 /ftproot <这不不做可以能会引起登录时报421错误>
[root@localhost ~]# useradd virtualftp -d /ftproot -s /sbin/nologin -M
<创建接下来的虚拟用户对应的系统用户>
[root@localhost ~]# chown virtualftp:virtualftp /ftproot
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
20 ChrootEveryone               yes【用户不能切换目录】
40 MaxClientsNumber             50【最大的连接用户数量】
52 MaxClientsPerIP              8【每个用户的最大连接数量】
77 NoAnonymous                 yes【允许匿名访问】
4.       用mysql进行身份验证
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
116 MySQLConfigFile      /etc/pureftpd-mysql.conf
[root@localhost pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/
[root@localhost pureftp]# cd /usr/local/pureftpd/etc/
[root@localhost etc]# vim pureftpd-mysql.conf
32 MYSQLPassword tmppasswd
45 MYSQLCrypt       md5
导入数据到mysql
# wget http://www.yiyou.org/docs/PureAdmin_03_php/pureftp.sql
# less pureftp.sql
注意其中的
     22 -- Login = ftp             此为登录数据库的用户
     23 -- Password = tmppasswd    此为登录数据库的密码
     31 CREATE DATABASE ftpusers; 创建名为ftpusers的库
     50 INSERT INTO admin VALUES ('admin',MD5('passwd')); 此为登录web用的用户密码,可自行修改
<导入数据,导入前可能需要修改此sql文件的15行:前2个减号空一格—
[root@localhost pureftp]# mysql -u root -p <pureftp.sql
5.       做基于web页面的配置
root@localhost pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
[root@localhost pureftp]# cd /var/www/html/
[root@localhost html]# mv PureAdmin-0.3 pureadmin
[root@localhost html]# cd pureadmin/
修改pureadmin的配置文件
# cd /var/www/html/pureadmin
# vi config.php    我的如下:
<?php
$cfg['dbhost']='localhost'; //mysql host
$cfg['dbname']='ftpusers'; //mysql db name                             所用的库<与前面导入的sql中要一致>
$cfg['dbuser']='ftp';            //mysql user                           登录mysql的帐号
$cfg['dbpasswd']='tmppasswd';            //mysql password               登录mysql的密码
 
//ftp config
$cfg['page']=10;                                                        每页显示的用户数量
//ftp passwd type : TEXT/CRYPT/MD5
$cfg['passwdtype']='MD5';                                               认证模式<要与pureftpd-mysql.conf中一致>
//ftp default
$cfg['uid']=500; //uid                                                 映射虚拟用户的UID,即刚创建的virtualftp用户
$cfg['gid']=500;         //gid                                          同上
$cfg['dir']='/ftproot/'; //dir                                           默认家目录
$cfg['qf']=0;  //quotafiles                                            文件个数限制,0为不限制
$cfg['qs']=100; //quotasize                                             总文件大小
$cfg['ul']=0;    //ULBandwidth                                          上传速率限制
$cfg['dl']=200; //DLBandwidth                                           下载速率限制
$cfg['ur']=0;    //ULRatio                                              上传比
$cfg['dr']=0;    //DLRatio                                              下载比
$cfg['status']=1; //status                                              状态,1为激活;0为禁止
$cfg['ip']= '*';         //ipaddress                                    可访问IP,*为所有
?>
6.       验证实验结果

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(服务器,用户,软件包,的)