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

20191214FTP服务器搭建

title:FTP服务器搭建date:2019-12-1415:34:19updated:2019-12-1415:34:19categories:[服务器,搭建][网络]tags

title: FTP服务器搭建
date: 2019-12-14 15:34:19
updated: 2019-12-14 15:34:19
categories:

  • [服务器, 搭建]
  • [网络]
    tags:
  • FTP
  • 服务器
目录
  • 什么是FTP服务器
  • 本地FTP服务器搭建(简易版)
  • FTP服务器发布至外网(Serv-u版)
什么是FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

软件种类

  1. Server-U
  2. FileZilla
  3. VsFTP
  4. IIS FTP

工作模式

FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP 工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。主要有两种工作模式:

  1. 主动模式(PORT)
    主动模式下,客户端随机打开一个大于1024 的端口向服务器的命令端口 P,即 21 端口,发起连接,同时开放N +1 端口监听,并向服务器发出 “port N+1” 命令,由服务器从它自己的数据端口 (20) 主动连接到客户端指定的数据端口 (N+1)。
    FTP 的客户端只是告诉服务器自己的端口号,让服务器来连接客户端指定的端口。对于客户端的防火墙来说,这是从外部到内部的连接,可能会被阻塞。

  2. 被动模式(PASV)
    为了解决服务器发起到客户的连接问题,有了另一种 FTP 连接方式,即被动方式。命令连接和数据连接都由客户端发起,这样就解决了从服务器到客户端的数据端口的连接被防火墙过滤的问题。
    被动模式下,当开启一个 FTP 连接时,客户端打开两个任意的本地端口 (N > 1024 和 N+1) 。

总结

在主动模式下:FTP服务器的控制端口是21,数据端口是20,所以在做静态映射的时候只需要开放21端口即可,他会用20端口和客户端主动的发起连接。

在被动模式下:FTP服务器的控制端口是21,数据端口是随机的,且是客户端去连接对应的数据端口,所以在做静态的映射话只开放21端口是不可以的。此时需要做DMZ。

本地FTP服务器搭建(简易版)

参考资料:https://www.cnblogs.com/popfisher/p/7992036.html

第一步:配置IIS Web服务器

  • 1.1 控制面板中找到“程序”并打开

  • 1.2 “程序”界面找到“启用或关闭Windows功能”并打开

上面两步也可以简化为一步:按【Win + R】快捷键打开运行对话框,输入“optionalfeatures”后,按回车键

  • 1.3 从“启用或关闭Windows功能”弹窗中找到Internet Information Services(或者中文版Internet信息服务)并打开

  • 1.4 配置IIS并点击确定
    《2019-12-14-FTP服务器搭建》

第二步:配置IIS Web站点

  • 2.1 开始菜单搜索“IIS”并点击进入IIS管理器(Internet Information Services (IIS)管理器)

简化操作:按【Win + R】快捷键打开运行对话框,输入“inetMgr.exe”后,按回车键

  • 2.2 新建FTP站点

    • 2.2.1 新建FTP服务器 根目录文件夹

    这步就是你随便找个位置新建一个文件夹,这个文件夹可以随意放置,没有特定需要,当然,尽量不要放在系统盘。

    • 2.2.2 查看本机ip地址,后续访问Ftp地址需要用到(打开cmd输入ipconfig)

    本机ip地址是IPv4 地址,当然,可能有些人的电脑连接了很多地址,那就要看你当前用的是无线局域网适配器还是以太网,以及更加细致的分类。

    • 2.2.3 IIS网站管理器界面左边导航栏找到“网站”,右键弹出菜单,在弹出菜单中点击“添加FTP站点”

    • 2.2.4 配置网站(网站名称:FtpSite 物理路径:E:\ftpserver)

    这里,名称随意,物理路径就是刚才你的新建文件夹的路径。

    • 2.2.5 IP 端口号 SSL设置

    本机IP地址(从下拉菜单选择):此处是你的IP地址
    端口号是21,要不要自动启动(开机就启动)看你自己
    SSL设置为无SSL,除非你有SSL,并且知道怎么用了。
    《2019-12-14-FTP服务器搭建》

    • 2.2.6 身份验证和授权信息设置

    为了方便测试,此处身份验证先设置为匿名(以后可以更改),授权 允许所有用户,权限 读写都打勾。
    《2019-12-14-FTP服务器搭建》

第三步:测试FTP站点(先在 根目录文件夹,随便放一个文件)

  • 3.1 浏览器或者文件管理器地址栏输入ftp地址(ftp://192.168.0.105) ,别傻傻地复制粘贴,输入你自己的IP,注意前缀ftp://

  • 3.2 IIS管理器中的FTP身份验证里面配置身份认证
    在FTP的管理栏中,打开FTP身份验证

此处根据你自己的需要进行设置,基本身份验证是根据你电脑中的用户访问的,匿名身份验证是指任何人都可以访问。
《2019-12-14-FTP服务器搭建》

  • 3.3 IIS管理器中的FTP授权规则

在FTP的管理栏中,打开FTP授权规则
在右边操作栏里,添加允许规则添加拒绝规则,根据自己需要,设置相应规则。
《2019-12-14-FTP服务器搭建》

  • 3.4 配置FTP站点用户名和密码
    • 3.4.1 此电脑(桌面计算机图标右键)—>管理->本地用户和组->用户->新建一个用户,并设置密码
      《2019-12-14-FTP服务器搭建》
      《2019-12-14-FTP服务器搭建》

    细心的你可能已经发现这里的账户就是我们计算机的账户,所以说访问你的FTP服务器的账号实际上是你的电脑用户账号。
    我们使用自己登录电脑的用户名和密码来登录FTP站点,不用新建这个test用户都可以。

结语

到此一个简单的FTP服务器搭建成功,同一个局域网内其他人可以访问到你的电脑了,可以相互传输文件。当然这只是局限于局域网,如果想要在任何一台联网的电脑上访问到这个FTP文件服务器,那紧接着下面的教程吧!

FTP服务器发布至外网(Serv-u版)

参考资料:
https://blog.csdn.net/suliang5158/article/details/79273099
https://jingyan.baidu.com/article/e75aca85634b68142edac6f2.html
https://blog.csdn.net/wz947324/article/details/80063061
https://blog.csdn.net/superdog007/article/details/48787049

工具及环境:

  1. 系统:Windows Server2012R2

  2. 软件:Serv-u(MFT Server 15.1.2)

百度云 链接: https://pan.baidu.com/s/1QrqlfzFIcP-y1YD6981CbQ 提取码: kja7

  1. 环境配置:
  • 如果是购买阿里云的服务器的话,必须还得在阿里云后台开放指定端口!
  1. 登录阿里云,知道服务器控制台页面,左侧菜单栏有个 安全组 的子菜单
  2. 安全组中添加两个规则:
    开放20-21端口、1024-65535端口
  • 目前(2019/12/14),我在腾讯云上没遇到这个问题,是可以直接使用的。

Serv-U的安装与配置

  1. 打开SU-FTP-Server-Windows-v15.1.2执行安装,选择中文(简体)
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》

  2. 启动Serv-U管理控制台,进行域配置
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》

注意这里的IPv4地址填写你自己FTP服务器所在的内网IP
《2019-12-14-FTP服务器搭建》

  1. 使用向导创建匿名用户
    《2019-12-14-FTP服务器搭建》
    这里点击后,前往域下面的用户,在用户里找到向导,点击进入。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ni73SN1z-1579322643614)(http://139.196.40.21:88/img/2019-12-14-FTP%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA/3333.jpg)]
    《2019-12-14-FTP服务器搭建》

  2. 新建域用户,添加域管理员
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    选择域管理员用户,双击编辑该用户,进入’目录访问’标签,添加如图(域管理员3)两个路径。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    同理,也可以设置匿名用户的目录访问权限

  3. 解决FTP服务器在浏览时出现中文乱码的问题

  1. 下面选择“限制和设置”——“FTP设置”——“用户默认设置”中找到OPTS UTF8命令,右击禁用此命令。
  2. 点击下面的“全局属性”——高级选项”里,把“对所有已收发的路径和文件名使用UFT-8编码”前面的钩去掉。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    这样,在上传或浏览FTP服务器时就不会出现中文乱码了。

发布至外网(云服务器)

  1. 配置监听器,指向公网IP
    《2019-12-14-FTP服务器搭建》
  2. 对ftp服务器下的监听器进行修改
    《2019-12-14-FTP服务器搭建》
  3. 设置PASV端口范围(就是服务器向外发送数据用端口)
    《2019-12-14-FTP服务器搭建》

到这里,应该是可以让你在其他电脑上访问你搭建的FTP服务器了,访问路径是ftp://此处填写你的公网IP

FTP绑定域名

添加域名解析
进入你购买域名的服务商控制台,在域名管理中添加一个域名解析。选择A记录,填写二级域名前缀,记录值为你的公网ip。
然后在ftp服务器空间后台绑定这个域名,这样的话等域名解析生效了,那么就可以用域名访问ftp服务器以及里面的内容了。
访问地址为:ftp://此处填写你的域名

有可能出现访问不到的情况,可能是你的云服务器还没备案,先去备案吧。

总结
  1. PASV端口范围
    被动模式(PASV)下,有数据要传输时,服务器会打开一个数据端口(并处于监听状态),然后告知客户端,客户端连接这个数据端口发送数据。但是数据端口是随机的,那么服务器该如何将这些随机数据端口映射到公网的路由器上呢?总不能让内部网的一台机器完全暴露到公网上吧,虽然确实有这样的方案(称之为DMZ主机),但这绝对是最愚蠢的选择。
    虽然数据端口是随机的,但Serv-U可以指定随机的范围。打开Serv-U管理控制台 > 管理服务器 > 服务器限制和设置 > 服务器设置 。在“设置”选项卡里找到“PASV端口范围”,就是上面的配置端口那张图。只需要把这些指定的端口映射出去就可以了。

  2. PASV IP地址
    这是全文中想要发布至外网的关键所在。打开Serv-U管理控制台 > 你自定义的域名 > 域详细信息 > 监听器 > 编辑 ,在PASV IP地址或域名中设置公网IP即可。


推荐阅读
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Ionic微信开发之环境配置
    在开发微信版的H5页面时,如果需要正常调用微信公众号的开放接口(测试或者发布情况),根据官方要求需要保证网页域名和后端维护的一致。因此,进行真服测试就显得很有必要。WebStorm ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • FTP服务ftp的报错及用户管理
    ftp服务常见报错530报错认证失败(密码错误或者服务端拒绝)550服务本身未开启553文件系统不可写(权限问题)500服 ... [详细]
  • 用lvm+vmware+kickstart实现系统自动安装和快照安装
    由于我的机子是32位,装不了64位系统,所以无法使用kvm,只能用vmware了,可是vmware安装使用自带的autoinst.iso实现自动安装,无法实现我的需求,经过研究我使用kic ... [详细]
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社区 版权所有