在Linux LAMP(Linux, Apache, MySQL, PHP)環境中搭建FTP服務器,可以使用多種FTP服務器軟件,如vsftpd、ProFTPD或Pure-FTPd。以下是使用vsftpd作為示例的步驟:
首先,確保你的系統是最新的,然后安裝vsftpd。
sudo apt update
sudo apt install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf
。
sudo nano /etc/vsftpd.conf
根據需要修改以下配置項:
listen=YES
:啟用獨立模式。listen_ipv6=NO
:禁用IPv6支持。anonymous_enable=NO
:禁止匿名用戶登錄。local_enable=YES
:允許本地用戶登錄。write_enable=YES
:允許FTP寫操作。chroot_local_user=YES
:將本地用戶限制在其主目錄中。allow_writeable_chroot=YES
:允許chroot目錄可寫。保存并退出編輯器。
使配置生效。
sudo systemctl restart vsftpd
創建一個新用戶并設置密碼。
sudo adduser ftpuser
sudo passwd ftpuser
按照提示輸入密碼。
確保防火墻允許FTP流量。
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # FTPS數據連接
sudo ufw enable
使用FTP客戶端(如FileZilla)連接到服務器。
為了安全起見,可以配置vsftpd使用SSL/TLS。
sudo apt install certbot
sudo certbot certonly --standalone -d yourdomain.com
按照提示完成證書獲取過程。
編輯 /etc/vsftpd.conf
,添加以下配置:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
保存并退出編輯器,然后重啟vsftpd服務。
sudo systemctl restart vsftpd
現在,你的FTP服務器應該已經搭建完成,并且可以通過SSL/TLS進行安全連接。