站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ProFTPd 安装说明
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==安装环境== [[FreeBSD]]环境下ports安装 [[ProFTPd]] ==安装配置== ===安装proftpd=== 和mysql的安装很相似,使用ports安装 :<nowiki>#cd /usr/ports/ftp/proftpd-mysql</nowiki> :<nowiki>#make install</nowiki> 安装的时候会要求选择proftpd要安装的模块,选择好mysql和quota,其他的根据情况选择 然后系统自动下载proftpd-1.3.0rc2.tar.bz2并完成编译和安装。 ===配置proftpd.conf=== 完成上面的安装,proftpd其实已经可以运行了,但是我们还需要根据自己的安装要求进行必要的配置,所以先备份默认的配置文件 :<nowiki>#cp /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf.sample</nowiki> 1、重新编写proftpd.conf,下面是Michael的文件,大家完全照抄就基本可以了 基本配置 :ServerName "Ftp Site" :ServerType standalone :DefaultServer on 设置用户登陆时不显示ftp服务器版本信息 :ServerIdent off 设置ftp服务使用的端口,可以修改 :Port 21 设置ftp目录的权限 :Umask 022 设置系统各种超时时间和重试次数 :MaxLoginAttempts 3 :TimeoutLogin 120 :TimeoutIdle 600 :TimeoutNoTransfer 900 :TimeoutStalled 3600 允许最大的同时连接用户数 :MaxClients 10 允许每个用户主机最大并发连接数 :MaxClientsPerHost 3 :AllowOverwrite no :AllowStoreRestart on :UseReverseDNS off 如果shell为空时允许用户登录 :RequireValidShell off 将用户限制在自己的主目录下 ,这个设置很重要 :DefaultRoot ~ 设置系统最大的进程数,防止dos攻击,默认是30 :MaxInstances 10 设置系统用于运行proftpd服务的用户和用户组(需要后面自己创建) :User FTPUSR :Group FTPGRP 设置对全局的文件可以进行改写 :AllowOverwrite on 设置系统运行日志和文件传输日志 :SystemLog /var/log/proftpd.syslog :TransferLog /var/log/proftpd.transferlog ===MySQL数据库表配置=== ===匿名登陆部分的设置=== :<nowiki>#匿名用户登陆后访问的目录为 ftp用户的主目录</nowiki> :User ftp :Group ftpusers <nowiki>#设置anonymous用户为系统实际用户ftp的别名</nowiki> :UserAlias anonymous ftp :<nowiki>#设置匿名用户同时在线最大用户数</nowiki> :<nowiki>#此用户数受限于前面的全局同时在线用户数</nowiki> :MaxClients 5 :<nowiki>#设置welcome.msg文件作为用户登陆的提示信息文件</nowiki> :<nowiki>#.message文件作为用户每次进入的目录提示信息</nowiki> :DisplayLogin welcome.msg :DisplayFirstChdir .message :<nowiki>#设置一些特殊的权限,比如写文件和登陆限制等 (可以不用)</nowiki> :DenyAll :Order deny,allow :Deny from 127.0.0.1/32 :Allow from all ===磁盘限额Quota设置=== :<nowiki>#启用磁盘限额</nowiki> :QuotaDirectoryTally on :SQLHomedirOnDemand on <nowiki>#磁盘限额单位 b"|"Kb"|"Mb"|"Gb"</nowiki> :QuotaDisplayUnits "Mb" :QuotaEngine on <nowiki>#磁盘限额日志记录</nowiki> QuotaLog "/var/log/proftpd.quotalog" <nowiki>#打开磁盘限额信息 "quote SITE QUOTA"命令</nowiki> :QuotaShowQuotas on ===数据库联接的信息=== :<nowiki>#FTP是数据库名,localhost是MySQL主机名,3306是mysql服务的端口号</nowiki> :<nowiki>#Michael是连接数据库的用户名,testpwd是密码(如果没有密码留空)</nowiki> :SQLConnectInfo FTP@localhost:3306 Michael testpwd :<nowiki>#数据库认证的类型</nowiki> :SQLAuthTypes Backend Plaintext :<nowiki>#指定用来做用户认证的表的有关信息。(将在后面创建)</nowiki> :SQLUserInfo FTPUSERS userid passwd uid gid homedir shell :SQLGroupInfo FTPGRPS groupname gid members :<nowiki>#数据库认证</nowiki> :SQLAuthenticate users groups usersetfast groupsetfast :<nowiki>#proftpd进行的mysql调用语句,别修改任何地方</nowiki> :SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail,files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'" :SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'" :SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies :SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies :QuotaLimitTable sql:/get-quota-limit :QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally :至此,完成了proftpd.conf配置文件的编写 ===完成MySQL数据库表配置=== 完成proftpd.conf配置文件后,需要进行数据库表的配置,包括创建表和插入数据 #登陆mysql或者使用phpmyadmin工具创建数据库 FTP :mysqladmin create FTP ===用户用户组和目录设置=== 完成最后的用户、用户组和目录设置 :创建proftpd服务运行的用户和用户组 :<nowiki>#pw groupadd FTPGRP -g 1000</nowiki> :<nowiki>#pw adduser FTPUSR -u 1000 -g 1000 -d /home/ftp -s /sbin/nologin</nowiki> 2、创建匿名登陆用户映射的系统用户和用户组 :<nowiki>#pw groupadd ftpusers -g 1000</nowiki> :<nowiki>#pw adduser ftp -u 2002 -g 1000 -d /var/ftp/incoming -s /sbin/nologin</nowiki> 运行测试配置系统服务 1、运行proftpd服务 :<nowiki>#/usr/local/sbin/proftpd</nowiki> 2、测试 在任何一台可以访问服务器的机器上测试ftp连接,使用Michael用户和testftp口令登陆,然后运行quote SITE QUOTA命令查看设置的磁盘限额信息 然后测试使用anonymous匿名用户登陆测试 3、监控和调试proftpd服务 :<nowiki>#/usr/local/sbin/proftpd proftpd -n -d 5 -c /usr/local/etc/proftpd.conf</nowiki> 这样在测试和连接ftp的时候,可以在主机上看到所有的proftpd运行信息 4、日志监控 可以使用下面的命令查看系统日志、传送日志等 :<nowiki>#tail -f /var/log/proftpd.syslog</nowiki> :<nowiki>#tail -f /var/log/proftpd.transferlog</nowiki> 5、配置系统自启动proftpd服务 :<nowiki>#vi /etc/rc.conf</nowiki> 加入下面一行 :proftpd_enable=”YES” 这样系统启动的时候会调用/usr/local/etc/rc.d/proftpd.sh脚本启动proftpd服务 ==相关条目== *[[FTP]] *[[FreeBSD]] *[[FileZilla]] *[[vsftpd]] *[[wuftp]] ==参考来源== *[http://www.aboutstudy.net/cms/wenzhangzhongxin/wangluobiancheng/PHP/2008-09-10/553.html 参考来源1] [[Category:ProFTPd]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)