LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6543|回复: 15

[分享]Proftpd-1.2.7+MySQL整合经验

[复制链接]
发表于 2003-1-3 03:42:39 | 显示全部楼层 |阅读模式
首先在安装的时候。。确定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这个文件
打开==找到<mysql/mysql.h>
改成/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
如果没有任何提示就说明安装成功
PS:一般都会叫你改把"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
前面的“#”注释符去掉,这是组信息。

如果不需要匿名登录,将
<Anonymous ~ftp>

</Anonymous>
之间的内容前都加上“#”注释符。


四、建立数据库
在第三步中的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
=============================
如果启动没有什么提示就说明成功了。
FAQ1:为什么我用localhost连不上
到网络===主机===把IP改成192.168.0.10试试看。
FAQ2:为什么连接上了。。要等很久或者Socks 什么连接失败
在FTP软件中去掉“被动模式PASV“

第一次在这里写这样的文章。。希望对大家有帮助。。。同时希望大家多多帮助我。。因为我才刚开始学Linux。
发表于 2003-1-3 17:04:25 | 显示全部楼层
goods
发表于 2003-1-6 18:21:50 | 显示全部楼层
我按这种方法make之后提示找不到 bin/bin/ld can't find .lmysqlclient
其他条件都满足你的要求了。rh7.3

why???

 楼主| 发表于 2003-1-7 00:49:49 | 显示全部楼层
找一下这个文件libmysqlclient.so.10把它CP到/usr/lib 里面。。

我是在RadHat8.0下装的。。。
发表于 2003-1-7 11:36:45 | 显示全部楼层
我等下试试看!!
为什么要拷到/usr/lib?
它提示是/usr/bin/ld
发表于 2003-1-7 16:42:06 | 显示全部楼层

以下步骤在哪里执行?请指教

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);
发表于 2003-1-7 17:43:00 | 显示全部楼层
你在PHPADMIN下做 安装他建立库 就OK了 但我也没成功 老是说连接已拒绝 晕晕的 bin/bin/ld can't find .lmysqlclient这个找不到
到MYSQL的安装目录里把libmysqlclient.so.10把它CP到/usr/lib就可以了
发表于 2003-1-7 18:01:15 | 显示全部楼层
兄弟谢谢你,我已经照这样做成功了。
/usr/local/mysql/lib/mysql/libmysqlclient.a 这里我也是跟你一样的,但是我在最后一句加上mysql才成功安装的,就是
--with-libraries=/usr/local/mysql/lib/mysql
不知这样对以后会造成什么影响?,
我把localhost换成局域网内的ip应该也可以吧
还有怎么自定义ftp根目录?
 楼主| 发表于 2003-1-7 20:32:14 | 显示全部楼层
关于--with-libraries=/usr/local/mysql/lib/mysql 的路经。是看你/usr/local/mysql/lib/mysql/libmysqlclient.a 在那个目录下来定的。。新版的MYSQL就就是/usr/local/mysql/lib/libmysqlclient.a 目录下。。。我说的只是个例子。。最主要的还是自己的实践。。

Linux这个新产物。。100个人就有100个问题。。
发表于 2003-1-7 23:12:22 | 显示全部楼层
请问在phpmyadmin里建这个库,是一次性贴过去,还是要分四次粘贴
过去,即建group->groupuser->user-->user acount?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表