How to: Setup your own Home ftp Server



ftp filezilla

This post is about how to setup/make your own ftp server at home, With your personal laptop or computer. Using this server there are many benefits, First you can access your files from anywhere in the world and also another good thing that you can upload what you want, from anywhere. So, it means that you can work on the go on your own pc in save environment. What you will need is this:

1) A 24hour working ineternet connection (As ftp will get offline if your computer is not connected to internet)
2) My method to convert your computer in ftp server.

Hope, the above things are not a big deal. Lets, start the tutorial!

Get a copy of FileZilla ftp Server :

You can download it from here. After downloading, surely we have to install it, Installation is simple and just required next to be pressed. Now, the following (In the Screen Shot) step will come and the installation will ask that install a service in windows to start the server, you should choose what you want and what is required, well for me the default settings are perfect as the ftp server will be on default. See, Screen Shot below:
default ftp filezilla server
By Default this is the port number i-e 14147 , You can also change the port number, But remember that the port must be opened, In this post in last step I have already shown some short tricks to open the port required, also you can login into your modem or router for port forwarding purpose. (After installing the software, if ftp server doesn't work from outside homegroup then check that whether port is forwarded or not, then if not do it manually like i told).

After Installtion is Complete:

first time run filezilla ftp server

Now, After installation run the filezilla ftp server and when you will run it first time it will ask for the administration password and also port number. Give a password of your choice.Since the server is running on your PC - the same one the admin interface is running on - its address is localhost, or 127.0.0.1, See screen shot!
Note:check off the "Always connect to this server" box to bypass this dialog in the future.

a) Creating Server Users:
Now, the ftp server is up and running but no one can use it since admin haven't granted permissions to anyone, In other you have to add users which will be authorized to use this server. To do this, Go to Edit>>Users and after that hit the add button on right side. Now, Give user name say wamiq as i did, and also give a password as mentioned in screen shot below:
adding user in ftp filezilla server
You can also setup ssl for user login for more security.
After this we have to select permissions , folder to be shared so go to Shared Folders.
share filezilla ftp server
Selecting the read only will allow the user to read and download the data, but if you will select write also then the user is capable of writing the data also.After that press ok. Now your computer is converted into ftp server.

Using Your Own Created ftp server:

Now its time to connect to server and try uploading and downloading.
We have to use a ftp client for this purpose: Get filezilla (recommended) or else there are many other i have recommneded filezilla as it is freeware and in open source, also cuteftp is present but you may have to purchase it. If you don't know how to use filezilla go here (How to Upload files to website Using Filezilla). Now, After downloading and installing any ftp client, in the host field there will be 127.0.0.1 if its homegroup or else use your public ip address, (As your external ip address will allow you to connect from anywhere in the world, But for this you have to port forward from your modem or consult your dsl provider also). Now in ftp client the user name will be the one which we have given above and password will also be the same which we have assigned for user!
ftp connected
As you are seeing that i have successfully accessed my ftp server using ftp client filezilla, So now i can upload and download files using my login or else i can give this to any friend to upload the required files here.

You can also setup unique name for external ip address:

Just sign up to the no-ip.com and get a domain or host for your ip address. But question is here that our ip address is dynamic and to which ip domain name will point, Yes, There is solution by no-ip.com, Just go to downloads and get their dynamic DNS update client and run on PC. It will automatically point that domain to your current ip-address. Inorder to get more and step wise information for setting up domain, You should read the start of this post here (Mapping Domain With Ip and Using Cyber Gate RAT), Where i have used no-ip.com for setting up your own domain name for cyber gate with ip address.

Some Facts regarding security: Since, FTP is not a secure protocol; all the file transfers happen in the clear, which makes them ripe for sniffing (Stealing information). FileZilla does support encrypted FTP access, and I recommend using that or a VPN like Hamachi to secure file transfers over the internet. Also you can go into the server admin interface's settings area to configure FileZilla's secure FTP server setup. Similarly Setup strong passwords for admin as well as users which may contain characters like @,#,$ etc and also numbers like 1,2,3 along with words combination, so that these can't be cracked with brutus or by launching brute force attack easily.