The latest version of ZitaFTP makes it relatively easy to get your file server online, complete with its own domain. That way you can access your files from anywhere in the world, including uploading new files directly into your own machine. No detour via "the cloud," a.k.a., someone else's computers. The video above shows how it's done.

Here's the process in brief:

  1. If you haven't already. Download and install ZitaFTP Server (link)
  2. On the ZitaFTP configuration wizard's "How will this Server be Used?" page, select "A public server that's accessible from the internet," and click "Next"
  3. ZitaFTP will inform you that you need a domain name, dynamic DNS and port-forwarding. We'll set those up now...
  4. Get a domain name from a Dynamic DNS (DDNS) provider (or any registrar, if you have a static IP address). DDNS will keep your domain updated to always point to your computer despite its IP address changing from time to time. I recommend Dynu. It's free, well featured, and doesn't have annoying limitations like needing to log in every 30 days, or your domain gets deleted
    HINT: DDNS needs an update client to be running. If your router has one (and it works), use that one. Otherwise, download Dynu's client. VPN users should adjust their VPN to let the DDNS client bypass the VPN, because you can't use the VPN's IP address for a server
  5. In ZitaFTP click "Next"
  6. Choose a security level, and click the "Submit" button; the default is recommended
  7. On the next page, enter your chosen domain, and other details. Click "Generate" once you're done. This will generate a Certificate Signing Request (CSR)
  8. Copy/download the generated CSR, and submit it to your SSL Certificate Authority (CA). I currently recommend ZeroSSL (affiliate link). They offer free 90 day certificates with unlimited renewals and, unlike LetsEncrypt, you don't need an ACME client (which ZitaFTP doesn't have yet)
    IMPORTANT: Do NOT use ZeroSSL's default option of generating the CSR for you. They'll also generate a private key for your certificate, and you should NEVER give anyone else access to your private key (including the CA). Anyone with access to your private key can potentially spoof your website, and visitors will think they're accessing yours. Instead, use the "Paste CSR" option
  9. Follow the CA's instructions to validate that you do indeed own the domain that you're requesting a certificate for. If you're using ZeroSSL, then choose the DNS (CNAME) validation option. You'll need to add a specific record to your domain's DNS (watch the video above if you're unsure how)
  10. Download the signed certificate from your CA, and click "Next"
  11. Now, upload the certificate and CA bundle into ZitaFTP, and click "Install"
  12. Continue as normal through the configuration wizard. ZitaFTP will tell you how to access the FTP server once you're done
  13. One more step: log in to your router and setup "port forwarding" to forward the ports needed by FTP to your machine. The exact procedure is router-dependent (watch the video for how I set up port forwarding on my DLink router)

Congratulations! All going well, your FTP server is ready, and accessible from anywhere in the world (with an internet connection). The easiest way to test it, is to connect to your server using the domain name via a VPN. This simulates accessing the server from the internet without needing to leave your house/office. Or, it could be a good excuse to go outside and get some exercise. ;-)

Too Complicated?

Please contact me if you'd like an easier way. I have plans to make the process easier but, as always, it's a matter of priorities. Knowing which features people want helps me decide which features should be done first...

 

NOTE: This page contains affiliate links. I earn a commission should you buy via one of those links. The commissions will help fund further development.