Pureftp+mysql环境配置

                               Pureftp+mysql环境配置

    如果你在一个大公司工作,可能你的ftp服务器要为许多的员工每人分配一个ftp帐号,如果我们使用本地帐号的话,无疑是很麻烦的,并且也是不安全的,那么我们可以使用虚拟帐户来管理,但是,大量的用户信息,会让管理员花费大量的精力,且管理很麻烦,这时我们可以使用数据库mysql来分类存放用户信息,并且还可以使用web界面,为员工分配虚拟帐户,这里我们使用:pureftp+mysql+PureAdmin+php的方法来实现。

1.安装mysql数据库,因为图形界面pureadmin需要php的支持,所以我们把php与apache也一起安装

[root@localhost ~]# yum install mysql mysql-devel mysql-server php-mysql httpd php

安装之后对php与mysql的连接进行测试,测试结果要正确之后才能进行下面的实验

2.源码安装pureftp

 下载pureftp主文件pure-ftpd-1.0.36.tar.gz 并且解压缩到/usr/local/src/下。

 [root@localhost pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/

 进入目录对pureftp进行安装(请自行安装开发库)

  [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

[root@localhost pure-ftpd-1.0.36]# make

[root@localhost pure-ftpd-1.0.36]# make install

 

3.生成pureftpd的服务脚本

查看sbin文件

[root@localhost pure-ftpd-1.0.36]# ll /usr/local/pureftpd/sbin

总计 588

-rwxr-xr-x 1 root root  16934 12-20 06:07 pure-authd

-rwxr-xr-x 1 root root 429262 12-20 06:07 pure-ftpd

-rwxr-xr-x 1 root root  48418 12-20 06:07 pure-ftpwho

-rwxr-xr-x 1 root root  21457 12-20 06:07 pure-mrtginfo

-rwxr-xr-x 1 root root  33332 12-20 06:07 pure-quotacheck

-rwxr-xr-x 1 root root  34881 12-20 06:07 pure-uploadscript

修改

[root@localhost configuration-file]# chmod a+x pure-config.pl

[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/

4.我们查看一下安装文件的目录

[root@localhost configuration-file]# ll /usr/local/pureftpd/

总计 12

drwxr-xr-x 2 root root 4096 12-20 06:07 bin

drwxr-xr-x 2 root root 4096 12-20 06:11 sbin

drwxr-xr-x 3 root root 4096 12-20 06:07 share

可以发现并没有etc目录,在出于习惯,我们经常把配置文件放在etc目录下,我们也建立一个etc目录

5.[root@localhost configuration-file]# mkdir /usr/local/pureftpd/etc

为了方便启动pureftp,我们可以让pureftp加入启动服务,可以直接使用service pureftpd start来启动

[root@localhost configuration-file]# cd ..

[root@localhost pure-ftpd-1.0.36]# cp contrib/redhat.init /etc/init.d/pureftpd

并修改其中内容 

为此服务添加可执行权限

[root@localhost pure-ftpd-1.0.36]# chmod 755 /etc/init.d/pureftpd

配置虚拟用户登录

[root@localhost html]# mkdir /ftproot

[root@localhost html]# chmod -R 777 /ftproot

[root@localhost html]# useradd virtualftp -d /ftproot -s /sbin/nologin -M

设置环境变量

[root@localhost html]# echo PATH=$PATH:/usr/local/pureftpd/bin/ >> /etc/profile

[root@localhost html]# source /etc/profile

6.配置mysql 认证

创建配置文件

 [root@localhost html]# cp /usr/local/src/pure-ftpd-1.0.36/configuration-file/pure-ftpd.conf   /usr/local/pureftpd/etc/

修改配置文件

[root@localhost html]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

导入pureftp.sql  (这个文件需要自己下载)

在导入时会出现这个错误:[root@localhost pureftp]# mysql -u root -p < pureftp.sql

Enter password: 

ERROR 1064 (42000) at line 15: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-------------------------------------------------------

可以如下修改:[root@localhost pureftvim pureftp.sql .sql

    

  

再次进行导入操作,就可导入成功,导入成功之后对ftp用户进行授权操作,让ftp用户密码为abc

mysql> grant all privileges on ftpusers.* to ftp@localhost identified by 'abc';

Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 在导入之后,最好看一下这个文件内容,它里面包含进入web页面的帐号与密码

[root@localhost pureftp]# vim pureftp.sql          可以找到下面一行内容

admin就是登录web界面的用户名,passwd为密码

7.配置web界面程序

[root@localhost pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html

[root@localhost html]# cd /var/www/html

[root@localhost html]# mv PureAdmin-0.3 pureadmin

修改pureadmin的配置文件 

[root@localhost html]# cd /var/www/html/pureadmin/

[root@localhost pureadmin]# vim config.php 

8.下载pureftpd-mysql.conf文件,并对其进行修改

[root@localhost pureftp]# cd /usr/local/pureftpd/etc/

[root@localhost etc]# vim pureftpd-mysql.conf 

 27 MYSQLUser      ftp

 32 MYSQLPassword  abc

 37 MYSQLDatabase   ftpusers

 45 MYSQLCrypt      md5

9.现在可以在浏览器中输入ip地址与目录,进行对web界面的访问

进入后台,再创建一个用户

虽然现在已经创建了一个用户,但是,你如果查看/ftproot目录时,你是不能看到生成的user目录的,这需要我们使用这个用户登录一次FTP才能够生成这个目录

C:\Users\guodong>ftp 192.168.2.10

连接到 192.168.2.10。

220---------- Welcome to Pure-FTPd [privsep] ----------

220-You are user number 1 of 50 allowed.

220-Local time is now 23:15. Server port: 21.

220-IPv6 connections are also welcome on this server.

220 You will be disconnected after 15 minutes of inactivity.

用户(192.168.2.10:(none)): user                    //用户名

331 User user OK. Password required

密码:                                          //输入密码

230-OK. Current restricted directory is /

230 0 Kbytes used (0%) - authorized: 102400 Kb

ftp>

现在可以查看一下/ftproot目录

[root@localhost sbin]# ll /ftproot/

总计 4

drwxr-xr-x 2 1000 1000 4096 12-20 23:15 user

 虚拟目录创建成功。

你可能感兴趣的:(pureftp,ftp虚拟用户,pureftp+mysql)