在Window2008上搭建 Apache FTPServer

在Window2008上搭建 Apache FTPServer

windows2003马上要停止维护了,时间好像是在2015年5月7日。阿里云希望用户能够升级服务器,刚好公司的新项目马上要上线了,所以就尝试了一下将云服务器升级到Windows2008.

是一个小项目,所以生产环境也比较简单:

  • Java7
  • Tomcat
  • Mysql
  • FTP服务器(选择的Apache FTPServer)

别的安装没什么说的,和在Windows2003上是一样的。具体说说安装FTP的问题。

下载

下载个人建议不管下载什么,都最好去官方下载,特别是开源的项目,Apache FTPServer的下载地址是:下载

安装

安装非常简单,解压就可以了。简单看一下目录:

  • res 配置的主要文件夹
  • common Jar包和类
  • bin 工具

我们主要是学习res就可以了,别的不用关心,res的里面的目录:

  • conf 该目录下主要存放于FtpServer相关的配置
  • home Ftp服务器上传的文件默认就保存在这里,可以通过配置来修改
  • log 日志
  • 剩下的文件不用太在意

配置

其实对于全栈工程师来说,不用太纠结于FtpServer的细节,能配置能运行,能帮我们上传文件和下载文件就行了。所以主要是要学会配置。

conf目录

users.properties,该文件主要是对FtpServer的用户进行配置。

#用户名就是admin(可以改),密码明显是加过密的,暂时不用管,一会讲
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3
#上传文件的目录
ftpserver.user.admin.homedirectory=./res/home
#当前用户可用
ftpserver.user.admin.enableflag=true
#是否具有上传的权限
ftpserver.user.admin.writepermission=true
#最大登陆数量
ftpserver.user.admin.maxloginnumber=0
#同IP登陆用户数量
ftpserver.user.admin.maxloginperip=0
#空闲时间为300秒
ftpserver.user.admin.idletime=0
#上传速度限制
ftpserver.user.admin.uploadrate=0
#下载速度限制
ftpserver.user.admin.downloadrate=0

再来看ftpd-typical.xml文件,打开这个xml文件,找到Server根目录,默认的Server元素只有一个id属性,给它添加几个属性和值,然后修改端口(不修改也行),修改后的ftpd-typical.xml文件为:

<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
       http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
       "
    id="myServer"
    max-logins="20"
    anon-enabled="false"
    max-anon-logins="0"
    max-login-failures="3"
    login-failure-delay="30000"
    >
    <listeners>
        <nio-listener name="default" port="2121">
            <ssl>
                <keystore file="./res/ftpserver.jks" password="password" />
            </ssl>
        </nio-listener>
    </listeners>
    <file-user-manager file="./res/conf/users.properties" encrypt-passwords = "clear" />
</server>

修改后,根据属性名可以看到,匿名用户被禁用,而且去掉了密码加密 encrypt-passwords = "clear" ,然后修改users.properties中admin的密码,是什么密码就直接设置成什么就行了。到这里配置就完成了。

运行

运行很简单,如果不考虑将FtpServer安装成系统服务,那么打开命令行,将目录切换到FtpServer的bin目录,然后输入ftpd.bat res/conf/ftpd-typical.xml就完成了。

为了方便使用,一般做法是,在bin目录下,建立一个run.bat文件,将刚才的命令拷贝进入,然后把这个批处理文件发送到桌面,以后就直接可以使用了。运行后,如果出现:ftp-server started 的字样,那就成功了。

问题

我在运行正常后,出现了两个问题(Window2008系统)

  1. 这个服务无法访问,说白了就是端口没有开放
  2. 开放端口后,无法读取目录,读写被拦截

开放端口

这个其实也很简单,主要是你要确认是不是这个原因。一般做法是先查看机器上的端口运行情况:

  1. Windows查看所有的端口 netstat -ano
  2. 查询指定的端口占用 netstat -aon|findstr "提示的端口"
  3. 查询PID对应的进行进程 tasklist|findstr "PID"
  4. 然后我们输入命令taskkill /f /t /im 程序名即可

确认端口正常,那一般就是防火墙的问题了

防火墙

右击我的电脑——管理——配置——高级安全Windows防火墙——入站规则,然后添加规则,根据提示去填写就行了,FTP也属于TCP,选TCP就行了,别都是“允许”或者“是”就完成了(内网权限,可以在选项卡中设置作用域)。完成以后,发现,客户端可以连接了,但是无法读出目录。应该还是被阻止了,真实一波三折啊。

控制面板——Windows防火墙——允许程序或功能通过Windows防火墙,然后点击“允许运行另一程序”,然后浏览,那么问题来了,选择哪个程序呢?对,不是FtpServer,而是Java,因为FtpServer就是Java写的,那么是哪个Java呢?因为JDK里面有一个,JRE里面也有一个,这就要看你的具体环境了,总之是选择一个 java.exe

好了,再用客户端连接一次,OK了!(如果还不行,那就在出站规则里面,再添加规则,把对应的端口再添加一次)

时间: 2024-10-05 23:43:03

在Window2008上搭建 Apache FTPServer的相关文章

(转载)Windows 上搭建Apache FtpServer

因工作需要,最近经常接触到FTP,今天我来介绍一个开源的FTP服务器,那就是Apache FTPServer,Apache FTPServer是一个100%纯Java的FTP服务器. 它的设计是基于现有的开放式协议的完整和便携式FTP服务器引擎解决方案.FTPServer可独立运行作为Windows服务或Unix/ Linux后台程序或是被嵌入在Java应用程序中.接下来介绍一下如何在Windows环境下安装Apache FTPServer: 第一步:下载Apache FTPServer 可以到

Mac OS X上搭建Apache、PHP、MySQL的Web服务器

在Mac OS X上搭建Apache.PHP.MySQL的Web服务器开发环境. 工具/原料 Mac OS X 10.10 HomeBrew软件 方法/步骤 1. 如何开启Apache服务器? 开启Web服务器的方法有两种: 一种是:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”: 另一种:通过在terminal终端直接运行Apache的启动命令来打开:sudo apachectl start. 我

MAC OSX10.10上搭建Apache,PHP,MySQL5.6.22,phpMyAdmin开发环境

用惯了在Windows上一个appserv或phpStudy压缩包搞定,要在MAC上捣腾一个PHP开发环境还不大习惯.但自己亲自配一下环境还是有所收获的.众所周知OSX上自带了apache和php,所以这两个搞起来还比较顺利.装MySQL的最新版5.6.22版颇费周折,本文详细记录之. apache的配置 apache已经自带了,只需如下三个命令就可以了. 开启apache服务 sudo apachectl start 停止apache服务 sudo apachectl stop 重启服务 su

MAC OSX10.10上搭建Apache,PHP,MySQL5.6.22,phpMyAdmin开发

Get Apache, MySQL, PHP and phpMyAdmin working on OSX 10.10 Yosemite May 1, 2015 332 Comments Get your Local Web Development Environment Up & Running on OSX 10.10 Yosemite With Apples' new OSX 10.10 Yosemite out of the bag, getting the AMP stack up an

在Mac上搭建带ssl协议和域名指向的Apache服务器

顾名思义,就是要在苹果电脑上搭建 Apache 服务器,并且支持 https 协议,能用指定域名访问(有些开发调试需要注册域名,比如调试微信JS-SDK),当然最好能在手机端进行调试.首先,Mac 系统自带 Apache 服务器,只需在终端输入 sudo apachectl start 回车即可开启 Apache,那么我们现在先给服务器绑定域名,然后再设置 ssl 协议,最后用 Charles 实现手机访问. 绑定域名 1.打开访达编辑  /private/etc/hosts  文件,在该文件中

QT Creator 加 apxs 搭建Apache模块开发环境

一 概述: 本文说述的是在苹果机器上搭建Apache模块开发环境的方法,选用的IDE是QT Creator.实质上,我最开初是选用CodeBlocks进行搭建,并且搭建成功了.但CodeBlocks当前的13.12版本在Mac的机器上很不稳定(其官网就特别地说明过不一点).我使用时发现其启动较慢,运行过程中老是闪退等问题,于是才改用QT Creator.这里要声明的是,我在Windows及Linux上使用CodeBlocks,其表现很稳定,功能也是很强的,所以我才第一个选他.本文并不会涉及Apa

基于Cent OS7搭建apache网站后的访问控制配置详解

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址.网段.主机名或域名.使用名称"all"时表示任意地址. 安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114 1.客户机地址限制: 限制策略的常用格式有下面几种: Require all granted:

在Linux上用Apache搭建Git服务器

在Linux上用Apache搭建Git服务器 最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 Apache版本:Apache/2.2.15 Git版本:git 1.7.1 Git访问方式:基于http的基本验证(非SSL) Apache的安装 1. 安装Apache软件:yum install httpd 2. 设置Apache在服务器启动时运行:chkconfig --levels 235 h

RHEL6.4下搭建apache和subversion(SVN)

1.说明 rhel6.4系统下搭建apache+svn 2.实现 1)在服务器上安装配置SVN服务: 2)SVN服务支持svnserve独立服务模式访问: 3)SVN服务支持Apache的http模式访问. 3.安装svn服务器 [[email protected] ~]# yum install -y subversion [[email protected] ~]# rpm -qa|grep subversion subversion-1.6.11-15.el6_7.x86_64 4.安装a