Add-on APP to myCLOUD
- Build the FTP addon functionality for myCLOUD NAS.
- OPERATING SYSTEM - Raspberry Pi OS with desktop.
- RASPBERRY PI - Raspberry Pi motherboard model 4B 2GB. But you can use Raspberry Pi models 4B 4GB/8GB, 3A+, 3B, 3B+ instead.
- PREQUISITE - you have successfully built myCLOUD NAS on a Raspberry Pi 4.
- SETUP - we'll get it sorted if you have purchased myCLOUD NAS DIY KIT but run into problems of installing and configuring this FTP server.
Avoid missing or stolen USB Flash Drive
Do you use a USB Flash Drive key to carry sensitive data around? Little device but big problem if it falls in the wrong hands. Unlike the old days when devices are mostly offline, easy WiFi access and mobile broadband now offer a great incentive of having your own NAS in terms of storage cost, capacity and security that outweight the benefit of a Flash Drive.
While NAS is a storage device that we talked about in the myCLOUD NAS tutorial, we are going to expand the functionalities and user-friendliness of a FTP remote access server on the same Raspberry Pi 4 already running the NAS.
Key FTP vs NAS similarities and differences
FTP file servers and NAS devices each provide a great way to share files across devices on a network. But the typical FTP file server offers more powerful hardware and greater functionality than a NAS device.
For example, a FTP file server and NAS device both allow you to control who has access to specific files and folders. Administrators accomplish this by creating user groups and giving those groups access to the files they need to do their jobs. But a FTP file server typically offers more configuration options in terms of security and more granular access controls than a NAS device.
In addition to file storage and sharing, NAS devices can also be used to automatically create locally stored backups of your data. Just remember that for the ultimate in data protection, you also need to keep a copy of your critical information stored off site with a cloud backup solution.
We maintaine our data backup storage on two sites, each has a capacity of 32TB on dual harddisk docking station running the myCLOUD OpenVPN, NAS and FTP services on a Raspberry Pi 4. It is a secured, flexible and affordable solution indeed.
What is a FTP server?
File Transfer Protocol is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network.
Most computers today include a windows-based type FTP program that is more PC-oriented and does not require full knowledge of FTP commands.
You can also perform FTP through a browser. For example, bring up Internet Explorer and type in
ftp://yourLoginName@IPaddress
You may also tunnel FTP through OpenVPN for secured remote access, so that you can work with your files and folders as if you were in the local NAS network.
From an End User's Perspective, s/he can only see and access the folder(s) where they have been assigned permission.
Drag and drop to local file system are also supported by FTP client such as FileZilla and most recent browser versions.
File and folder upload download and delete are as simple as a task in Windows explorer.
Power up and get your Raspberry Pi online
Click on the wireless icon then choose the WiFi network name and enter the its secured password.
Open the LXTerminal and update your system
sudo apt update
sudo apt upgrade
That should be enough for the Raspberry Pi preparation.
Verify the presence of the external harddisk drive
sudo fdisk -l
you would expect to see /dev/sda1 at the bottom of the command response.
To install the FTP server
sudo apt install proftpd
Select “standalone” as this option will make your FTP server run 24/7 which allows to speed up the connection unless this FTP server will be used by too many users then it’s recommended to select “from inetd”.

Now, the installation progress is complete and you need to configure your FTP server.

Open the configuration files using sudo command, like the below command:
sudo nano /etc/proftpd/proftpd.conf

Uncomment “Defaultroot” line by removing the #, and that’s if you want to have multiple users on your FTP server.

If you want to use your FTP server without using users & passwords, you will have to uncomment all the lines between "<Anonymous ~ ftp> and </ Anonymous>"

To connect, you will still need to use a username, “anonymous” but without a password.
Use the below command to enable the changes that you had made on your FTP server.
sudo service proftpd reload

We recommend to use FTP client such as “FileZilla”, and connect with it, just like the below screenshot.
