【原创】Redhat AS 4下安装Pureftpd+mysql+pure-php-manager
mxx823
|
1#
mxx823 发表于 2005-08-25 10:33
【原创】Redhat AS 4下安装Pureftpd+mysql+pure-php-manager
笔者由于教学的缘故,所以在近日对AS 4下PUreftpd+MYSQL+Pure_php_manager进行了多次实践。
先把整个安装过程发表出来。希望能给大家一些参考。并希望斑竹加精。 :cool: :cool: :cool: 一、下载pureftp源代码,并确定mysql已经安装好 先从[url="http://www.pureftpd.org/"]http://www.pureftpd.org/[/url]下载最新版的pureftp源代码,目前的最新版是1.0.20 假设你下载到的源代码文件为pure-ftpd-1.0.20.tar.bz2,下面解压缩文件 tar xzvf pure-ftpd-1.0.20.tar.gz 进入解压后的目录 cd pure-ftpd-1.0.20 我们现在要安装的pureftpd是使用mysql数据库认证.如果你没有安装,请到这里下载:[url="http://www.mysql.com"]http://www.mysql.com[/url] 如果你已经安装,使用下面的指令可以看到你的mysql安装路径 whereis mysql 我现在是使用redhat AS 4提供的RPM包安装的,版本为4.1.7 二、编译安装pureftpd 确定你的mysql能正常运行后,开始编译pureftpd ./configure --prefix=/usr/local/pureftpd --with-mysql=/usr --with-paranoidmsg --with-shadow --with-welcomemsg --with-uploadscript --with-quotas --with-cookie --with-virtualhosts --with-virtualroot --with-diraliases --with-sysquotas --with-ratios --with-ftpwho --with-throttling --with-language=simplified-chinese 注意--prefix=/usr/local/pureftpd 参数指定了pureftpd的安装路径 --with-mysql=/usr 参数指定了mysql的安装路径 --with-language=simplified-chinese 参数指定了pureftpd服务器返回信息使用的语言 下面开始编译源代码 make 安装pureftpd到指定路径 make install 复制配置文件到安装路径 mkdir /usr/local/pureftpd/etc cp pureftpd-mysql.conf /usr/local/pureftpd/etc/pureftpd-mysql.conf cd configuration-file cp pure-ftpd.conf /usr/local/pureftpd/etc 复制pure-config.pl脚本到安装路径 cp pure-config.pl /usr/local/pureftpd/bin 增加执行权限 chmod a+x /usr/local/pureftpd/bin/pure-config.pl 三、初步测试pureftpd 下面使用默认的配置运行一下pureftpd,服务端口为2121 /usr/local/pureftpd/sbin/pure-ftpd -S 2121 现在在客户端使用浏览器打开[url="ftp://服务器ip:2121/"]ftp://服务器IP:2121[/url] 匿名登陆即可看到服务器的ftp用户的家目录下的文件 (说明:pureftpd的匿名用户是映射到系统的ftp用户的) 到这里,如果仅作为一个匿名服务器,不需要提供认证用户的服务的话,这个服务器已经可以基本运行起来了 四、建立mysql认证数据库表 在mysql服务器中建立pureftpd数据库 CREATE DATABASE pureftpd; 建立mysql用户pureftpd,登陆密码为pureftpd grant all on pureftpd.* to pureftpd@localhost identified by 'pureftpd'; 在pureftpd数据库中新建数据表users CREATE TABLE `users` ( `id` int(32) unsigned NOT NULL auto_increment, `User` varchar(16) NOT NULL default '', `Password` varchar(64) NOT NULL default '', `Uid` varchar(11) NOT NULL default '-1', `Gid` varchar(11) NOT NULL default '-1', `Dir` varchar(128) NOT NULL default '', `QuotaSize` smallint(5) NOT NULL default '0', `QuotaFiles` int(11) NOT NULL default '0', `ULBandwidth` smallint(5) NOT NULL default '0', `DLBandwidth` smallint(5) NOT NULL default '0', `ULRatio` smallint(6) NOT NULL default '0', `DLRatio` smallint(6) NOT NULL default '0', `comment` tinytext NOT NULL, `ipaccess` varchar(15) NOT NULL default '*', `status` enum('0','1') NOT NULL default '0', `create_date` datetime NOT NULL default '0000-00-00 00:00:00', `modify_date` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`,`User`), UNIQUE KEY `User` (`User`) ) TYPE=MyISAM AUTO_INCREMENT=5 ; 五、建立用于pureftpd认证用户的系统信息 建立用于pureftpd认证用户的登陆目录 mkdir /data/ftp/Ftp_Root 建立用于pureftpd认证用户的系统组和系统用户 groupadd pureftpusers -g 2000 useradd pureftpusers -u 2000 -g pureftpusers -d /data/ftp/Ftp_Root -s /sbin/nologin 分配目录权限 chown pureftpusers /data/ftp/Ftp_Root chgrp pureftpusers /data/ftp/Ftp_Root 设置目录只读 chmod 500 /data/ftp/Ftp_Root 如果要设置目录可写,请设置 chmod 700 /data/ftp/Ftp_Root 六、修改pureftpd的配置文件 下面修改配置文件,以适合我们的需要 vi /usr/local/pureftpd/etc/pureftpd.conf MaxClientsNumber 100 MaxClientsPerIP 3 MaxIdleTime 5 MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf # Disallow downloading of files owned by "ftp", ie. # files that were uploaded but not validated by a local admin. AntiWarez no Bind *,21 # Maximum bandwidth for anonymous users in KB/s AnonymousBandwidth 800 # Allow FXP transfers for authenticated users. AllowUserFXP yes NoChmod yes IPV4Only yes 具体的pure-ftpd.conf的配置选项请看这里:[url="http://www.chinaunix.net/jh/15/145846.html"]http://www.chinaunix.net/jh/15/145846.html[/url] 由jeffwu翻译 vi /usr/local/pureftpd/etc/pureftpd-mysql.conf #这里切记要更改MYSQLSocket MYSQLSocket /var/lib/mysql/mysql.sock MYSQLUser pureftpd MYSQLPassword pureftpd #密码在数据表中的存储方式,这里选择加密 MYSQLCrypt any 七、运行pureftpd 在mysql数据表中先加入一个测试用户test,密码也是test INSERT INTO `users` VALUES (1, 'test', encrypt('test'), '2000', '2000', '/data/ftp/Ftp_Root', 0, 0, 0, 0, 0, 0, '', '*', '1', '2005-03-29 20:04:33', '2005-03-29 20:04:33'); 运行pureftpd服务器 /usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf 现在在客户端使用浏览器打开[url="ftp://服务器ip/"]ftp://服务器IP[/url] 使用用户test:test即可登陆,可看到/data/ftp/Ftp_Root下的内容 |