答案:一、得到安装包
目前proftpd的最新版是1.2.5rc2,然后再下载一个相关的mod_sql的包
这里都可以在此下载到.二、编译安装
将proftpd的源码包解压缩到某临时目录下:
tar jxvf proftpd-1.2.5rc2.tar.bz2
然后进入proftpd-1.2.5rc2/contrib解压缩mod_sql 4.08版,覆盖老版本:
tar zxvf mod_sql-4.08.tar.gz
在proftpd-1.2.5rc2目录下执行configure配置程序
./configure --prefix=/usr/local/ --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/include/mysql --with-libraries=/usr/lib/mysql
注意.我上面后两句写的Mysql的路径是指redhat7.3里mysql默认路径.你可以到包管理里看自己mysql的相关路径.
make
make install
三、配置文件:
下面两句的意思是先把proftpd.conf备份.再把mod_sql中包含的proftpd默认配置文件拷贝到proftpd的配置文件目录中
mv /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.bak
cp contrib/mod_sql.conf /usr/local/etc/proftpd.conf
修改配置文件/usr/local/etc/proftpd.conf中的以下内容:
修改
SQLConnectInfo dbname@host:port username password
为你的数据库的相应连接参数。
将
SQLUserInfo users username password uid gid NULL NULL
改为
SQLUserInfo users userid passwd uid gid homedir shell
这是使用FTP帐号的表名和字段名。
在
SQLDefaultHomedir "/tmp"
的行首加上"#"注释符。
将
# SQLGroupInfo groups groupname gid members
前面的"#"注释符去掉,这是组信息。 如果不需要匿名登录,将
到
之间的内容前都加上"#"注释符。
找到"Group nogroup"
改为"Group nobody"
四、建立数据库
在第三步中的dbname库中用以下命令建立相应的数据表,并建立一个帐号: DROP TABLE IF EXISTS `groups`;
CREATE TABLE `groups` (
`groupname` varchar(255) binary NOT NULL default '',
`gid` int(11) NOT NULL default '0',
`members` text NOT NULL,
PRIMARY KEY (`groupname`)
) TYPE=MyISAM; INSERT INTO `groups` VALUES ('ftpgroup', 10000, 'ftpuser'); DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`userid` varchar(255) binary NOT NULL default '',
`passwd` varchar(255) binary NOT NULL default '',
`uid` int(11) default NULL,
`gid` int(11) default NULL,
`homedir` varchar(255) default NULL,
`shell` varchar(255) default NULL,
`count` int(11) default NULL,
PRIMARY KEY (`userid`)
) TYPE=MyISAM; INSERT INTO `users` VALUES ('ftpuser', password('ftpuser'), 10000, 10000, '/home/ftpuser', '/bin/bash', 0); 五、启动proftpd
[root@test /root]# /usr/local/sbin/proftpd start
也可以这样
cd /etc/rc.d/rc3.d
ln -s /usr/local/sbin/proftpd S99proftpd或者
修改/etc/rc.d/rc.local
加上下面这句
/usr/local/sbin/proftpd start
这就可以在系统启动时自动加载