开源中文网

您的位置: 首页 > proftp > 正文

ProFtpd与Mysql结合.实现FTP服务

来源:  作者:

一、得到安装包 
  目前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`) 
  ) ENGINE=MyISAM DEFAULT CHARSET=gbk; 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`) 
  ) ENGINE=MyISAM DEFAULT CHARSET=gbk; 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 
  这就可以在系统启动时自动加载 

Tags:ProFtpd Mysql 结合
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明