【转贴】PureFTPd 系列中文文档之 README.MySQL

范堡 发布于 2009/05/06 10:58
阅读 208
收藏 0

【DevOps必读】产品经理与程序员之间如何破局?>>>

原文出自:1816个人主页技术交流论坛。具体见:http://www.1816.net/bbs/viewthread.php?tid=1732

正文如下:

     PureFTPd 系列中文文档之 README.MySQL ---- 配合MySQL使用 Pure-FTPd

         吴伟; jeffwu_cn@hotmail 2004.4.12

--------------------------------------------------------------------------------
中文版声明:本文根据 Pure-FTPd 1.0.18 源代码中的同名英文原文翻译而来(英文原文所在
的原代码压缩包可以通过 http://pureftpd.sourceforge.net/ 获得),遵循GPL协议。鼓
励复制、传播、分发和修改,不过请保留作者署名和本声明。
欢迎来信交流:jeffwu_cn@hotmail.com
--------------------------------------------------------------------------------

如果你之前从来没有听说过 MySQL ,请不要在 Pure-FTPd 中启用 MySQL 支持。如果你不
需要管理大量的共享帐号的话,MySQL支持是没有多少用的。但是,好...,如果你想要了
解任何有关MySQL的信息的话,http://www.mysql.com/ 是一个好的起点。


------------------------------- MYSQL 支持 ------------------------------------


从 0.99.1 版本起,Pure-FTPd 内建了 MySQL 数据库的支持。当 MySQL 启用时,所有的
帐户信息都从一个中心 MySQL 数据库中获取。

编译带 MySQL 支持的服务器时,你必须首先编译和安装 MySQL 客户端库。MySQL 可从 
http://www.mysql.com/ 免费获得,而且二进制包也被包括在了许多主要的发布包中了。
不过,如果你选择了一个二进制形式的话,在开发包和安装包分离的情况下,不要忘了把
开发包也安装上。

然后,使用 --with-mysql 选项和其他你喜爱的小配件来配置 Pure-FTPd :

    ./configure --with-mysql --with-cookie --with-throttling --with-ratios

如果你的 MySQL 库被安装在一个特别的路径中,你可以像这样来指定它:

    ./configure --with-mysql=/opt/mysql

在这个例子中,头文件(像 mysql.h)将在目录 /opt/mysql/include 和 
/opt/mysql/include/mysql 中查找,相关的库文件将在目录 /opt/mysql/lib 和
/opt/mysql/lib/mysql 中查找。

然后,像通常一样安装服务器:

                                 make install

---------------------------- MYSQL 配置文件 -----------------------------------

在运行服务器前,你必须创建一个配置文件。你也许会问,为什么要用配置文件代替简单
的命令行参数呢?因为安全问题,你可能需要隐藏 Pure-FTPd 是怎么连接到你的 MySQL数
据库的。在本地用户能发现命令的命令行选项(例如使用 'ps auxwww')的情况下,为敏
感的数据使用配置文件可能会更安全。确保配置文件是仅 root 用户可读的(chmod 600)。

下面是一个配置文件的例子:

#MYSQLServer     localhost
#MYSQLPort       3306
MYSQLSocket     /tmp/mysql.sock
MYSQLUser       root
MYSQLPassword   rootpw
MYSQLDatabase   pureftpd
MYSQLCrypt      cleartext
MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"

看看这 pureftpd-mysql.conf 配置文件例子中每个关键字的解释。

可以把这个配置文件保存在任何地方。让我们假如它是 /etc/pureftpd-mysql.conf 。

然后,你必须使用带这个配置文件路径的命令选项 '-l mysql:' 来启动 pure-ftpd。下面
是用于 tcpserver 的一个例子:

tcpserver -DHRl0 0 21 /usr/local/bin/pure-ftpd -l mysql:/etc/pureftpd-mysql.conf &

你可以混合不同的多种认证方式。比如:在一个帐号在 MySQL 数据库中找不到时你想使用
系统帐号 (/etc/passwd) 中对应的某个帐号时,可以使用:

-l mysql:/etc/pureftpd-mysql.conf -l unix

《未完待续》



加载中
返回顶部
顶部