pureftp服务器安装配置


一、搭建环境

1Vmware10.0虚拟机下Centos6.4-64位操作系统最小化安装,

2、软件需求

   PureAdmin-0.3.tar.gz //pureftpd服务的web管理页面,都是php页面

   pure-ftpd-1.0.36.tar.gz //ftp服务的主程序安装包

       pureftpd-mysql.conf  //ftp服务与mysql服务之间的接口文件

pureftp.sql  // mysql数据库文件,内容是创建pureftpd库和pureftpd服务器中需要的账户的表

mysql

mysql-server

php

php-gd

php-mysql

pam-devel

mysql-devel


二、工作过程

从后台管理来说,管理人员想要通过在实现了lamp环境下的浏览器中登录ftp服务器后台管理,需要pureftpweb管理页面也就是PureAdmin,通过它来完成对数据库的操作(主要是对账户的操作),mysql数据库完成了ftp虚拟账号存储的问题,这里有相应的库和表,用户表中的账户实现映射本地账号来完成对ftp服务器的访问。

从账户访问来说,建立的pureftp服务器与mysql服务之间实现了pureftp-mysql接口连接,以这样的方式可以实现ftp服务器的访问。(此账户是指虚拟账号)

三、安装步骤

1、安装mysql服务 Apache服务

[root@ahao1pureftp]# yum install httpd mysql mysql-server php php-gd php-mysql pam-develmysql-devel   //安装所需要的软件包
[root@ahao1pureftp]# service mysqld start  //启动mysql服务器
[root@ahao1pureftp]# service httpd start   //启动Apache服务器
[root@ahao1pureftp]# chkconfig httpd on   //加入chkconfig管理
[root@ahao1pureftp]# chkconfig mysqld on   //加入chkconfig管理
//接下来我们要将pureftp.sql文件导入mysql中去
//首先我们应该修改一下文件,保证我们能正常导入
[root@ahao1pureftp]# vim pureftp.sql

15 --------------------------------------------------------- //15行,这里要加个空格

VALUES('localhost','ftp',PASSWORD('tmppasswd'),//27行,这里我们要修改pureftp库的管//理员密码要修改成tmppasswd

50 INSERT INTOadmin VALUES ('admin',MD5('123'));  //50行,修改mysql管理员的密码,//这里是123

[root@ahao1pureftp]# mysqladmin -u root -p password '123' //建立管理员账户,及密码
[root@ahao1pureftp]# mysql -u root -p <pureftp.sql //导入pureftp库


//可以登录数据库查看是否有pureftp库生成

2、安装PureAdmin-0.3.tar.gz

[root@ahao1pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/ //解压到web服//务的站点主目录下


//这里需要我们修改config.php文件

wKioL1MAjLHAZXqmAAKslU06RZU439.jpg


我们修改过之后,可以在浏览器中访问试试:

在浏览中输入http://192.168.1.169/pureadmin   //这是我主机的实验地址

wKioL1MAjNaiDfu9AAFlTRp6pxI052.jpg

wKiom1MAjQ3wXnkOAAGJh2CLg1U202.jpg

有图可知,我们证明我们是可以正常访问的。

如果在登录之后出现用户权限不足的问题,建议在mysql中使用以下语句解决权限问题。

wKiom1MAjSCz-oYMAADnpBwYc7U536.jpg


但是,在ftproot目录下的账户是为了安全,使用的虚拟账户,在本地账户中是不存在的,这些虚拟账户需要一个本地账户来管理,这样我们需要建立一个本地账户。

[root@ahao1pureadmin]# useradd -d /ftproot ftpaccount  // 建立账户
[root@ahao1pureadmin]# chmod -R o+rwx /ftproot/   //站点主目录是眼存放建立的账户//的,所以要修改它的权限增加读写,可执行权限



3、安装pure-ftpd-1.0.36.tar.gz

[root@ahao1pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src //安装pureftp服务
[root@ahao1pureftp]# cd /usr/local/src/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
[[email protected]]# make && make install //安装
//在一般安装服务之后都会在安装目录下都有会有自己的配置文件,但是在pureftp中//没有配置文件所以我们需要手动添加目录,并且找到配置文件(一般都会在安装目录下的其他单独目录下)
[[email protected]]# mkdir /usr/local/pureftpd/etc  //建立配置文件的目录
[[email protected]]# cd  configuration-file/  //这个目录下存放了配置文件
[root@ahao1configuration-file]# cp pure-ftpd.conf  /usr/local/pureftpd/etc/   //拷贝配//置文件
[[email protected]]# cd contrib/  //这个目录下存放在可执行脚本
[root@ahao1contrib]# cp redhat.init /etc/init.d/pureftpd //复制脚本到控制脚本目录下
[root@ahao1contrib]# chmod a+x /etc/init.d/pureftpd //为脚本增加权限
[root@ahao1configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/ //控制脚本//需要的脚本程序
[root@ahao1configuration-file]# chmod a+x /usr/local/pureftpd/sbin/pure-config.pl  //为//脚本增加权限
[root@ahao1configuration-file]# vim /etc/init.d/pureftpd //修改脚本内容


wKiom1MAjWST5w5vAAJWtDJq2i0846.jpg

[root@ahao1configuration-file]# service pureftpd start  /启动pureftpd
[root@ahao1configuration-file]# chkconfig --add pureftpd
[root@ahao1configuration-file]# chkconfig  pureftpdon  //加入chkconfig的管理,设置//开机启动
[root@ahao1configuration-file]# cd /usr/local/pureftpd/etc //进入配置文件所在目录
[root@ahao1etc]# vim pure-ftpd.conf  //编辑配置文件
116  MySQLConfigFile               /usr/local/pureftpd/etc/pureftpd-mysql.conf
//  116行,打开此行,修改mysql与pureftpd的连接器的配置文件所在
126  PureDB                       /usr/local/pureftpd/etc/pureftpd.pdb
//126行,打开此行,修改pureftpDB的目录位置
336CreateHomeDir               yes
//336行,打开此行,表示自动创建家目录
[root@ahao1etc]# cp /root/pureftp/pureftpd-mysql.conf ./  //拷贝ftp与mysql的接口文件到/usr/local/pureftpd/etc/目录下
[root@ahao1etc]# vim pureftpd-mysql.conf  //编辑接口文件
32MYSQLPassword   tmppasswd  //32行,mysql管理员密码
45MYSQLCrypt      md5  //45行,  mysql管理员密码的加密方式
//编辑完成,保存退出。


我们还需要产生pureftpDB文件

[root@ahao1etc]# ../bin/pure-pw useradd user1 -u ftpaccount -g ftpaccount -d/ftproot/user1

到这里我们的基本配置就配置好了。

我们可以测试一下了

我们开一个命令提示符终端测试:

wKioL1MAjcGhfGWsAALgdh7fujE027.jpg

测试说明,我们能正常访问的。


四、总结

通过我们简单设置,pureftp服务搭建好了,但是需要我们注意的是,在我们用web页面访问ftp服务的管理页面中,那里建立的账户是虚拟的,并不会在本地账户中出现;

wKiom1MAjgPBU2KbAAWHepchCCs018.jpg

这是为了实现ftp服务的安全,虚拟账户不存在与本地账户目录中,也就不是本地账户,它存在在mysql数据库中,即使虚拟账号被抓包,一样不能造成对服务器的破环。

wKioL1MAjfXR5k66AAM3mgi5Oa8976.jpg

如图所示,虚拟账户信息都在数据库中。






你可能感兴趣的:(lamp,pureftpd)