解决
解决问题也很简单在Pure-ftpd的配置文件里修改
# ForcePassiveIP 192.168.0.1
改成
ForcePassiveIP 你服务器的外网IP
这样在Windows的文件管理器里就可以通过 ftp://你的外网IP/ 来访问了。
可是不要高兴得太早。当我顺利的连接以后,发现服务器的中文文件都是乱码的,而我在用客户端连接的时候,这些文件都是正常的,那么接下来继续调查吧。
继续调查
继续调查后发现需要修改配置文件的两个地方,如下:
# FileSystemCharset big5
# ClientCharset big5
改成
FileSystemCharset UTF-8
ClientCharset UTF-8
修改后重起Pure-ftpd服务,再次连接发现又无法连接了。原因是服务器重起失败。那么原因肯定是修改的两处配置有问题了,于是继续调查。
在Pure-ftpd服务编译的时候要加上 `--with-rfc2640` 参数才可以使用以上两个配置参数。因为我使用的是宝塔面板,所以接下来的调查方向就是宝塔的Pure-ftpd服务要怎样重新编译。
在接下来的调查中发现宝塔的Pure-ftpd服务是用的1.0.49版本,在服务器的安装文件中 `/www/server/panel/install/pureftpd.sh` 确实也加了`--with-rfc2640` 参数,那为什么无法使用的呢?在调查无果后,开始翻宝塔的官方论坛,发下了一个帖子帮我解决了这个问题。
该版本好像不支持--with-rfc2640,自行编译该版本的时候显示找不到--with-rfc2640的方法。改用旧版pure-ftpd v1.0.42就可以。修改‘/www/server/panel/install/pure-ftpd.sh’中pure_ftpd_version的参数为“1.0.42”。
卸载:
sh /www/server/panel/install/pure-ftpd.sh uninstall
安装pure-ftpd v1.0.42:
sh /www/server/panel/install/pure-ftpd.sh install