January 20, 2004

proftpd学习笔记(一)

这几天,公司终于放假了,终于可以安下心来好好学些proftp+mysql+quota。

安装proftp之前,必须先做一个工作,假如你的mysql是自己编译的,那就必须先修改/etc/ld.so.conf,否则后面运行proftp会报错。
vi /etc/ld.so.conf

添加下面一行:

/usr/local/mysql/lib/mysql

注意大家如果mysql的安装路径于我不一样,则填写相应的路径,有关mysql的编译安装请参考《Linux+Apache+Mysql+PHP典型配置》

1。下载相关软件

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
下载proftp的最新版本1.2.9
wget http://www.castaglia.org/proftpd/modules/proftpd-mod-quotatab-1.2.11.tar.gz
这是配合proftp的磁盘限额的模块

2。解压编译

tar zvxf proftpd-1.2.9.tar.gz

tar zvxf proftpd-mod-quotatab-1.2.11.tar.gz

cp mod_quotatab/*.c proftpd-1.2.9/contrib/

cp mod_quotatab/*.h proftpd-1.2.9/contrib/

vi proftpd-1.2.9/contrib/mod_sql_mysql.c
找到#include 这一行,将mysql.h改成你的系统中此文件所在的路径, 如/usr/local/mysql/include/mysql/mysql.h

编译:

./configure \
--prefix=/usr/local/proftpd \
--with-modules=mod_sql:mod_sql_mysql:mod_quotatab\
:mod_quotatab_sql:mod_ratio \
--with-includes=/usr/local/mysql/include/mysql \
--with-libraries=/usr/local/mysql/lib/mysql
make

make install

这里我们编译的时候已经加进了mysql,quota,ratio等模块的支持,我会在后面讲他们的应用

ok, 现在我们可以来启动proftp了,只要

/usr/local/proftpd/sbin/proftpd

用你的ftp客户端试验以下,应该可以正常登陆,包括匿名和linux用户名可以。

其实默认的proftp满足日常的服务器管理用还是绰绰有余的,有个地方还是要修改一下,就是默认proftp的配置文件不支持ftp续传,所以我们只要

vi /usr/local/proftpd/etc/proftpd.conf

添加以下两行

AllowRetrieveRestart on
AllowStoreRestart on

重新启动以下proftp,就可以正常续传文件了。

创建proftpd脚本

只要在proftp的源代码目录

cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd

记得修改proftpd文件,一般要修改proftpd的实际路径

chmod 755 /etc/rc.d/init.d/proftpd

ok

以后就可以用这个教本来启动,停止,重启proftp

呵呵,今天就讲这些,明天讲些proftp的一些基础配置:)

相关文章:
proftpd学习笔记(二)
proftpd学习笔记(三)
proftpd学习笔记(四)

frank发表 于January 20, 2004 09:30 PM | 回复(26) | 引用(0)
回复

非常好1怎么才能联系到您?可以在线请教你?

Posted by: chinabb at June 25, 2004 11:04 AM

TO meat
更换MYSQL版本 不要用41ALPHA

Posted by: 大熊宝宝 at May 23, 2004 12:21 PM

我的软件环境是
REDHAT AS3 + MYSQL 411 ALPHA (RPM SERVER ) + MYSQL 411 ALPHA (MAKE CLIENT) + PROFTPD 129 + MOD——QUOTA 1。2。11。。。

Posted by: meat at May 18, 2004 02:16 AM

我在编译的时候始终有错。。不知道怎么回事??cd modules/ && make modules
make[1]: Entering directory `/home/meat/newftp/proftpd-1.2.9/modules'
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_core.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_xfer.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_auth_unix.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_auth_file.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_auth.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_ls.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_log.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_site.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_auth_pam.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_sql.c
gcc -DLINUX -I.. -I../include -I/usr/include -O2 -Wall -c mod_sql_mysql.c
mod_sql_mysql.c: In function `cmd_checkauth':
mod_sql_mysql.c:1293: too many arguments to function `make_scrambled_password'
make[1]: *** [mod_sql_mysql.o] Error 1
make[1]: Leaving directory `/home/meat/newftp/proftpd-1.2.9/modules'
make: *** [modules] Error 2
[root@web proftpd-1.2.9]#

Posted by: meat at May 18, 2004 02:10 AM

请问我用下面的方法在redhat9中直接装了rpm的proftpd的软件包,不过在/etc/下面怎么找不到proftpd.conf文件?
[root@liuz soft]# rpm -ivh proftpd-1.2.8-1.i386.rpm
Preparing... ########################################### [100%]
1:proftpd ########################################### [100%]
这种安装方法能不能改变安装路径?怎样改变?

Posted by: 小刘 at May 11, 2004 10:27 PM

我有个地址,如:ftp://ftp.123.com.cn 如果别人以web方式而不是ftp工具来浏览的时候,自动转到别处,该怎么设置?

Posted by: ok at April 29, 2004 09:22 PM

linux管理内存贴子:
http://bbs.chinaunix.net/forum/viewtopic.php?t=278273
REDHAT9 不释放内存

Posted by: garhee at April 25, 2004 04:35 PM

按文章方法安装proftpd,只是取消quota(configure去掉mod_quotatab:mod_quotatab_sql) 上传下载文件后发现系统内存耗的很快,而且传输的文件越大越耗内存,下载50M的文件后耗内存大约45M,执行
kill -INT `cat proftpd/var/proftpd.pid | sed 1q`
杀掉进程后内存没有释放,
执行proftpd/sbin/ftpshut -l 2 -d 1 +3 "ftp shutdown" 也没有释放内存,
请教高手有没有遇到这样的问题?

Posted by: garhee at April 21, 2004 12:17 PM

你的网站办的太好了,好多心得都是在那些转贴文章里看不到的,希望斑竹再接再厉。

Posted by: 支持 at April 9, 2004 09:54 PM

谢谢版主,已经按你的方法搞定。ldconfig -v
谢谢!!!

Posted by: xujj at March 28, 2004 06:49 PM

谢谢您热心的回复。

小弟太笨,怎样使ldconfig使新的配置文件生效

今天重新装了先修改了/etc/ld.so.conf,还是这个错误。
/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/qt-3.0.5/lib
/usr/lib/sane
/usr/local/mysql/lib/mysql

Posted by: xujj at March 28, 2004 06:41 PM

请确认/etc/ld.so.conf文件添加mysql的库文件时候正确,文件修改后,必须ldconfig使新的配置文件生效

Posted by: frank at March 28, 2004 09:45 AM

按楼主的方法装了,启动时提示和楼上一样的错误,请教牖主是什么错误啊,谢谢!

Posted by: xujj at March 27, 2004 10:55 PM

我的mysql是自己编译的,按照你的方法proftpd
在安装proftpd之前也修改了/etc/ld.so.conf
客户端连接是提示输入用户名和口令,不能匿名!
在终端也是一样
着是这么回事?

Posted by: snow at March 26, 2004 01:29 PM

proftp里面有没有像server-u 里的目录映射的概念?还是用linux下的ln来实现?

Posted by: at March 11, 2004 11:24 AM

我也发现这个问题,我是按照官方得文档来做得,但quotatallies就是没变化,我也希望人家给我一个答案,大家有发现的话,多交流

Posted by: frank at March 3, 2004 04:17 PM

我遇到的情况与楼上一样,请问怎么解决?

Posted by: Johson at March 3, 2004 02:47 PM

我遇到的问题同楼上一样,请问怎么解决?

Posted by: Johson at March 3, 2004 02:47 PM

安装正常,第一次运行也能正确报出:
Mar 03 00:02:25 mod_quotatab/1.2.11[2563]: STOR: quota reached: used 10.15 of 10.00 upload Mb
Mar 03 00:02:25 mod_quotatab/1.2.11[2563]: STOR: quota reached: 'ORAPTE1.odb' removed
但看ftpquotatallies表中的bytes_in_used 字段根本没有更新,这样重启服务器后就没有以前的纪录了,log也没有任何异常出现,请问如何进行更详细的跟踪?如打开debug编译选项

Posted by: garhee at March 3, 2004 02:28 AM

楼上的
cp /usr/local/mysql/lib/mysql/libmysqlclient.* /lib

Posted by: 挡泥板 at February 17, 2004 01:55 PM

./proftpd: error while loading shared libraries: libmysqlclient.so.10: cannot open shared object file: No such file or directory
什么意思?

Posted by: geleisi at February 17, 2004 01:46 PM

小曾:
你的现象跟ftp用ftpshut关闭的效果一样,你试一下
/usr/local/proftpd/sbin/ftpshut -R 命令

Posted by: frank at February 13, 2004 10:59 PM

我按照你第一章的安装,一切顺利,但是,我打开PROFTPD后
即:./proftpd
客户端连接不上呢?
出现登陆窗口,叫输入用户名和口令,不能匿名
然后在终端
[root@jwce sbin]# ftp 202.115.*.*(我这FTP的IP)
Connected to 202.115.47.181 (202.115.*.*).
500 FTP server shut down (going down at Wed Jan 7 15:09:43 2004) -- please try again later

这是怎么回事呢?我在另一台机器上只单装PROFTPD,也出现这个问题,请指教,,谢谢

Posted by: 小曾 at February 12, 2004 03:26 PM

安装proftp之前,必须先做一个工作,假如你的mysql是自己编译的,那就必须先修改/etc/ld.so.conf,否则后面运行proftp会报错。
vi /etc/ld.so.conf

做完以后ldconfig使配置生效,我的mysql是自己编译,你是编译的还是rpm安装的

Posted by: frank at February 4, 2004 10:44 AM

我照此文的方法去做总是不成功,
系统会提示:error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: Nosuch file or diretory
请指点一下!

Posted by: 王晓军 at February 4, 2004 10:27 AM

我照此文的方法去做总是不成功,
系统会提示:error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: Nosuch file or diretory

Posted by: 王晓军 at February 4, 2004 10:26 AM
发表回复









记住我的信息?