M/s VIKASH TECH - We Write Imaginations to Codes..!!

How to make your old PC a FTP Server ?


If you are having an old PC and want to utilize it in the modern world. You can do it by simply setting it up as a server for keeping your files on it.

FTP stands for File Transfer Protocol. It has been a standard method for transferring files between computers for decades.

Although security measures have been added, FTP is by nature an insecure method for transferring files. However, it can be useful when making files available to multiple users, or when working in a secure and private network.

To setup your follow our How to make your PC a FTP server ? guide below and set your own FTP server, which you can access over the internet.


You need to have

  • A PC / Laptop
  • Internet connection
  • A static public IP (connect with your ISP for this)
  • You need to download and install Cent OS 7 on your PC. For this you can read our guide on How to download and install CentOS 7 ?
  • Access to a user account with sudo privileges
  • The yum package manager, installed by default
  • A text editor of your choice

Without further a do, let’s get started with setting up the FTP server, on your CentOS 7 PC.

Install FTP Service with VSFTPD

How to install FTP Server on CentOS7 with VSFTPD
How to install FTP Server on CentOS7 with VSFTPD

Here we are using the VSFTPD ,which stands for Very Secure FTP Daemon software package. It’s a relatively easy software utility to use for creating an FTP server.

After logging in to the CentOS 7, in the console, start typing the commands as below:

  • To install the FTP services let’s first start with updating the server packages.
sudo yum update

It can take time to update the packages, sit back and let it complete.

  • Install VSFTPD software with the following command:
sudo yum install vsftpd

It can ask you for the permission to download and install the package. Simply type Y and hit Enter and let the process complete.

  • Start the VSFTPD services by hitting the following command
sudo systemctl start vsftpd
  • Setup auto-launch for the VSFTPD services when system reboots
sudo systemctl enable vsftpd
  • Once you are done with the above, you need to setup rules to use the FTP port number 21 in your firewall.
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd –-reload

Run the above code one by one and it should give you a success output for all the three.

Congrats! you have installed your VSFTPD services. Now let’s move forward with configuration of the VSFTPD services.

Configuring VSFTPD

The behavior of the FTP service on your server is decided based on the /etc/vsftpd/vsftpd.conf configuration file.

Let’s first backup the required files so that in case of any configuration failures, we can use the backup.

First of all, create a copy of /etc/vsftpd/vsftpd.conf file

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default

Now, let’s edit the configuration file with the following command:

sudo nano /etc/vsftpd/vsftpd.conf

Set your FTP server to disable anonymous users and allow local users.

Find the following entries in the configuration file, and edit them to match the following:


In above snippet, we are disabling the anonymous user access to secure our server access from unknown users,
We are allowing only local user access
We are allowing logged in users to upload files in the server
Limiting FTP users to their own home directory.

The vsftpd utility provides a way to create an approved user list. To manage users this way, find the userlist_enable entry, then edit the file to look as follows:


You can now edit the /etc/vsftpd/user_list file, and add your list of users. (List one per line.) The userlist_deny option lets you specify users to be included; setting it to yes would change the list to users that are blocked.

Once you’re finished editing the configuration file, save your changes. Restart the vsftpd service to apply changes:

sudo systemctl restart vsftpd

Lets move forward and create our FTP User

Create a New FTP User

sudo adduser testuser
sudo passwd testuser123

The system may prompt you to enter and confirm a password for the new user.

Add the new user to the userlist:

echo “testuser” | sudo tee –a /etc/vsftpd/user_list

Create directory for FTP User access

sudo mkdir –p /home/testuser/ftp/upload
sudo chmod 550 /home/testuser/ftp
sudo chmod 750 /home/testuser/ftp/upload
sudo chown –R testuser: /home/testuser/ftp

This creates a home/testuser directory for the new user, with a special directory for uploads. It sets permissions for uploads only to the /uploads directory.

Now, you can log in to your FTP server with the user you created:
You can use ftp client software like FileZilla to access your server using your server public IP (must have ftp port forwarding to your server IP on your router) as the host name, your username, password and port number 21.

You c


Now you know how to set up and install an FTP server on Centos 7 with VSFTPD. You should be able to login to your server via FTP and start transferring files.

If you still face issues setting up your FTP Server, or require services related to Server Setup, please get in touch with us here, our team will be happy to help you.

Category :


No comments found.

Leave a Reply

Latest Posts

telegram bot

How to send message via Telegram Bot using PHP - Telegram API

Telegram is a great platform for chat and communication purposes. Having a large community and large user base, it is…

SuiteCRM, an open source tool for startups to use from an early stage.

When we talk about businesses in their early stage, it's quite a big deal to choose good management and sales…

How to Implement Google QAuth Authentication | Google Login - PHP MySQL

PHP Google OAuth API allows users to login into a website with their Google credentials. A user with a Google…

How to use Google Two Factor Authentication in your project?

At our end we take security at a priority, implementation of different ways to secure website should be the priority…

%d bloggers like this: