既然要做pureftp,它必然有其要我们值得去学的利用。我们知道,并不是每个人都对服务器数据,等我们要登录ftp服务器时,不可能都要到服务器里用命令来创建用户,为了解决非专业人员可以来创建ftp的账户,就有了pureftp,只要会用浏览器即可进行用户的创建工作。
在主角亮相之前,是要做一些准备工作的。首先,要搭建lamp环境,因为pureftp是基于lamp的。这里,为了搭建的方便,可以采用yum来进行配置环境,而要想使用yum,就要配置yum,这里由于有光盘,只需配置本地yum即可。
通过编辑yum的配置文件来配置本地yum:
vim /etc/yum.repos.d/rhel-debuginfo.repo
这时,本地yum也就配置完成了。
由于pureftp是用源码安装的,而要使源码能正常安装且正常工作,我们要先检查系统预编译环境且系统是否安装了必需开发组件,即开发工具和开发库。为了操作起来方便,这里,我有yum来检测,当然要先配置本地yum,这里我由于我已经配置过了,就直接来用,利用yum grouplist命令来检测,检测发现,必要的组件和库文件已经具备:
Development Libraries;Development Tool;X Software Development;Legacy 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
这时可以把mysql服务启起来:service mysqld start
接着可以执行如下命令时mysql开机启动:chkconfig mysqld on
出于对数据库的安全考虑,这里要对mysql数据库的管理员root配置一密码
mysqladmin -u root -p password 'wgz0224gz'
这时可以测试一下,mysql是否搭建成功了
表示,mysql搭建成功。
接着可以把apache启起来:service httpd start
依旧把apache设置为开机启动:chkconfig httpd on
这里依然要测试一下apache是否搭建成功
表示,apache也搭建成功了。
php与apache是否很好的关联了呢,这里要测试一下cd /var/www/html/
创建一php文件:vim index.php
可知php与apache已成功结合,那mysql与apache呢,这时可以编辑index.php文件来做一小测试
由于mysql这时是启动的,加入mysql与apache连接成功的话,应该显示 It is OK,否则则显示It does not work
说明mysql与apache也已成功连接。
接下来就是来安装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
这时,出现了一个错误
这时不要怕,只要安装一下mysql-devel包就好,这时切换到光盘挂载点,装上该包即可:
然后再来执行上面的./configure命令
make
make install
接下来首先要创建存放配置文件的目录etc
去生成启动脚本
生成配置文件
生成控制脚本文件
注意这时千万不要去启动pureftp,因为这个控制文件是拷贝生成的,里面的路径可能跟安装的pureftp的相关路径有冲突,为了安全起见,还是要去修改一下
vim /etc/init.d/pureftpd
修改完成后,保存退出,这时就可以启动pureftp了
接着就要把pureftp与mysql连接起来了,首先要导入数据库
首先依然要去看看数据库里的参数是否符合我们的环境
vim pureftp.sql
接着就是导入数据库了:
这时可以登入mysql数据库来查看是否导入成功
接着去看表倒入没有
说明,数据库已经导入成功了。
但是还有一项是很重的,就是授权
接着就是编辑相应的文件使mysql与pureftp进行连接了,这里以下载好了该文件,只要拷贝的相应的位置就好。
接着去编辑该文件做相应的修改vim pureftpd-mysql.conf
接着去编辑修改配置文件去找到刚配置的连接文件
vim pure-ftpd.conf
然后就可以去配置pureftp的管理工具了,这里我已经下载好了,只需对其做相应的操作即可:
tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
然后进入该目录,并编辑conf.php文件
接着去创建登录后的家目录
mkdir /ftproot
然后创建一个本地账号,用来和虚拟账号进行映射
执行上面的命令时可能会出现一个错误,但不用管它,然后查看是否映射成功
修改ftproot的用户和所有者
chown vitualftp.vitualftp /ftproot/
修改权限
chmod -R 777 /ftproot/
这时可以测试一下能否创建用户呢
点击新建按钮来创建用户
点击保存后,还可以点击上面的FTP用户来查看创建的用户
这时可以登录到数据库里去查看数据库里是否有了user1的记录呢
可以看出,创建的用户已经写入到数据库里了
但是这时,利用user1登录ftp是登录不上去的,因为还没有对其与我们创建的本地账号进行映射,接着就要做映射了
这里面有这样一条记录
但是我们还没有创建pureftpd.pdb,所以要来创建该文件
注意上图中的两条命令只需执行这一次,以后不管创建多少个账号都不用再执行了
这时重启服务
然后重新去注册账号来进行测试
这时可以看数据库里是否有该记录
利用use2来登陆
来查看家目录
说明已经成功登陆了。
但是当我们以匿名账户登录时,却出现这样的错误
这时,根据上面的信息可知,我们只需去创建匿名账号的根目录即可
mkdir -pv /var/ftp
为了测试,可以在该目录下创建文件
然后再来以匿名账户登录来测试
可以看出,登录成功了。