NOTE: I wrote this post in Word originally, cutting & pasting images into it. I haven’t yet figure out how to import the Word doc WITH images (short of having to use WordPress’ laborious process of inserting each individual image from my hard drive.)
SO, to get this post with the pictures (highly recommended), just open this Word doc and read the post that way:
POST WITHOUT PICTURES (download the above instead):
Start here: http://lifehacker.com/339887/build-a-home-ftp-server-with-filezilla and read through the instructions to try to get a basic idea of what you’re doing. Then, come back to this guide for some step-by-step instruction to implement what’s in the link.
Step 1) Download & run the FileZilla Server installation package: http://filezilla-project.org/download.php?type=server
– Install with default IP (127.0.0.1) and port (14147) settings. (‘Cause these settings aren’t ‘used’ anywhere else.)
– (!) Configure ‘passive mode’ settings to range above 1024 (ex: 60000 – 61000)
– Set up users & passwords, along with access folders for those users.
- Create a master user for yourself, and maybe another ‘read-only’ one for ‘guests’
Step 2) Windows 7 Firewall: Control Panel > Firewall > Advanced > Out & In: 60000 – 61000, [20, 21]
Windows 7 Firewall settings:
– Must allow the passive ports that are being used to go IN & OUT (Control Panel > Firewall > Advanced …)
– TEST IT: Try to test with another computer on the network (use FileZila Client and enter the home server computer’s IP Address (NOT the web/public IP!), like 192.168.0.2 or .3.
- Figure out your computer/server’s IP address by going to Start (Windows Ribbon) > Run, then type in ‘cmd’:
This opens the command prompt. Type ‘ipconfig’ into the command prompt and hit ‘enter’:
- The ‘IPv4 Address’ is the one you want in this case. Other computers/operating systems might just say ‘IP Address’ or something close. The number in the above case is 192.168.0.3. Yours should always be something like 192.168.0.X.
Step 3) Port forwarding (or, making your router forward to your computer):
You will need to do this if your computer is ‘behind’ a router. I.e.: if you use a router that’s connected to your computer to then connect to the internet
– ‘Port Forwarding’ on your router: http://lifehacker.com/127276/geek-to-live–how-to-access-a-home-server-behind-a-routerfirewall?tag=softwaretop
– Make sure to set up an administrator username & password (write it down somewhere safe so that you don’t forget it!) on your router.
Step 4) Set up a URL to associate with your router’s IP address at freedns.afraid.org
Set up web access to your router/server
– This link gives you an overview of what you’re going to do, but uses a different site than the one I recommend. Read this to understand what you’re doing, then do the same thing at freedns.afraid.org:
- Web access – assigning URL to your server: http://lifehacker.com/124804/geek-to-live–how-to-assign-a-domain-name-to-your-home-web-server?tag=softwarewebpublishing
– I set up a URL at the http://freedns.afraid.org site with the address of w………..com. I chose to use a free subdomain from the list offered by freedns.afraid.org.
– This URL address (w….com) forwards to my router’s IP address (97.126…… in this case):
– You can find your router’s address by opening a web browser window and typing in 192.168.0.1 into your browser address bar and hitting ‘enter’. Then, look for something like ‘Status’ in your router’s configuration page and find the ‘IP Address’ of your router.
– (If I hadn’t blurred part of it out, you could see from the below screenshot that my router’s IP address matches what my ward.ignorelist.com URL is forwarding to, which is the whole point! The URL you set up at freedns.afraid.org must forward to your router, and the router then forwards to your computer’s IP address, which allows you to get all the way to your home server from the internet.)
Step 5) TEST WITH NO FIREWALL
– A) Use http://www.ftptest.net to test with Windows 7 firewall TURNED OFF after getting the web access set up via the http://freedns.afraid.org site (choose your subdomain & then find your network’s public IP (located in your router software’s status by going to (typically) http://192.168.0.1 in your browser) to link it to your new subdomain name.)
– B) Once you’re successful with part A (see screenshot below for what success looks like), turn your Windows firewall back ON and do the test again.
- If you are NOT successful this time, go back to Step 2 and figure out what’s wrong with your firewall settings that’s preventing this from working.
This is what success looks like:
Step 6) Dynamic DNS updates
ONCE THINGS ARE WORKING…
Meaning you can connect from the internet (using the FTP test site) to your server, then you need to set up something to update your IP address that your URL forwards to automatically.
This is because your router’s IP Address is ‘dynamic’, meaning it changes periodically, like when you reset your router and/or modem, for example. In order to keep the IP address that your URL forwards to consistent with your router’s actual IP address, you need a piece of software that runs on your computer which will update freedns.afraid.org periodically with your router’s latest IP address.
Get Dynamic DNS updates for your freedns.afraid.org account:
ALMOST DONE: You now should have everything set up to use unencrypted FTP from your home computer to the internet.
Test this out by setting up the FileZilla client from another computer that’s NOT on your home network (say, your computer at work) to connect to your FTP server using the site address (your freedns.afraid.org URL) and the user credentials that you set up in FileZilla Server in step 1.
Once you have the unencrypted FTP working, take one last step to enable Secure (i.e.: encrypted) FTP, just as a security precaution. You should use Secure FTP anytime you’re sending information back and forth that you wouldn’t want anyone else to be able to see. I recommend ALWAYS using SFTP if you can.
Step 7) MAKE THINGS SECURE (Optional, but highly recommended)
(From FileZilla client, use ‘Explicit TLS’ so that you don’t have to specify a port (21 will still be used)).
Note: I still allowed plain FTP so that I could keep testing, and in case I need to. I created a 4096 bit key for good measure.
IF YOU WANT TO DISABLE YOUR SERVER, OR START IT AGAIN:
To stop/start FileZilla server, CTRL + ALT + DELETE > Windows Task Manager (it appears that the admin login is just for administrative maintenance, and is NOT a starting/stopping of the service itself):