proftpd 安装选择
[X] LDAP Use LDAP
[X] LDAP_TLS Use LDAP TLS (Requires LDAP)
[X] OPENSSL Include mod_tls
[X] QUOTA Include mod_quota │ │
[X] IFSESSION Include mod_ifsession │ │
[X] README Include mod_readme │ │
[X] RATIO Include mod_ratio │ │
[ ] CTRLS include controls │ │
[X] REWRITE Include mod_rewrite │ │
[X] WRAP Include mod_wrap2 │ │
PORTS 安装下的 路径/usr/local/sbin/proftpd
#操作系统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,
然后创建两个表
CREATE TABLE `FTPGRPS` (
`groupname` text NOT NULL,
`gid` smallint(6) NOT NULL default ‘0’,
`members` text NOT NULL
) ENGINE=InnoDB;;
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=InnoDB;;
INSERT INTO `FTPUSERS` VALUES (‘Michael’, ‘testftp’, 2001, 2001, ‘/var/ftp/incoming’, ”);