既然要做pureftp,它必然有其要我们值得去学的利用。我们知道,并不是每个人都对服务器数据,等我们要登录ftp服务器时,不可能都要到服务器里用命令来创建用户,为了解决非专业人员可以来创建ftp的账户,就有了pureftp,只要会用浏览器即可进行用户的创建工作。

在主角亮相之前,是要做一些准备工作的。首先,要搭建lamp环境,因为pureftp是基于lamp的。这里,为了搭建的方便,可以采用yum来进行配置环境,而要想使用yum,就要配置yum,这里由于有光盘,只需配置本地yum即可。

通过编辑yum的配置文件来配置本地yum:

vim /etc/yum.repos.d/rhel-debuginfo.repo 

vsftp虚拟账号-pureftp_vsftpd

这时,本地yum也就配置完成了。

由于pureftp是用源码安装的,而要使源码能正常安装且正常工作,我们要先检查系统预编译环境且系统是否安装了必需开发组件,即开发工具和开发库。为了操作起来方便,这里,我有yum来检测,当然要先配置本地yum,这里我由于我已经配置过了,就直接来用,利用yum grouplist命令来检测,检测发现,必要的组件和库文件已经具备:

 Development LibrariesDevelopment ToolX Software DevelopmentLegacy Software Development当然如果没有的话,是要安装的,利用yum groupinstall 命令来安装即可。这里我的系统已具备这些开发工具和开发库,所以接下来就可以搭建lamp环境了。

切换到光盘挂载点:cd /mnt/cdrom/Server然后执行如下命令来搭建lamp环境了

yum install httpd mysql mysql-server php-mysql php php-mbstring php-gd php-xml

 

 

vsftp虚拟账号-pureftp_vsftpd_02

这时可以把mysql服务启起来:service mysqld start

接着可以执行如下命令时mysql开机启动:chkconfig mysqld on

出于对数据库的安全考虑,这里要对mysql数据库的管理员root配置一密码

mysqladmin -u root -p password 'wgz0224gz'

这时可以测试一下,mysql是否搭建成功了

vsftp虚拟账号-pureftp_虚拟账号pureftp_03

表示,mysql搭建成功。

接着可以把apache启起来:service httpd start

依旧把apache设置为开机启动:chkconfig httpd on

这里依然要测试一下apache是否搭建成功

vsftp虚拟账号-pureftp_vsftpd_04

表示,apache也搭建成功了。

phpapache是否很好的关联了呢,这里要测试一下cd /var/www/html/

创建一php文件:vim index.php

 

vsftp虚拟账号-pureftp_vsftpd_05

vsftp虚拟账号-pureftp_vsftpd_06

可知phpapache已成功结合,那mysqlapache呢,这时可以编辑index.php文件来做一小测试

vsftp虚拟账号-pureftp_vsftpd_07

由于mysql这时是启动的,加入mysqlapache连接成功的话,应该显示 It is OK,否则则显示It does not work

vsftp虚拟账号-pureftp_虚拟账号pureftp_08

说明mysqlapache也已成功连接。

 

 

接下来就是来安装pureftp

首先要拆包: tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/

切换到解压目录:cd /usr/local/src/pure-ftpd-1.0.36/

执行老三部来配置pureftp

./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

这时,出现了一个错误

vsftp虚拟账号-pureftp_vsftpd_09

这时不要怕,只要安装一下mysql-devel包就好,这时切换到光盘挂载点,装上该包即可:

vsftp虚拟账号-pureftp_虚拟账号pureftp_10

然后再来执行上面的./configure命令

make

make install

接下来首先要创建存放配置文件的目录etc

vsftp虚拟账号-pureftp_vsftpd_11

去生成启动脚本

vsftp虚拟账号-pureftp_vsftpd_12

生成配置文件

vsftp虚拟账号-pureftp_vsftpd_13

生成控制脚本文件

vsftp虚拟账号-pureftp_vsftpd_14

注意这时千万不要去启动pureftp,因为这个控制文件是拷贝生成的,里面的路径可能跟安装的pureftp的相关路径有冲突,为了安全起见,还是要去修改一下

vim /etc/init.d/pureftpd 

 

 

vsftp虚拟账号-pureftp_vsftpd_15

vsftp虚拟账号-pureftp_vsftpd_16

修改完成后,保存退出,这时就可以启动pureftp

vsftp虚拟账号-pureftp_vsftpd_17

接着就要把pureftpmysql连接起来了,首先要导入数据库

vsftp虚拟账号-pureftp_虚拟账号pureftp_18

首先依然要去看看数据库里的参数是否符合我们的环境

vim pureftp.sql 

 

vsftp虚拟账号-pureftp_vsftpd_19

vsftp虚拟账号-pureftp_vsftpd_20

 

接着就是导入数据库了:

vsftp虚拟账号-pureftp_vsftpd_21

这时可以登入mysql数据库来查看是否导入成功

vsftp虚拟账号-pureftp_虚拟账号pureftp_22

接着去看表倒入没有

vsftp虚拟账号-pureftp_虚拟账号pureftp_23

vsftp虚拟账号-pureftp_虚拟账号pureftp_24

vsftp虚拟账号-pureftp_vsftpd_25

vsftp虚拟账号-pureftp_vsftpd_26

vsftp虚拟账号-pureftp_vsftpd_27

说明,数据库已经导入成功了。

但是还有一项是很重的,就是授权

vsftp虚拟账号-pureftp_vsftpd_28

接着就是编辑相应的文件使mysqlpureftp进行连接了,这里以下载好了该文件,只要拷贝的相应的位置就好。

vsftp虚拟账号-pureftp_vsftpd_29

接着去编辑该文件做相应的修改vim pureftpd-mysql.conf

vsftp虚拟账号-pureftp_vsftpd_30

vsftp虚拟账号-pureftp_vsftpd_31

vsftp虚拟账号-pureftp_虚拟账号pureftp_32

vsftp虚拟账号-pureftp_虚拟账号pureftp_33

接着去编辑修改配置文件去找到刚配置的连接文件

vim pure-ftpd.conf 

 

vsftp虚拟账号-pureftp_虚拟账号pureftp_34

vsftp虚拟账号-pureftp_vsftpd_35

vsftp虚拟账号-pureftp_虚拟账号pureftp_36

然后就可以去配置pureftp的管理工具了,这里我已经下载好了,只需对其做相应的操作即可:

 tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/

vsftp虚拟账号-pureftp_虚拟账号pureftp_37

然后进入该目录,并编辑conf.php文件

vsftp虚拟账号-pureftp_虚拟账号pureftp_38

vsftp虚拟账号-pureftp_vsftpd_39

vsftp虚拟账号-pureftp_vsftpd_40

vsftp虚拟账号-pureftp_vsftpd_41

vsftp虚拟账号-pureftp_虚拟账号pureftp_42

接着去创建登录后的家目录

 mkdir /ftproot

然后创建一个本地账号,用来和虚拟账号进行映射

vsftp虚拟账号-pureftp_虚拟账号pureftp_43

执行上面的命令时可能会出现一个错误,但不用管它,然后查看是否映射成功

vsftp虚拟账号-pureftp_虚拟账号pureftp_44

修改ftproot的用户和所有者

 chown vitualftp.vitualftp /ftproot/

修改权限

 chmod -R 777 /ftproot/

这时可以测试一下能否创建用户呢

 

vsftp虚拟账号-pureftp_vsftpd_45

vsftp虚拟账号-pureftp_vsftpd_46

点击新建按钮来创建用户

vsftp虚拟账号-pureftp_虚拟账号pureftp_47

点击保存后,还可以点击上面的FTP用户来查看创建的用户

 

vsftp虚拟账号-pureftp_虚拟账号pureftp_48

这时可以登录到数据库里去查看数据库里是否有了user1的记录呢

 

vsftp虚拟账号-pureftp_vsftpd_49

可以看出,创建的用户已经写入到数据库里了

但是这时,利用user1登录ftp是登录不上去的,因为还没有对其与我们创建的本地账号进行映射,接着就要做映射了

vsftp虚拟账号-pureftp_vsftpd_50

这里面有这样一条记录

vsftp虚拟账号-pureftp_虚拟账号pureftp_51

但是我们还没有创建pureftpd.pdb,所以要来创建该文件

vsftp虚拟账号-pureftp_虚拟账号pureftp_52

注意上图中的两条命令只需执行这一次,以后不管创建多少个账号都不用再执行了

这时重启服务

vsftp虚拟账号-pureftp_虚拟账号pureftp_53

然后重新去注册账号来进行测试

 

vsftp虚拟账号-pureftp_虚拟账号pureftp_54

vsftp虚拟账号-pureftp_虚拟账号pureftp_55

vsftp虚拟账号-pureftp_vsftpd_56

这时可以看数据库里是否有该记录

vsftp虚拟账号-pureftp_vsftpd_57

利用use2来登陆

vsftp虚拟账号-pureftp_vsftpd_58

来查看家目录

vsftp虚拟账号-pureftp_vsftpd_59

说明已经成功登陆了。

但是当我们以匿名账户登录时,却出现这样的错误

vsftp虚拟账号-pureftp_虚拟账号pureftp_60

这时,根据上面的信息可知,我们只需去创建匿名账号的根目录即可

 mkdir -pv /var/ftp

为了测试,可以在该目录下创建文件

vsftp虚拟账号-pureftp_虚拟账号pureftp_61

然后再来以匿名账户登录来测试

vsftp虚拟账号-pureftp_vsftpd_62

 

可以看出,登录成功了。