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.pl:Running: /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