技术开发 频道

Proftpd-1.2.7+MySQL整合经验

  【IT168 技术文档】

    这个是我的经验之谈,大家可以参考。
  
  首先在安装的时候。。确定mysql中mysql.hlibmysql和client.a,这两个文件的路经以我的为例:

  /usr/local/mysql/include/mysql/mysql.h   /usr/local/mysql/lib/mysql/libmysqlclient.a

  解压proftpd。然后找到contrib目录下的mod_sql_mysql.cp这个文件,找到并打开,改成/usr/local/mysql/include/mysql/mysql.h并保存,接着就是编译了

./configure   --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include --with-libraries=/usr/local/mysql/lib

  然后就是make 和make install安装完成。

/usr/local/proftpd/sbin/proftpd

    如果没有任何提示就说明安装成功,一般都会叫你改把"nogroup"改成"nobody",然后到源代码中sample-configureations目录下找到mod_mysql.conf把它CP到proftpd/ect下成改名为proftpd.conf
 
  SQLConnectInfo dbname@host:port username password,为你的数据库的相应连接参数。

  例子:我的proftpd的数据库账号:ftp密码:123456 端口:3306,SQLConnectInfo proftpd@localhost:3306 ftp 123456

 SQLUserInfo users username password uid gid NULL NULL

  改为:

SQLUserInfo users userid passwd uid gid homedir shell

  这是使用FTP帐号的表名和字段名。

  在 SQLDefaultHomedir "/tmp" 的行首加上“#”注释符。 将

# SQLGroupInfo groups groupname gid members

  前面的“#”注释符去掉,这是组信息。   
  
  建立数据库

  dbname库中用以下命令建立相应的数据表,并建立一个帐号,说明:这些都可以在phpMyAdmin下完成。这个也是最方便的MySQL的管理工具之一.

  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/proftpd/sbin/proftpd

  如果启动没有什么提示就说明成功了。

0
相关文章