pure-ftp

---------------------------------------------------------

一、前言

二、环境

三、配置

四、测试

---------------------------------------------------------


一、前言

   pureftpd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License)。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、NetBSD、FreeBSD、DragonFly BSD、Solaris、Tru64、Darwin、Irix and HP-UX。PureFTPd还有Android移植版本。pureftpd由Troll-FTPd发展而来,Troll-FTPd是Arnt Gulbrandsen于1995年到1999年在Trolltech工作时所作。Gulbrandsen停止维护Troll-FTPd项目后,Frank Denis于2001年开始维护并将其改名为pureftpd,目前的开发维护者是由Denis领导的团队。

二、环境

系统:CentOS6.4 32位系统

所需软件:

 PureAdmin-0.3.tar.gz

 pure-ftpd-1.0.36.tar.gz

 pureftpd-mysql.conf

 pureftp.sql

下载地址 http://pan.baidu.com/s/1pJpsCSb

三、配置

1.搭建LAMP环境

[root@localhost ~]# yum install httpd mysql-server mysql php php-gd php-mysql pam-devel mysql-devel
[root@localhost ~]# service mysqld start
[root@localhost ~]# service httpd start
[root@localhost ~]# chkconfig mysqld on     //加入开机启动
[root@localhost ~]# chkconfig httpd on

2.上传需要使用的文件

[root@localhost pureftp]# ll
-rw-r--r--. 1 root root    29148 Feb 15 20:54 PureAdmin-0.3.tar.gz
-rw-r--r--. 1 root root   578781 Feb 15 20:54 pure-ftpd-1.0.36.tar.gz
-rw-r--r--. 1 root root     4718 Feb 15 20:54 pureftpd-mysql.conf
-rw-r--r--. 1 root root     2105 Feb 15 20:54 pureftp.sql

3.导入pureftp.sql文件

[root@localhost pureftp]# mysqladmin -u root -p password '123'
Enter password:
[root@localhost pureftp]# mysql -u root -p <pureftp.sql
Enter password:
[root@localhost pureftp]# mysql -u root -p
Enter password:
mysql> show databases;
mysql> use ftpusers;
mysql> show tables;
mysql> select * from admin;
+----------+----------------------------------+
| Username | Password                         |
+----------+----------------------------------+
| admin    | 202cb962ac59075b964b07152d234b70 |
+----------+----------------------------------+
mysql> grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd';
mysql> flush privileges;

4.安装PureAdmin,并编辑配置文件

[root@localhost ~]# cd pureftp/
[root@localhost pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
[root@localhost pureftp]# cd /var/www/html/
[root@localhost html]# ll
drwxr-xr-x. 4 root 80 4096 Mar 22  2009 PureAdmin-0.3
[root@localhost html]# mv PureAdmin-0.3/ pureadmin
[root@localhost html]# cd pureadmin/
[root@localhost pureadmin]# ls
adduser.php  chkuser.php  config.php  images  lib.php list.php ...
[root@localhost pureadmin]# vim config.php
   3 $cfg['dbname']='ftpusers';    //mysql db name
   4 $cfg['dbuser']='ftp';         //mysql user
   5 $cfg['dbpasswd']='tmppasswd'; //mysql password
   10 $cfg['passwdtype']='MD5';
   14 $cfg['dir']='/ftproot/';     //dir

5.创建一个本地账号

[root@localhost pureadmin]# useradd -d /ftproot ftpaccount
[root@localhost pureadmin]# ll -d /ftproot/
drwx------. 4 ftpaccount ftpaccount 4096 Feb 15 21:37 /ftproot/
[root@localhost pureadmin]# chmod -R o+rwx /ftproot/

6.通过浏览器访问apache服务器

wKioL1MAk5LShRAdAAAnZJ5xEig888.jpg

pureftpd的web方式后台管理

wKiom1MAk7ewNGMJAAChkSl-2pY588.jpg

添加test1用户

wKioL1MAk5LBZj0nAAGvp4uhhQI564.jpg

7.通过mysql查看添加的用户信息

mysql> select * from users\G
*************************** 1. row ***************************
       User: test1
   Password: 202cb962ac59075b964b07152d234b70
        Uid: 1000
        Gid: 1000
        Dir: /ftproot/test1
 QuotaFiles: 0
  QuotaSize: 100
ULBandwidth: 0
DLBandwidth: 0
  Ipaddress: *
    Comment:
     Status: 1
    ULRatio: 0
    DLRatio: 0

8.安装pure-ftpd,并配置相关文件

[root@localhost pureadmin]# cd /root/pureftp/
[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 && make install
[root@localhost pure-ftpd-1.0.36]# cd /usr/local/pureftpd/
[root@localhost pureftpd]# ls
bin  sbin  share
[root@localhost pureftpd]# mkdir etc
[root@localhost pureftpd]# ls
bin  etc  sbin  share
[root@localhost pureftpd]# cd /usr/local/src/pure-ftpd-1.0.36/
[root@localhost pure-ftpd-1.0.36]# ls
aclocal.m4   contrib     depcomp      ........
[root@localhost pure-ftpd-1.0.36]# cd contrib/
[root@localhost contrib]# ls
Makefile   Makefile.am  pure-stat.pl  redhat.init   ....
[root@localhost contrib]# cp redhat.init /etc/init.d/pureftpd
[root@localhost contrib]# chmod a+x /etc/init.d/pureftpd
[root@localhost contrib]# cd ..
[root@localhost pure-ftpd-1.0.36]# cd configuration-file/
[root@localhost configuration-file]# ls
 .....   pure-config.pl  pure-config.py   pure-ftpd.conf
[root@localhost configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/
[root@localhost configuration-file]# chmod a+x /usr/local/pureftpd/sbin/pure-config.pl
[root@localhost configuration-file]# 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
[root@localhost configuration-file]# service pureftpd start
[root@localhost configuration-file]# netstat -tupln |grep 21
tcp   0   0 0.0.0.0:21   0.0.0.0:*  LISTEN   9856/pure-ftpd (SER
tcp   0   0 :::21        :::*       LISTEN   9856/pure-ftpd (SER
[root@localhost configuration-file]# chkconfig pureftpd on
[root@localhost configuration-file]# cd /usr/local/pureftpd/etc/
[root@localhost etc]# ll
-rw-r--r--. 1 root root 11211 Feb 15 21:58 pure-ftpd.conf
[root@localhost etc]# vim pure-ftpd.conf
    116  MySQLConfigFile    /usr/local/pureftpd/etc/pureftpd-mysql.conf
    126  PureDB             /usr/local/pureftpd/etc/pureftpd.pdb
    336  CreateHomeDir      yes
[root@localhost etc]# cp /root/pureftp/pureftpd-mysql.conf ./
[root@localhost etc]# ll
-rw-r--r--. 1 root root 11245 Feb 15 22:14 pure-ftpd.conf
-rw-r--r--. 1 root root  4718 Feb 15 22:16 pureftpd-mysql.conf
[root@localhost etc]# vim pureftpd-mysql.conf
   32 MYSQLPassword   tmppasswd
   45 MYSQLCrypt      md5
[root@localhost etc]# cd ../bin
[root@localhost bin]# ./pure-pw useradd test1 -u ftpaccount -g ftpaccount -d /ftproot/test1 -m
Password:
Enter it again:
[root@localhost bin]# service pureftpd restart

四、测试

1.在wi7的dos命令行下测试:

C:\Users\nuo>ftp 192.168.2.102
连接到 192.168.2.102。
220---------- 欢迎来到 Pure-FTPd [privsep] ----------
220-您是第 1 个使用者,最多可达 50 个连接
220-现在本地时间是 22:46。服务器端口: 21。
220-这部主机也欢迎IPv6的连接
220 在 15 分钟内没有活动,您被会断线。
用户(192.168.2.102:(none)): test1
331 使用者 test1 OK. 需要密码.
密码:
230-OK. 目前限制的目录是 /
230 0 Kbytes使用 (0%) - 授权可用: 102400 Kb
ftp> dir
200 PORT命令OK
150 连接到port 52307
drwxr-xr-x    2 1000       1000       4096 Feb 15 22:46 .
drwxr-xr-x    2 1000       1000       4096 Feb 15 22:46 ..
-rw-------    1 1000       1000       0 Feb 15 22:46 .ftpquota
226-Options: -a -l
226 总共 3 符合
ftp: 收到 204 字节,用时 0.00秒 204.00千字节/秒。

2.资源管理器测试更为直观。(略)

3.通过test1账号访问后,服务器会自动添加test1相应的文件夹。

[root@localhost ~]# cd /ftproot/
[root@localhost ftproot]# ll
drwxr-xr-x. 2 1000 1000 4096 Feb 15 23:06 test1


你可能感兴趣的:(pure-ftp)