注2:之前Michael按照网上的部分文档编写了最后部分的mysql调用语句,结果最后运行proftpd后,登陆时总是出现421 Service not available 的错误,后来发现是最后部分的语句有问题,上面的语句是Michael经过修改后的,将不会有问题。
四、完成MySQL数据库表配置
完成proftpd.conf配置文件后,需要进行数据库表的配置,包括创建表和插入数据。
1、登陆mysql或者使用phpmyadmin工具创建数据库 FTP
#mysqladmin create FTP
2、运行下面的sql语句创建表和插入必要数据
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl2
--
http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2005 年 11 月 03 日 14:23
-- 服务器版本: 4.1.14
-- PHP 版本: 4.4.0
--
-- 数据库: `FTP`
--
-- --------------------------------------------------------
--
-- 表的结构 `FTPGRPS`
--
CREATE TABLE `FTPGRPS` (
`groupname` text NOT NULL,
`gid` smallint(6) NOT NULL default '0',
`members` text NOT NULL
) ENGINE=MyISAM;;
--
-- 导出表中的数据 `FTPGRPS`
--
INSERT INTO `FTPGRPS` VALUES ('FTPGRP', 2001, 'FTPUSR');
INSERT INTO `FTPGRPS` VALUES ('ftpusers', 2002, 'ftp');
-- --------------------------------------------------------
--
-- 表的结构 `FTPUSERS`
--
CREATE TABLE `FTPUSERS` (
`userid` text NOT NULL,
`passwd` text NOT NULL,
`uid` int(11) NOT NULL default '0',
`gid` int(11) NOT NULL default '0',
`homedir` text,
`shell` text
) ENGINE=MyISAM;;
--
-- 导出表中的数据 `FTPUSERS`
--
INSERT INTO `FTPUSERS` VALUES ('Michael', 'testftp', 2001, 2001, '/var/ftp/incoming', '');
-- --------------------------------------------------------
--
-- 表的结构 `quotalimits`
--
CREATE TABLE `quotalimits` (
`name` varchar(30) default NULL,
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`per_session` enum('false','true') NOT NULL default 'false',
`limit_type` enum('soft','hard') NOT NULL default 'soft',
`bytes_in_avail` float NOT NULL default '0',
`bytes_out_avail` float NOT NULL default '0',
`bytes_xfer_avail` float NOT NULL default '0',
`files_in_avail` int(10) unsigned NOT NULL default '0',
`files_out_avail` int(10) unsigned NOT NULL default '0',
`files_xfer_avail` int(10) unsigned NOT NULL default '0'
) ENGINE=MyISAM;;
--
-- 导出表中的数据 `quotalimits`
--
-- 设置Michael用户,磁盘配额1G,可以上传下载流量2G,最多文件数10个
INSERT INTO `quotalimits` VALUES ('Michael', 'user', 'false', 'soft', 1.024e+09, 0, 2.048e+09, 10, 0, 0);
-- --------------------------------------------------------
--
-- 表的结构 `quotatallies`
--
CREATE TABLE `quotatallies` (
`name` varchar(30) NOT NULL default '',
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`bytes_in_used` float NOT NULL default '0',
`bytes_out_used` float NOT NULL default '0',
`bytes_xfer_used` float NOT NULL default '0',
`files_in_used` int(10) unsigned NOT NULL default '0',
`files_out_used` int(10) unsigned NOT NULL default '0',
`files_xfer_used` int(10) unsigned NOT NULL default '0'
) ENGINE=MyISAM;;