#操作系统freebsd 6.1 mysql5.0.27
#使用port方式安装proftpd
cd /usr/ports/ftp/proftpd-mysql/ make install clean
#这里会让你选择相应的模块,我们选择mysql,其他的自己看着选择
#安装好了以后,编辑/etc/rc.conf文件,加入一行 proftpd_enable="YES"; #然后启动看看 /usr/local/etc/rc.d/proftpd start
#很不幸,抱错信息出来了 Starting proftpd. - warning: unable to determine IP address of 'FBSD11.localdomain' - error: no valid servers configured - Fatal: error processing configuration file '/usr/local/etc/proftpd.conf' #我的机器名就叫FBSD11.localdomain,好像是解析不了,上网查了一下,需要在配置文件里面加一句定义默认地址,于是在配置文件/usr/local/etc/proftpd.conf里加入一句
DefaultAddress 192.168.xxx.xxx
#保存以后启动,成功。
#接下来,我们来配置使用mysql存放用户名密码的认证方式。
以下内容摘抄于: http://www.goalercn.com/program/view.php?id=602
#编辑/usr/local/etc/proftpd.conf
#关闭dns反解 UseReverseDNS off #设置系统各种超时时间和重试次数 MaxLoginAttempts 3 TimeoutLogin 120 TimeoutIdle 600 TimeoutNoTransfer 900 TimeoutStalled 3600
######################### 下面是MySQL数据库部分设置 ########### #数据库联接的信息 #FTP是数据库名,localhost是MySQL主机名,3306是mysql服务的端口号 #Michael是连接数据库的用户名,testpwd是密码(如果没有密码留空) SQLConnectInfo FTP@localhost:3306 dbadmin dbpasswd
#数据库认证的类型 SQLAuthTypes Backend Plaintext
#指定用来做用户认证的表的有关信息。(将在后面创建) SQLUserInfo FTPUSERS userid passwd uid gid homedir shell SQLGroupInfo FTPGRPS groupname gid members
#数据库认证 SQLAuthenticate users groups usersetfast groupsetfast
#保存退出
#在mysql中创建一个数据库FTP,创建一个用户dbadmin,密码为dbpasswd,开放FTP库的权限给dbadmin,然后创建两个表
QUOTE: CREATE TABLE `FTPGRPS` ( `groupname` text NOT NULL, `gid` smallint(6) NOT NULL default '0', `members` text NOT NULL ) ENGINE=MyISAM;; INSERT INTO `FTPGRPS` VALUES ('FTPGRP', 2001, 'FTPUSR'); INSERT INTO `FTPGRPS` VALUES ('ftpusers', 2002, 'ftp');
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;; INSERT INTO `FTPUSERS` VALUES ('Michael', 'testftp', 2001, 2001, '/var/ftp/incoming', ''); |