Pure-ftp的实现

1.先安装需要的软件包

[root@mail yum.repos.d]# yum install httpd php mysql mysql-server mysql-devel php-mysql

[root@mail yum.repos.d]# chkconfig mysqld on

[root@mail yum.repos.d]# service mysqld start

[root@mail yum.repos.d]# mysqladmin -u root -p password '123' (为了安全为mysql创建一个用户加密)

[root@mail yum.repos.d]# service httpd start

[root@mail yum.repos.d]# cd /var/www/html/

[root@mail html]# vim index.php (编辑一个php的网页用于测试下是否能web调用mysql

2.源码的安装只要确保四个group组要安装上

[root@mail Server]# yum groupinstall "X软件开发" "开发库" "开发工具" '"老的开发工具"

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

[root@mail 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@mail pure-ftpd-1.0.36]# make 

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

3.实现service启动pure-ftp ,去修改控制脚本才能用service 控制

[root@mail pure-ftpd-1.0.36]# cd contrib/ (这个是放控制脚本的目录)

[root@mail contrib]# cp redhat.init /etc/init.d/pureftpd (把控制脚本文件拷贝到默认的service控制的地方)

[root@mail init.d]# chmod a+x /etc/init.d/pureftpd (把启动程序的权限改成可执行的才可以控制)

配置服务器程序

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

[root@mail configuration-file]# cd /usr/local/pureftpd/sbin/

[root@mail sbin]# chmod a+x  pure-config.pl 

配置脚本

[root@mail sbin]# mkdir /usr/local/pureftpd/etc

[root@mail configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/

[root@mail configuration-file]# vim /etc/init.d/pureftpd 

[root@mail configuration-file]# service pureftpd start

启动 pure-config.plRunning: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 -Z

[root@mail configuration-file]# netstat -tupln |grep 21

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      13691/pure-ftpd (SE 

tcp        0      0 :::21                       :::*                        LISTEN      13691/pure-ftpd (SE 

[root@mail configuration-file]# chkconfig --add pureftpd

[root@mail configuration-file]# chkconfig --list pureftpd

pureftpd        0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[root@mail configuration-file]# chkconfig pureftpd on

4.修改配置脚本文件

[root@mail configuration-file]# vim /usr/local/pureftpd/etc/pure-ftpd.conf 

336 CreateHomeDir               yes  (打开)

[root@mail configuration-file]# service pureftpd restart

[root@mail configuration-file]# mkdir /ftproot (创建家目录)

[root@mail configuration-file]# chmod 777 /ftproot/

[root@mail configuration-file]# useradd virtualftp -d /ftproot -s /sbin/nologin  -M

5.因为有些指令不能用,所以要改变环境变量

[root@mail sbin]# cd /usr/local/pureftpd/bin/ (查看指令)

[root@mail bin]# ll

总计 112

-rwxr-xr-x 1 root root 76969 12-18 23:51 pure-pw

-rwxr-xr-x 1 root root 14468 12-18 23:51 pure-pwconvert

-rwxr-xr-x 1 root root 14462 12-18 23:51 pure-statsdecode

[root@mail configuration-file]# echo $PATH (查看环境变量的路径)

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@mail configuration-file]# echo "PATH=$PATH:/usr/local/pureftpd/etc/bin" >>/etc/profile(改变环境变量的路径)

[root@mail configuration-file]# . /etc/profile

[root@mail configuration-file]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/pureftpd/etc/bin

6.导入数据库,不用创建了(这里需要在网上找一个数据库文件)

50 INSERT INTO admin VALUES ('admin',MD5('123')); (里面改写的东西)

[root@mail pureftp]# mysql -u root -p <pureftp.sql (把这个做好的数据库导入到mysql数据库)

7.配置接口文件,mysql的认证,需要修改主的配置文件

<1>#vi /usr/local/pureftpd/etc/pure-ftpd.conf

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

修改116行为:

MySQLConfigFile               /usr/local/pureftpd/etc/pureftpd-mysql.conf

[root@mail pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/

[root@mail pureftp]# vim /usr/local/pureftpd/etc/pureftpd-mysql.conf 

32 MYSQLPassword   tmppasswd(密码)

45 MYSQLCrypt      md5  (密码类型)

8.要实现web界面管理数据库,用到了pureadmin

[root@mail pureftp]# tar -zxvf PureAdmin-0.3.tar.gz 

[root@mail pureftp]# mv PureAdmin-0.3 /var/www/html/pureadmin

[root@mail pureftp]# cd /var/www/html/pureadmin/

[root@mail pureadmin]# vim config.php (编辑主配置文件)

can't connect to mysql serverAccess denied for user 'ftp'@'localhost' (using password: YES)

登录时出错。主要没用户没有导入数据库

添加连接mysql用户

先用root登录mysql,执行

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

mysql>flush privileges;

mysql>quit;

现在可以建用户了,建完后,登录时无法登录,主要是忘了重启服务了

[root@mail ~]# service pureftpd restart

必须登录下才能看到

[root@mail ~]# ll /ftproot/ (可以查看已经创建成功了)

总计 4

drwxr-xr-x 2 1000 1000 4096 12-19 02:03 user3