当前位置:数据库 > MySQL >>

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`)

  ) 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

  这就可以在系统启动时自动加载

  

上一个:学者之win2k+mysql+php4快速安装
下一个:MySQL&Perl,便利之合

更多MySQL疑问解答:
如何将SQL 2005中的数据实时同步到MYSQL中
java对mysql数据库备份后,它的备份记录怎么显示查出来啊。 求告诉、
如何查询mysql表中的相似度。
mysql 查看表有没有被锁
mysql front 和mysql
mysql 建表 问题 求解答 为什么不能创建表
mysql查询问题
mysql中怎么让union all不打乱顺序
mysql中修改表字段
mysql用户操作表权限的问题(java)
mysql 如何在查询时防止插入
mysql中的 insert into select 问题,想在同个服务器下复制不同数据库的表的内容,在线求方法,谢谢
mysql中的concat用法!
使用mysql中,我想把表product的数据备份到同个服务器创建一个新表出来,刚学习mysql,用SELECT INTO 出错
mysql delete语句删除指定列的指定关键字的所以数据
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
mongodb
如果你遇到数据库难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,