热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ProFTPd服务器的安装和配置

http://www.proftpd.org/下载最新版本1.将刚刚下载的proftpd解压缩:[root@tetroot]#wget\http://ftp.nsysu.edu.tw/Unix/FTP/proftpd/distrib/source/proftpd-1.3.3.tar.gz[root@testroot]#
     http://www.proftpd.org/ 

下载最新版本

1.将刚刚下载的proftpd解压缩:

[root@tet root]# wget \

>  http://ftp.nsysu.edu.tw/Unix/FTP/proftpd/distrib/source/proftpd-1.3.3.tar. gz

[root@test root]# cd /usr/local/src

[root@test src]# tar -zxvf /root/proftpd-1.3.3.tar.gz

# ...(略)...会主动产生proftpd-1.3.3的目录

[root@test src]# cd proftpd-1.3.3

#在这个目录底下的 INSTALL 请详细的阅读,里面有安装的几个重要资讯!


2.进行编译前的参数设定:

[root@test proftpd-1.3.3]# ./configure --prefix=/usr/local/proftpd \

> --enable-shadow --enable-autoshadow \

> --with -modules=mod_ratio:mod_readme:mod_wrap

#请注意,那个prefix表示我预计要安装proftpd的目录;

#至于--enable-shadow与--enable-autoshadow则是预计要以

#系统的/etc/shadow做为我的FTP登入时的密码验证档案!

#此外,还加入许多的支援模组,会让我们的Proftpd变的更活泼!


[root@test proftpd-1.3.3]# make && make install

#经过这个步骤之后,你的proftpd就会安装在/usr/local/proftpd之内,

#其中,设定档在/usr/local/proftpd/ etc/proftpd.conf !

#至于说明档(man pages)则在/usr/local/proftpd/man当中!


3.设定一些查询的相关功能!

[root@test proftpd-1.3.3]# vi /etc/man.config

#加入底下这一行,这样才能以man来查询指令的用法!

MANPATH /usr/local/proftpd/man

4.设置xinetd 来启动proftpd

事实上,目前大部分的FTP daemon 多是以super daemon 来启动的!所以这里我们也直接以xinetd 来设定proftpd 吧!毕竟多了一层管理,会更安全的啊!^_^!设定的方法也真是很简单~只要编辑xinetd 底下的proftpd 以及proftpd.conf 档案里面的一些内容即可!

[root@test root]# vi /etc/xinetd.d/proftpd

service ftp

{

  disable         = no

       flags = REUSE

       socket_type = stream

       wait = no

       user = root

  server          = /usr/local/proftpd/sbin/proftpd

       server_args = -c /usr/local/proftpd/etc/proftpd.conf 

       log_on_success += DURATION USERID

       log_on_failure += USERID

}

#上面的重点在于两行粗体字的地方!尤其是server =..那一行!

#由于我们是使用Tarball安装的,自然就以我们的档案放置目录为主,

#如果您使用RPM安装,这里就不太相同??

#另外,那个server_args后面接的则是设定档的档名咯!


[root@test root]# vi /usr/local/proftpd/etc/proftpd.conf

#找到底下这个设定值:

ServerType standalone

Group nogroup

#因为我们的系统预设并没有nogroup这个群组,所以必须要将他改成

#系统里面有的群组才行呐!而伺服器启动的方式有super daemon与 

# stand alone ,所以:

ServerType inetd

Group nobody


[root@test root]# /etc/rc.d/init.d/xinetd restart

[root@test root]# netstat -tlnp

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 8483/xinetd

#呵呵!21这个埠口出现了!理论上没有问题,不过还是需要分析一下

# /var/log/messages这个档案的内容才行喔!

proftpd配置:

# This is a basic ProFTPD configuration file (rename it to

# 'proftpd.conf' for actual use.  It establishes a single server

# and a single anonymous login.  It assumes that you have a user/group

# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"

ServerType                      standalone

DefaultServer                   on

UseReverseDNS                   off

IdentLookups                    off

AuthPAM                         off

RequireValidShell               off

UserPassword username1 password1

UserPassword username2 password2

#其中password1可以用apache2自带的htpasswd -n username1 自动生成

# Port 21 is the standard FTP port.

Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files

# from being group and world writable.

Umask                           022

# To prevent DoS attacks, set the maximum number of child processes

# to 30.  If you need to allow more than 30 concurrent connections

# at once, simply increase this value.  Note that this ONLY works

# in standalone mode, in inetd mode you should use an inetd server

# that allows you to limit maximum number of processes per service

# (such as xinetd).

MaxInstances                    30

# Set the user and group under which the server will run.

User                            nobody

Group                           nobody

# To cause every FTP user to be "jailed" (chrooted) into their home

# directory, uncomment this line.

DefaultRoot /your_project

# Normally, we want files to be overwriteable.

AllowOverwrite          on

# Bar use of SITE CHMOD by default

  DenyAll

AllowUser username1

AllowUser username1

  DenyAll

# A basic anonymous configuration, no upload directories.  If you do not

# want anonymous users, simply delete this entire section.

  User                          ftp

  Group                         ftp

  # We want clients to be able to login with "anonymous" as well as "ftp"

  UserAlias                     anonymous ftp

  # Limit the maximum number of anonymous logins

  MaxClients                    10

  # We want 'welcome.msg' displayed at login, and '.message' displayed

  # in each newly chdired directory.

  DisplayLogin                  welcome.msg

  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot

 

    DenyAll

 


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
author-avatar
翻版的袁城
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有