之前给公司配了一台服务器,在服务器上安装了FTP Server。 当时还整理了一个文档,现在放在这个里备份一下。

本文主要描述在UBUNTU Server系统上如何安装FTP服务器。
1. 基本情况说明:
1)服务器ip为192.168.1.164
2)服务器的OS版本为Ubuntu 12.04
3)ftp软件有多种,本服务器使用的软件为vsftpd

2. 打开terminal,首先运行“sudo apt-get update“ 完成更新。如果不运行该命令,直接安装vsftpd,可能会出现"有 几个软件包无法下载,您可以运行apt-get update------"类似这样的错误提示,导致无法安装。

3.安装vsftpd
运行 sudo apt-get install vsftpd

4. check FTP是否真的安装成功
运行sudo service vsftp restart;如果显示结果如下:
vsftp stop/waiting
vsftp start/running,process 6424
就表示安装成功。

5.建立/home/uftp目录作为用户主目录
在terminal运行sudo mkdir /home/uftp

6. 添加用户并设置密码。
1)在terminal运行 sudo useradd -d /home/uftp -s /bin/bash YuRen 即创建用户YuRen。
2) 用户创建成功后运行 sudo passwd YuRen 即可设置密码。连续输入两次密码,密码即设置成功。

7. 修改配置文件
1) 进入/etc/vsftp.conf 。vsftp配置文件比较敏感,空格的多少有时都能使得配置出错,从而使ftp不能正常运行,所以首先使用 cp vsftp.conf vsftp.conf1将配置文件备份,然后就可以放心的修改vsftp.conf
2)在vsftp.conf进行如下配置。注意:a)每一行配置都放在每一行的起始位置,不能有空格。b)“=”两端不能有空格。

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to Ewaybot FTP service.
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
local_root=/home/uftp

8. 修改/home/uftp文件夹的权限
1)运行sudo chmod 777 /home/uftp修改文件夹的权限。

9.创建allowed_users文件
1)在/etc中创建allowed_user文件。使用touch allowed_user命令。
2)打开allowed_user文件,将步骤6创建的用户添加到其中。

10. 重启ftp服务
1)运行sudo service vsftp restart,使新的配置生效。

完成上述配置,ftp服务器配置完成。

然后我们在客户端运行terminal,在客户端运行ftp 192.168.1.164即可正常连接上FTP。
连接成功后出现如下显示:
YuRen@YuRen-ThinkPad-E460:~$ ftp 192.168.31.164
Connected to 192.168.31.164.
220 Welcome to Ewaybot FTP service.
Name (192.168.31.164:YuRen):
输入用户名,回车。
331 Please specify the password.
Password:
输入密码,回车。
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
显示如上的消息,就可以正常使用FTP进行上传和下载了。

ftp客户端常用操作命令如下:
ascii 以ASCII模式传输数据;
binary 以二进制模式传输数据,对可执行程式的传输比须用此;
ls 显示ftp服务器端目录列表;
cd 改动目录;
lcd 改动本机目录;
get 下载文件至本机;
put 上传文件至ftp服务器端;
quit/bye 退出;
? 显示本地帮助信息。

 

在实际安装和使用还会有有些问题,具体的问题和解决方式如下。

常见问题补充:
1) 不要是用匿名方式登陆,匿名方式的配置文件坑比较多,容易出问题。所以在配置文件中,尽量将匿名的相关配置注释掉,使用本地用户。
2)如果发现FTP不同,常见办法如下:
a)先使用ping命令,看使用能ping通服务器。
b)如果能ping通,再使用netstat -ntl看看端口21是否打开。FTP协议占用TCP/IP协议族的端口20和21,其中20用来传输数据,21用来建立连接。核实21端口存在说明FTP确实建立了网络连接。
3)运行sudo service vsftp status可查看ftp的状态,如果发现不是为vsftp start/running状态,说明ftp service没有正常运行。在多数情况下是vsftp.conf 文件配置错误,查找并修改该文件。
4)在使用使用过程如果FTP发生错误,可以通过查看log信息来进行定位。log信息储存在/var/log/vsftpd.log中,通过查看该文件来看log的详细信息。