Windows云主機
添加IIS以及FTP服務角色
- 登錄彈性云主機。
- 選擇“開始 > 服務器管理器”。
- 單擊“添加角色和功能”。

- 在彈出的“開始之前”對話框中,單擊“下一步”。
- 選擇“基于角色或基于功能的安裝”,單擊“下一步”。

- 選擇需要部署FTP的服務器,單擊“下一步”。

- 選擇“ Web服務器(IIS)”,并在彈出的對話框中單擊“添加功能”,然后單擊“下一步”。


- 連續單擊“下一步”,到“角色服務”頁面。
- 選擇“FTP服務器” 以及“IIS管理控制臺”,單擊“下一步”。

- 單擊“安裝”,開始部署服務角色。
- 安裝完成后,單擊“關閉”。
創建FTP用戶名及密碼
創建Windows用戶名和密碼,用于FTP使用。如果您希望匿名用戶可以訪問,可以不創建FTP用戶和密碼。
- 在“服務器管理器”中,選擇“儀表板 > 工具 > 計算機管理”。

- 選擇“系統工具 > 本地用戶和組 > 用戶”,在右側空白處右擊,并選擇“新用戶”。


- 設置“用戶名”和“密碼”,此處用戶名以“ftpadmin”為例。
設置共享文件的權限
需要在FTP站點為共享給用戶的文件夾設置訪問及修改等權限。
- 在服務器上創建一個供FTP使用的文件夾,選擇文件夾,并單擊右鍵選擇“屬性”。此處以“work01”文件夾為例。
- 在“安全”頁簽,選擇 “Everyone”,單擊“編輯”。如果沒有“Everyone”用戶可以直接選擇,需要先進行添加。

- 選擇“Everyone”,然后根據需要,選擇“Everyone”的權限,并單擊“確定”。此處以允許所有權限為例。

添加及設置FTP站點
- 在“服務器管理器”中,選擇“儀表板 > 工具 > Internet Information Services (IIS)管理器 ”。

- 選擇“網站”并單擊右鍵,然后選擇“添加FTP站點”。

- 在彈出的窗口中,填寫FTP站點名稱及共享文件夾的物理路徑,然后單擊“下一步”。此處站點名稱以“FTPSERVER”為例。

- 輸入該彈性云主機的公網IP地址以及端口號,并設置SSL,單擊“下一步”。端口號默認為21,也可自行設置 。
- SSL根據需要進行設置。
- 無:不需要SSL加密。
- 允許:允許FTP服務器與客戶端的非SSL和SSL連接。
- 需要:需要對FTP服務器和客戶端之間的通信進行SSL加密。
說明 :當SSL選擇“允許”和“需要”時,需要選擇SSL證書。可以選擇已有的SSL證書,也可以制作一個SSL證書,具體制作證書的方法請參見制作服務器證書。

- 設置身份認證和授權信息,并單擊“完成”。
- 身份認證
- 匿名 : 允許任何僅提供用戶名 “anonymous” 或 “ftp” 的用戶訪問內容。
- 基本 : 需要用戶提供有效用戶名和密碼才能訪問內容。但是基本身份驗證通過網絡傳輸密碼時不加密,因此建議在確認客戶端和FTP服務器之間的網絡連接安全時使用此身份驗證方法。
- 授權
- 允許訪問
- 權限:選擇經過授權的用戶的“讀取”和“寫入”權限。
- 所有用戶 : 所有用戶均可訪問相應內容。
- 匿名用戶 : 匿名用戶可訪問相應內容。
- 指定角色或用戶組:僅指定的角色或用戶組的成員才能訪問相應內容。如果選擇此項,需要在下面輸入框中輸入指定的角色或用戶組。
- 指定用戶:僅指定的用戶才能訪問相應內容。如果選擇此項,需要在下面輸入框中輸入指定的用戶。

- 綁定彈性云主機的私網IP。選擇“網站”,選中創建的FTP站點,單擊“綁定”;在彈出的“網站綁定”窗口單擊“添加”,然后在彈出的窗口中添加彈性云主機的私網IP地址,并單擊“確定”。

可選)配置FTP防火墻支持
如果需要使用FTP服務器的被動模式,則需要配置FTP防火墻支持。
如果天翼云上的服務器需要通過公網IP地址訪問天翼云上的實例搭建的FTP服務器時,需要配置FTP服務器的被動模式。
- 雙擊“FTP防火墻支持”,打開FTP防火墻支持的配置界面。

- 配置相關參數,并單擊“應用”。
數據通道端口范圍:指定用于被動連接的端口范圍。可指定的有效端口范圍為1025-65535。請根據實際需求進行設置。
防火墻的外部IP地址:輸入該彈性云主機的公網IP地址。

- 重啟云主機使防火墻配置生效。
設置安全組及防火墻
搭建好FTP站點后,需要在彈性云主機安全組的入方向添加一條放行FTP端口的規則,具體步驟參見虛擬私有云-安全組-添加安全組規則。
如果配置了“FTP防火墻支持”,需要在安全組中同時放行FTP站點使用的端口和FTP防火墻使用的數據通道端口。
服務器防火墻默認放行TCP的21端口用于FTP服務。如果選用其他端口,需要在防火墻中添加一條放行此端口的入站規則。
客戶端測試
打開客戶端的計算機,在路徑欄輸入 “ftp://FTP服務器IP地址:FTP端口”(如果不填端口則默認訪問21端口) 。彈出輸入用戶名和密碼的對話框表示配置成功,正確的輸入用戶名和密碼后,即可對 FTP 文件進行相應權限的操作。
說明: 如果沒有配置“FTP防火墻支持”,客戶端使用此方法訪問FTP站點時,需要對IE瀏覽器進行設置,才能打開FTP的文件夾。打開IE瀏覽器,選擇“設置 > Internet 選項 > 高級”。勾選“啟用FTP文件夾視圖”,取消勾選“使用被動FTP”。

FAQ
使用Windows系統搭建FTP站點的更多信息請參見微軟官方文檔。
如果設置文件夾的屬性時,沒有“Everyone”用戶可直接選擇,可按照如下步驟添加“Everyone”用戶。
- 在“安全”頁簽,單擊“編輯”。

- 在新彈出的窗口中,單擊“添加”。

- 在新彈出的窗口中,單擊“高級”。

- 在新彈出的窗口中,單擊“立即查找(N)”,然后在搜索結果中選擇“Everyone”并單擊“確定”。

- 單擊“確定”,返回權限窗口。
- 單擊“確定”,完成添加。
- 制作服務器證書。
1)在“服務器管理器”中,選擇“儀表板 > 工具 > Internet Information Services (IIS)管理器 ”。

2)在左側列表單擊服務器,然后在服務器主頁“IIS”區域,雙擊“服務器證書”,進入“服務器證書”頁面。

3)單擊“創建自簽名證書”。
4)輸入證書的名稱,并選擇證書存儲類型,單擊“確定”。
5)創建成功后會在服務器證書界面顯示已經創建的證書。
Linux云主機
安裝vsftpd
- 登錄彈性云主機。
- 執行以下命令安裝vsftpd。
yum install -y vsftpd
回顯如下類似信息時,表示軟件安裝成功。

- 執行以下命令設置FTP服務開機自啟動。
systemctl enable vsftpd.service
- 執行以下命令啟動FTP服務。
systemctl start vsftpd.service
- 執行以下命令查看FTP服務端口。
netstat -antup | grep ftp
回顯如下類似信息。

配置vsftpd
vsftpd安裝后默認開啟了匿名FTP的功能,使用匿名FTP,用戶無需輸入用戶名密碼即可登錄FTP 服務器,但沒有權限修改或上傳文件。用戶如果試圖使用Linux操作系統中的賬號登錄服務器,將會被vsftpd拒絕,但可以在vsftpd里配置用戶賬號和密碼登錄。以下操作以在vsftpd 里配置用戶賬號和密碼登錄FTP服務器為例。
- 執行以下命令創建“ftpadmin”用戶。此處“ftpadmin”用戶為示例,可根據實際情況創建相應的用戶。
useradd ftpadmin
- 執行以下命令并按照提示設置“ftpadmin”用戶密碼。
passwd ftpadmin
- 執行以下命令創建供FTP使用的文件目錄,此處以“/var/ftp/work01”為例。
mkdir /var/ftp/work01
- 執行以下命令將創建的文件目錄所有者改為用于登錄FTP的本地用戶。
chown -R ftpadmin:ftpadmin /var/ftp/work01
- 修改“vsftpd.conf”配置文件。
1)執行以下命令打開配置文件“vsftpd.conf”。
vi /etc/vsftpd/vsftpd.conf
- 按i鍵進入編輯模式。
修改打開的“vsftpd.conf”文件。可根據實際需求選擇將FTP配置為主動模式或者被動模式。如果天翼云上的服務器需要通過公網IP地址訪問天翼云上的實例搭建的FTP服務器時,需要將FTP服務器配置為被動模式。
主動模式需要配置的參數如下:
#設置以下參數,不允許匿名登錄FTP服務器,允許本地用戶登錄FTP服務器,并指定FTP本地用戶使用的文件目錄。
anonymous_enable=NO #不允許匿名登錄FTP服務器
local_enable=YES #允許本地用戶登錄FTP服務器
local_root=/var/ftp/work01 #FTP本地用戶使用的文件目錄
#設置以下參數,限制用戶只能訪問自身的主目錄。
chroot_local_user=YES #所有用戶都被限制在其主目錄
chroot_list_enable=YES #啟用例外用戶名單
chroot_list_file=/etc/vsftpd/chroot_list #例外用戶名單
allow_writeable_chroot=YES
被動模式除了需要配置主動模式所需的所有參數外,還需要配置的參數如下:
#設置以下參數,配置FTP支持被動模式。并指定FTP服務器的公網IP地址,以及可供訪問的端口范圍,端口范圍請根據實際環境進行設置。
listen=YES
listen_ipv6=NO
pasv_address=xx.xx.xx.xx #FTP服務器的公網IP地址
pasv_min_port=3000 #被動模式下的最小端口
pasv_max_port=3100 #被動模式下的最大端口
III.按Esc鍵退出編輯模式,并輸入:wq保存后退出
IV.在“/etc/vsftpd/”目錄下創建“chroot_list”文件。
touch chroot_list
“chroot_list”文件是限制在主目錄下的例外用戶名單。如果需要設置某個用戶不受只可以訪問其主目錄的限制,可將對應的用戶名寫入該文件。如果沒有例外也必須要有“chroot_list”文件,內容可為空。
- 執行以下命令重啟vsftpd服務使配置生效。
service vsftpd restart
設置安全組
搭建好FTP站點后,需要在彈性云主機安全組的入方向添加一條放行FTP端口的規則,具體步驟參見虛擬私有云-安全組-添加安全組規則。
根據FTP的不同模式需要放通的端口如下:
- FTP為主動模式時:端口21。
- FTP為被動模式時:端口21,以及配置文件“/etc/vsftpd/vsftpd.conf”中參數“pasv_min_port”和“pasv_max_port”之間的所有端口。
客戶端測試
打開客戶端的計算機,在路徑欄輸入“ftp://FTP服務器IP地址:FTP端口”(如果不填端口則默認訪問21端口) 。彈出輸入用戶名和密碼的對話框表示配置成功,正確的輸入用戶名和密碼后,即可對FTP文件進行相應權限的操作。
說明: 如果FTP服務器配置為主動模式,客戶端使用此方法訪問FTP站點時,需要對IE瀏覽器進行設置,才能打開FTP的文件夾。打開IE瀏覽器,選擇“工具 > Internet 選項 > 高級”。勾選“啟用FTP文件夾視圖”,取消勾選“使用被動FTP”。
使用瀏覽器訪問 FTP 服務器出錯時,建議您清除瀏覽器緩存后再嘗試。