Linux vsftpd与Apache可通过以下方式协同工作:
基础集成(文件共享)
# Debian/Ubuntu
sudo apt install vsftpd apache2
# CentOS/RHEL
sudo yum install vsftpd httpd
/etc/vsftpd.conf,启用本地用户登录并设置主目录(如local_root=/var/www/html),确保Apache用户(如www-data)有权限访问该目录。sudo systemctl restart vsftpd apache2
通过Apache反向代理FTP
/etc/apache2/sites-available/000-default.conf),添加反向代理规则:<VirtualHost *:80>
ServerName your_domain.com
ProxyPass /ftp http://127.0.0.1:21
ProxyPassReverse /ftp http://127.0.0.1:21
</VirtualHost>
(注:vsftpd默认使用21端口,需确保防火墙放行该端口。)增强安全性
ssl_enable=YES,并配置证书路径。ufw或firewalld放行FTP端口(21)及被动模式端口范围。用户权限管理
/etc/pam.d/vsftpd,添加auth required pam_unix.so等规则。chroot_local_user=YES将用户限制在主目录。注意:
chown和chmod命令设置。参考来源: