# 使用 Docker 部署專案的學習筆記02:<br>架設FTP伺服器與相關設定 ## 1. 安裝 vsftpd - **指令**: - 使用以下指令下載並安裝 vsftpd: ```bash sudo apt install vsftpd ``` ## 2. 配置 vsftpd - **編輯配置文件**: - 使用 VIM 打開配置文件進行編輯: ```bash sudo vim /etc/vsftpd.conf ``` - 以下是需要調整或新增的行: ``` write_enable=YES # 允許寫入, 在line 31, 要記得取消註解以啟用 ``` - 讓FTP一打開就直接跳到自己想要的資料夾: ``` // 在文件尾端新增: local_root=/home/docker // 預設開啟時讀取的路徑 ``` - 重新啟動vsftpd server ``` sudo service vsftpd restart // 重啟 sudo service vsftpd status // 確認ftp server狀態 ``` >[!Caution] **這邊和老師的講義不同** >老師的上課講義主要內容是**分別設定不同的帳號要讀取的路徑** 所以在檔案尾端是設定 `user_config_dir=/var/ftp` 從字義判斷就是讓FTP到`/var/ftp`去讀取**user_config**(不同使用者的設定檔) 也就是**個別user名稱檔案**裡的`local_root=/tmp/owner` > :::warning >### 但是 >目前我們都是自用,**++沒有需要區分權限與資料的需求++** >所以直接在`vsftpd.config`裡設定`local_root`指定預設開啟的目錄就行了 >::: ## 3. 防火牆設定 - **確認防火牆狀態**: - 確認目前啟動的端口: ```bash sudo ufw status ``` - **開放 FTP 端口**: - 讓防火牆開啟ftp port: ```bash sudo ufw allow ftp ``` ## 5. 使用 FileZilla 進行 FTP 連接設定 - 開啟 FileZilla,點擊 "檔案" > "站點管理員"。 - 點擊 "新站點" 並設置以下參數: - **主機**:輸入伺服器的 IP 地址或域名(例如 `192.168.1.100`)。 - **登入類型**:選擇 "一般"。 - **使用者名稱**:輸入 FTP 帳號的使用者名稱。 - **密碼**:輸入該帳號的密碼。 - 切換到 "字元集" - 選擇 "強制使用UTF-8" 以避免亂碼 - 點擊 **連接** 進行測試。 ## 小記 >[!Note] > 1. 資料夾要記得改權限,否則會有無法讀取或寫入的問題 > 2. 預設傳入的資料權限都是0,要記得改 > 3. 如果要傳已經有內容物的資料夾,記得改檔案權限的時候要**勾選包含子目錄** > :::danger > 要**勾選包含子目錄** > 要**勾選包含子目錄** > 要**勾選包含子目錄** > ::: > >很重要,說三遍