Recently I need to install simple ftp server to provide access. I used Proftpd which is I believe is good (I used in small project). When I starting install, I faced some technical problem and overcome it. So, I think I should write my experience for my personal future reference.
- Install proftpd-basic (follow https://mtxserv.com/vps-server/doc/how-to-install-a-ftp-server-with-proftpd-debian-ubuntu or any other good document available by searching internet)
1.a) Configure to use virtual user
1.b) Add virtual user using “ftpasswd” command - Configure jail option of proftpd configuration (read – https://portal.hostingcontroller.com/kb/a222/how-to-jail-ftp-users-using-proftpd-server.aspx)
Remove # (uncomment) in front of below line
DefaultRoot ~ - Configure passive ports
3.a) At firewall allow 20, 21 and those passive ports (example below)ufw allow 49xxx:49999/tcp
ufw reload - Restart proftpd
-> Test ftp connection
Secure ftp connection with self-signed TLS:
- Follow TLS configuration part only from https://www.makeuseof.com/install-proftpd-on-ubuntu/ or any other good document available to configure TLS
- Replace “TLSProtocol” settings (follow https://serverfault.com/a/1023382)
TLSProtocol TLSv1 TLSv1.1 TLSv1.2
- Restart proftpd
Now test using FTP client, you may see that host name different than server. As because we used self-signed this type of warning we can ignore.